sndev.io / docs

Scaffold Your Project

sn init gives you the canonical layout

The scaffolded CLAUDE.md already contains the canonical rules for working with the sn CLI: schema-first manifest authoring, idempotent upserts, skill-before-steps invocation, and the execute → validate → test lifecycle. You can extend it with your instance's naming conventions and scope — don't replace it.

sn init --dry-run prints the full file plan without writing anything. Useful if you want to see what a template gives you before committing to it.

The four templates from lightest to heaviest:

  • minimal — just CLAUDE.md, sn.config.ts, .gitignore. Best when you're bolting sn onto an existing repo.
  • feature — single-manifest starter with manifest.ts and a spec at the root.
  • app — one project, multiple manifests under manifests/. The default.
  • monorepopackages/ layout for teams shipping multiple apps with shared specs and a shared vault.

Tasks

1

Scaffold a minimal project. `minimal` gives you just the essentials — CLAUDE.md, sn.config.ts, and .gitignore.

sn init --template minimal --name my-sn-project ./my-sn-project
✓ Scaffolded my-sn-project at ./my-sn-project (4 files)
Next steps:
cd ./my-sn-project
sn instance add default --url <host> --user <u> --pass - --default
# then describe a feature to Claude and let it generate a manifest
2

Check what was written.

cd my-sn-project && ls -la
.gitignore
CLAUDE.md
sn.config.ts
# (plus .sn-cache/ and friends the CLI writes on first run)
Next Level
Setting Up Claude

Point Claude Code at your scaffolded project