| name | nano-core-setup |
| description | Install or onboard nano-core on a host. Use for first-time installation, prerequisites, runtime selection, provider/channel configuration, daemon setup, upgrades, or doctor checks; not for diagnosing an already-running incident. |
nano-core Setup
Guide host installation and onboarding using the checkout's current README.md and docs/ONBOARDING.md as the source of truth.
When to use this skill
- Use for a new install, first-run onboarding, runtime selection, provider/channel configuration, service installation, or an upgrade procedure.
- Use when an operator asks whether a host meets nano-core prerequisites.
When not to use this skill
- Do not use for an incident in an already-configured runtime; use
nano-core-debug.
- Do not install, upgrade, restart, or overwrite configuration without operator approval.
- Do not assume commands run inside the agent container can inspect or mutate the host.
Workflow
- Establish whether this is a fresh developer checkout, an upgrade, or a profile change. Confirm operating system, target runtime, channel, and provider.
- nano-core is not published to a package registry; every install starts from a git checkout, then
npm install and npm run build.
- Prefer the guided wrapper for an existing checkout:
./scripts/onboard-all.sh (backup -> setup -> onboarding wizard -> daemon step -> doctor), or nano-core onboard once the CLI is linked. Use its current --help output rather than inventing flags.
- Keep Docker as the isolated runtime option (
CONTAINER_RUNTIME=auto selects it when available). Host runtime is an explicit, unisolated fallback requiring CONTAINER_RUNTIME=host plus NANO_CORE_ALLOW_HOST_RUNTIME=1 (and NANO_CORE_ALLOW_HOST_RUNTIME_IN_PROD=1 in production).
- Keep secrets in
.env at the repo root. Never print full keys or tokens.
- Domain behavior is added through capability profiles, not baked into the core:
core is the default and always available. Install with npm run profile -- install <source>, activate with npm run profile -- activate <name>.
- Verify with
nano-core doctor --json or npm run doctor, then inspect service status with nano-core service status or ./scripts/service.sh status.
- Report exactly what changed, what remains manual, and whether the service is running.
Upgrade safety
- Back up state before changing an existing install:
npm run backup:state (restore with npm run restore:state).
- Preserve
.env, data/, groups/, the main workspace, and local customizations.
- Do not start a foreground process while the installed service is running.
Guardrails
- Never run destructive git commands unless explicitly requested.
- Preserve unrelated worktree changes.
- Privileged setup and service actions are main/admin chat only.
- Do not fetch and execute a remote installer; nano-core has none. Installs are a git checkout.