An AI SDLC bootstrapper. One command turns an empty directory into a fully-wired, AI-ready project — with skills, a docs hierarchy, templated context files, and an advisor (Polly) that tells your team where they are in the SDLC and what to do next.
Quickstart · Documentation · SDLC flow · Skills · Tool support
npx create-nonoise my-project
cd my-project
# Open in Claude Code, or tell Copilot: "start polly"The CLI asks which AI tools your team uses (Claude Code, GitHub Copilot), then scaffolds:
src/— your code. Stack-agnostic: pick .NET, Node, Python, Rust, Go. The SDLC flow doesn't care.docs/— the six-folder source-of-truth hierarchy (architecture/,requirements/,calls/,support/,prd/,sprints/) — seedocs/docs-hierarchy.md..claude/skills/— a library of 40+ AI skills: Polly advisor, BMAD-derived personas, Quint FPF validator, vendored superpowers, design / ops / testing packs.- Context files for every selected tool —
CLAUDE.md,.github/copilot-instructions.md,AGENTS.md,.cursor/rules.md,GEMINI.md— generated from one source of truth. tools/md-extractor/andtools/devops-push/— Node CLIs ready to use..nonoise/sdlc-flow.md— the SDLC flow Polly reads to detect where you are and suggest the next skill.
Most AI tooling assumes a one-man-band developer with a chat window. Real companies have analysts, architects, multiple developers, shadow testers. Different phases need different models — discovery and architecture are [pair] work on a large model; implementation is [solo] on a smaller one. The SDLC flow annotates the mode for every step so nobody wastes the wrong model on the wrong problem.
A skill library is useless if nobody knows what to use when. Polly is the advisor that removes that problem entirely. Invoke /polly whenever you're unsure what's next — she reads .nonoise/sdlc-flow.md, tells you where you are in the SDLC, and hands you the exact prompt to trigger the right skill.
🚀 create-nonoise ──► 💡 /polly (advisor)
│
reads .nonoise/sdlc-flow.md
detects current phase
suggests next skill
│
📋 Requirements ──► 🔍 Discovery ──► 🏛️ Architecture ──► 📅 Sprint Planning
│
┌─────────────────────────────────────────────────────┘
▼
⚙️ Implementation ──► 🧪 Unit & Integration ──► 🤖 Test Automation ──► ✅ Acceptance
▲ │
└──────────────────────── 🔁 Next sprint ────────────────────────────┘
You never pick the wrong skill. You always know the next step.
Canonical architectures beat exotic ones because they're already in the parametric memory of every frontier LLM. NONoise's architectural skills push toward DDD, Clean Architecture, CQRS, standard REST — and only allow deviations that survive a formal Quint FPF validation. Every token you spend re-teaching the LLM your bespoke abstraction is a token it isn't spending on your actual problem.
Local tooling, no service. Everything runs inside your AI tool of choice. No server, no telemetry, no account. Skills are plain Markdown; a git clone carries them between projects. External tools (issue trackers, voice recorders, memory systems) are mentioned by Polly at the right moment — not wired, not required.
# Scaffold
npx create-nonoise my-project
# Enter the project and open your AI tool of choice
cd my-project
code . # VS Code + Claude Code / Copilot
cursor . # Cursor
# or in a terminal:
claude # Claude Code CLIGitHub Release fallback. If the npm registry is temporarily unavailable for this package, you can install the exact same tarball directly from the GitHub Release attached to each tag:
npx https://github.com/russosalv/NONoise/releases/download/v1.2.1/create-nonoise-1.2.1.tgz my-project
Invoke Polly whenever you're unsure what to do next:
- Claude Code:
/polly - GitHub Copilot: "start polly" / "avvia polly" / "run polly"
- Cursor / Gemini CLI / Codex: read
.claude/skills/polly/SKILL.mdand follow
Polly reads .nonoise/sdlc-flow.md, tells you where you are in the SDLC, and hands you the exact prompt to trigger the right skill. One message per invocation, then she terminates.
A full walkthrough of the SDLC lives in docs/sdlc.md; Polly's advisor model is documented in docs/polly.md.
Bundled skills (reverse-engineering, polly, arch-*, etc.) are copied into your project at scaffold time and stay frozen at that version — they don't follow npm updates of create-nonoise. To pick up improvements (e.g. hardened anti-pattern guards, new skills), run the upgrade path on an existing project:
# Interactive: detects an existing nonoise.config.json and asks
npx create-nonoise@latest path/to/existing-project
# Direct, non-interactive
npx create-nonoise@latest --upgrade path/to/existing-projectWhat --upgrade does:
- Refreshes all bundled skills under
<project>/.claude/skills/(overwrites — pick up the latestSKILL.mdfiles forreverse-engineering,polly, BMAD agents, thesuperpowersandimpeccablevendor packs, etc.). - Refreshes the project-local graphify skills (
.claude/skills/graphify/,.copilot/skills/graphify/,.agents/skills/graphify/) so any cloning teammate gets the subagent-dispatch flow without touchingANTHROPIC_API_KEY. Stamp file.graphify_skill_versiontells--upgradewhether the bundled copy is newer than the version on disk. - Re-runs the graphify install so
<project>/CLAUDE.mdand<project>/.claude/settings.jsonget the currentPreToolUsehook. - Does NOT touch templates —
CLAUDE.md,AGENTS.md,copilot-instructions.mdkeep your local edits. - Does NOT touch
nonoise.config.json— your AI-tools selection survives the upgrade.
Two narrower variants:
# Only repair the graphify CLI integration (no skill refresh)
npx create-nonoise@latest --graphify-only path/to/existing-project
# In Claude Code, build/refresh the project's knowledge graph (uses your IDE's
# model, no external API key) — every NONoise project ships this slash command
/index .Auto-detection guard: when you pass a positional path that already contains a nonoise.config.json, the CLI never silently scaffolds over it. Without --yes it prompts (Upgrade / Graphify-only / Cancel); with --yes it aborts and prints the explicit --upgrade / --graphify-only commands you should run instead.
| If you want to … | Read |
|---|---|
| See the big picture — what NONoise is and isn't | docs/overview.md |
| Understand the philosophy — 5 noise sources, parametric memory, canonical patterns | docs/philosophy.md |
| Follow the SDLC flow — greenfield + brownfield, step by step | docs/sdlc.md |
| Meet Polly — advisor model, one-shot 4-block output, pair/solo modes | docs/polly.md |
| See the team model — why NONoise is team-first, not one-man-band | docs/team-model.md |
| Browse the skill catalog — 40+ skills organized by domain | docs/skills-catalog.md |
| Understand the docs/ tree — six folders, each a source of truth | docs/docs-hierarchy.md |
| Check tool support — Claude Code, Copilot, Cursor, Gemini CLI, Codex | docs/cross-tool.md |
| See external tools Polly mentions (info-only) | docs/external-tools.md |
| Install, build, and extend the framework itself | docs/installation.md |
The same material feeds the public site at NONoise-frmw-site.
Prerequisites: Node >=20, pnpm 9.12.0 (pinned via packageManager).
pnpm install # workspace deps
pnpm --filter create-nonoise run build # build CLI + bundle assets
pnpm --filter create-nonoise exec vitest run # 47 CLI tests
pnpm -r run test # every package's tests
pnpm -r run typecheck # typecheck all
node scripts/sync-vendor.mjs # refresh vendored superpowersVersioning via Changesets: pnpm changeset → pnpm version → pnpm release.
Full dev loop, skill authoring flow, and release process: docs/installation.md.
MIT (see LICENSE, landing with the first tagged release). Use of the framework or its methodology in any project — commercial or internal — requires visible attribution per ATTRIBUTION.md: a short "powered by NONoise" note in the project README or About section, pointing to this repository.
NONoise was created by Alessandro Russo (@russosalv) as a lesson-learned, packaged and open-sourced so the method — not just one implementation — outlives the project it was born in.


