CLI for AIpkg — a registry for AI commands, skills, prompts, sub-agents, rules, and boxes.
- Website: https://aipkgs.com
- CLI docs: https://aipkgs.com/docs/cli
- Browse packages: https://aipkgs.com/packages
npx @aipkgs/cli init
npx @aipkgs/cli cmd org443/search-aipkgs
npx @aipkgs/cli mcp add linear --url https://mcp.linear.app/mcp.
├── aipkg.json — project manifest + declared deps
├── aipkg.lock — pinned versions and sha256 for each dep
├── aipkgs/ — source of published AIpkgs
│ ├── cmds/
│ ├── skills/
│ ├── rules/
│ └── subagents/
└── packages/
├── archive/ — tarball + manifest format for the registry
├── cli/ — the `aipkg` CLI (@aipkgs/cli)
└── placement/ — writes installed assets into tool-specific dirs
Defines the archive format (aipkg.json manifest + assets) that is packed into a tarball and uploaded to the AIpkg registry. Handles manifest parsing/validation, ref resolution, and tarball read/write for the supported archive types (box, cmd, skill, rule, subagent).
The user-facing aipkg command, published to npm as @aipkgs/cli. Implements commands like init, cmd, and mcp, and orchestrates fetching archives from the registry API and installing them locally via placement.
Takes a resolved archive and writes its assets into the right place on disk for each supported AI tool. Targets currently include claude and codex (coming soon), isolating tool-specific filesystem layout from the rest of the CLI.
This repo itself uses the AIpkg registry — aipkg.json, aipkg.lock, and aipkgs/ here serve as a working example of the deps system.
The project manifest. Declares the project's ref/type/version and lists registry dependencies under deps (by kind: cmds, skills, rules, subagents), each pinned to a registry ref like aipkg://cmd/org443/search-aipkgs@latest.
Lockfile generated from aipkg.json. Records the exact resolved version and sha256 for every dep (and any transitive parent), so installs are reproducible.
Examples of assets published to the registry, organized by kind (cmds/, skills/, rules/, subagents/). Each entry is a full archive we publish (its aipkg.json plus assets).
Publish a single package by running aipkg publish from the directory containing its aipkg.json:
cd aipkgs/cmds/org443/search-aipkgs
aipkg publishThe CLI packs the manifest plus its assets into a tarball and uploads it to the AIpkg registry. The package's ref/type/version come from aipkg.json — bump the version field before republishing.
To publish every package under aipkgs/ in this repo, use the helper script:
scripts/publish-all.sh # publish everything under aipkgs/
scripts/publish-all.sh --dry-run # show what would be published
scripts/publish-all.sh aipkgs/caveman # restrict to one or more rootsThe script recurses for every aipkg.json it finds, runs aipkg publish in each directory, continues on failure, and prints a success/failure summary at the end.
See LICENSE.txt.