asm

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 6, 2026 License: MIT

README

asm

AI Agent Skills Manager CLI written in Go.

asm manages local AI agent setups in a repository using a Git-like hidden store (.asm).

Key Concepts

  • Working tree: .{agent}/skills/{skillName} plus any additional files under .{agent}
  • Local metadata/object store: .asm/
  • Versioning model:
    • --version 0 = latest
    • --version 1 = previous
    • larger number = older

Local Storage Layout

.asm/
  state/current.json
  objects/<hash-prefix>/<hash>
  snapshots/<snapshot-id>.json
  refs/agents/<agent>/versions.json
  refs/skillsets/<skillset>/versions.json
  locks/write.lock

Commands

Apply
asm apply --agent <agent_name>
asm apply --agent <agent_name> --skill crud_skill,code_review_skill
asm apply --agent <agent_name> --version 0
asm apply --skillset <skillset_name>
asm apply --skillset <skillset_name> --version 0

Behavior:

  • If --skill is omitted, interactive skill picker opens (arrow keys + space).
  • Pressing Enter with no selection applies all skills.
List
asm list --agent
asm list --agent <agent_name> --skill
asm list --skillset
asm list --agent <agent_name> --version
asm list --skillset <skillset_name> --version
Publish
asm publish --skillset <skillset_name>

Creates a new skillset version from current .{agent} folder state.

Update
asm update
asm update --skillset
asm update --skillset <skillset_name>
  • asm update: create new version for current agent.
  • asm update --skillset: update current skillset (from state), error if none.
  • asm update --skillset <name>: update named existing skillset, error if not found.
Delete Version
asm delete-version --agent <agent_name> --version <version_no>
asm delete-version --skillset <skillset_name> --version <version_no>

Uses relative version indexes and accepts version position shifts after deletion.

Build and Run

go build ./cmd/asm
./asm --help

Install (Go)

From source repository:

go install ./cmd/asm

Or by module path:

go install github.com/BaoLe106/asm/cmd/asm@latest

Packaging and Releases

  • .goreleaser.yaml builds Windows/Linux/macOS binaries.
  • Homebrew formula generation is included (configure repository owner/name first).

Release with goreleaser:

goreleaser release --clean

Snapshot build:

goreleaser release --snapshot --clean

Helper Scripts

  • scripts/build-all.sh
  • scripts/build-all.ps1
  • scripts/install.sh
  • scripts/install.ps1

Notes

  • This is a starter pack with a placeholder GC implementation for unreferenced object cleanup.
  • All state is local to the repository (.asm) similar to Git local metadata.

Directories

Path Synopsis
cmd
asm command
internal
app
cli
ui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL