Skip to main content

Documentation Index

Fetch the complete documentation index at: https://nono.sh/docs/llms.txt

Use this file to discover all available pages before exploring further.

Packs are signed bundles of profiles, hooks, plugins, and other artifacts distributed through the nono registry. This page covers the consumer side — installing and managing packs on your machine. For the producer side (creating and publishing packs), see Publishing Packs.

Installing a Pack

Use nono pull to install a pack from the registry:
nono pull always-further/claude
On install, the CLI:
  1. Fetches the pull manifest from the registry.
  2. Downloads artifacts and matching .bundle signature files.
  3. Verifies Sigstore bundles locally.
  4. Checks that the signer repository org matches the pack namespace.
  5. Pins the signer identity in a local lockfile.
  6. Installs verified artifacts into the pack store (~/.config/nono/packages/).

Pinning a Version

By default nono pull installs the latest version. Pin to a specific version with @:
nono pull always-further/claude@1.2.0

Initializing Project Files

Some packs include project-level instructions (e.g. a CLAUDE.md context file). Use --init to copy them into the current directory:
nono pull always-further/claude --init
Without --init, project-level instructions are installed into the pack store but not copied into your working directory.

Force Reinstall

Use --force to overwrite conflicts and accept signer changes:
nono pull always-further/claude --force
--force bypasses the signer-change prompt. Only use this when you trust the new signer identity.

Updating Packs

Update all installed packs to their latest versions:
nono update
Or update a specific pack:
nono update always-further/claude
The update checks the registry for newer versions, verifies signatures, and replaces local artifacts. Signer identity changes trigger a confirmation prompt (use --force to skip).

Removing a Pack

nono remove always-further/claude
This removes all artifacts installed by the pack (profiles, plugins, hooks, wiring) and cleans up the lockfile entry. If the pack applied wiring directives (e.g. injected hook entries into hooks.json), removal reverses them. If reversal partially fails, the lockfile entry is kept so you can retry. Use --force to proceed anyway:
nono remove always-further/claude --force

Searching the Registry

Find packs by keyword:
nono search claude
Machine-readable output:
nono search sandbox --json

Listing Installed Packs

nono list --installed
Machine-readable output:
nono list --installed --json

Custom Registry

All pack commands accept --registry to target a different registry (useful for development or enterprise registries):
nono pull --registry http://localhost:3001/api/v1 acme-corp/internal-agent
nono search --registry http://localhost:3001/api/v1 agent
Or set it globally via environment variable:
export NONO_REGISTRY=https://registry.example.com/api/v1
nono pull acme-corp/internal-agent

Pack Store Layout

Installed packs live under ~/.config/nono/packages/<namespace>/<name>/. Each pack directory contains the verified artifacts and a lockfile entry tracking the installed version and signer identity. Profiles from packs are automatically available to --profile. Use nono profile list to see all available profiles and their source (user, pack, or preset).

Next Steps