Skip to content

russosalv/NONoise

Repository files navigation

NONoise NONoise

NONoise

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


What you get

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/) — see docs/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 toolCLAUDE.md, .github/copilot-instructions.md, AGENTS.md, .cursor/rules.md, GEMINI.md — generated from one source of truth.
  • tools/md-extractor/ and tools/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.

Why this exists

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.

NONoise SDLC flow

🚀 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.


Quickstart

# 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 CLI

GitHub 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.md and 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.


Upgrading an existing NONoise project

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-project

What --upgrade does:

  • Refreshes all bundled skills under <project>/.claude/skills/ (overwrites — pick up the latest SKILL.md files for reverse-engineering, polly, BMAD agents, the superpowers and impeccable vendor 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 touching ANTHROPIC_API_KEY. Stamp file .graphify_skill_version tells --upgrade whether the bundled copy is newer than the version on disk.
  • Re-runs the graphify install so <project>/CLAUDE.md and <project>/.claude/settings.json get the current PreToolUse hook.
  • Does NOT touch templatesCLAUDE.md, AGENTS.md, copilot-instructions.md keep 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.


Read next

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.


Development

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 superpowers

Versioning via Changesets: pnpm changesetpnpm versionpnpm release.

Full dev loop, skill authoring flow, and release process: docs/installation.md.


License and attribution

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.


Author

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors