Warning
nd is still in alpha and under active development. Please let me know if you encounter issues 🙂
Manage coding agent assets (skills, agents, commands, rules, and more) across tools like Claude Code with symlink-based deployment.
- Built-in assets: Ships with nd-specific skills, commands, and an agent — ready to use after
nd init - Register sources: Point nd at local directories or git repos containing agent assets
- Deploy assets: Create symlinks from agent config directories to source assets, keeping everything in sync
- Switch profiles: Group assets into named profiles and switch between them instantly
- Save snapshots: Capture and restore deployment states as point-in-time snapshots
brew install armstrongl/tap/ndgo install github.com/armstrongl/nd@latestDownload pre-built binaries from Releases.
git clone https://github.com/armstrongl/nd.git
cd nd
go build -o nd .# Initialize nd and deploy built-in assets
nd init
# See available assets (built-in assets are ready immediately)
nd list
# Register an asset source (local directory or git repo)
nd source add ~/my-assets
# or: nd source add github-user/asset-repo
# Deploy an asset
nd deploy skills/greeting
# Check deployment status
nd status| Command | Description |
|---|---|
nd init |
Initialize nd configuration |
nd source add |
Register a local directory or git repo as an asset source |
nd source remove |
Remove a registered source |
nd source list |
List all registered sources |
nd list |
List all available assets from all sources |
nd deploy |
Deploy assets by creating symlinks |
nd remove |
Remove deployed assets |
nd status |
Show deployment status and health |
nd pin / nd unpin |
Pin/unpin assets to persist across profile switches |
nd sync |
Repair symlinks and pull git sources |
nd doctor |
Health check: validate config, sources, deployments |
nd profile create |
Create a named profile (asset collection) |
nd profile switch |
Switch between profiles |
nd profile deploy |
Deploy all assets from a profile |
nd profile delete |
Delete a profile |
nd profile add-asset |
Add an asset to an existing profile |
nd profile list |
List all profiles |
nd snapshot save |
Save current deployments as a snapshot |
nd snapshot restore |
Restore deployments from a snapshot |
nd snapshot list |
List all snapshots |
nd snapshot delete |
Delete a snapshot |
nd settings edit |
Open config file in your editor |
nd uninstall |
Remove all nd-managed symlinks |
nd version |
Print version information |
nd completion |
Generate shell completions (bash, zsh, fish) |
Run any command with --help for detailed usage, or see the full Command Reference.
Many commands support interactive mode: run without arguments to get a picker. Use --json for scripted output and --yes to skip confirmations.
nd uses a YAML config file at ~/.config/nd/config.yaml. Key settings:
version: 1
default_scope: global # or "project"
default_agent: claude-code
symlink_strategy: absolute # or "relative"See the full configuration guide.
- How nd works: What happens on disk when you deploy
- Get started: Install to first deploy in 5 minutes
- Profiles & snapshots: Advanced workflow management
- Configuration: Config reference, global flags, operation log
- Creating sources: Build your own asset library
- Command reference: Auto-generated from source
Contributions are welcome! See CONTRIBUTING.md for development setup, testing, and PR guidelines.
For architecture details, see ARCHITECTURE.md.
