Modern CLI installer for nwave with rich terminal UI
Project description
nWave
AI agents that guide you from idea to working code — with you in control at every step.
nWave runs inside Claude Code. You describe what to build. Specialized agents handle requirements, architecture, test design, and implementation. You review and approve at each stage.
Quick Start
Choose your installation method. Both work equally well; the plugin method is recommended for most users.
Plugin (Recommended)
From Claude Code, run:
/plugin marketplace add nwave-ai/nwave
/plugin install nwave@nwave-marketplace
Restart Claude Code and type /nw: to see all available commands.
Coming soon: Official Anthropic plugin marketplace integration:
/plugin install nwave@claude-plugins-official
CLI Installer
For developers or users who need advanced configuration:
pipx install nwave-ai
nwave-ai install
Installs from PyPI with no repository clone needed. Agents and commands go to ~/.claude/.
Don't have pipx? Install with:
pip install pipx && pipx ensurepath, then restart your terminal. Windows users: Use WSL (Windows Subsystem for Linux). Install with:wsl --install
Full setup details: Installation Guide
Which method?
| Scenario | Use | Why |
|---|---|---|
| First time | Plugin | Zero dependencies, instant |
| Team rollout | Plugin | Same command everywhere |
| Contributing | CLI | Dev scripts, internals access |
| Already on CLI | Either | Both coexist safely |
Use (inside Claude Code, after reopening it)
/nw:discuss "user login with email and password" # Requirements
/nw:design --architecture=hexagonal # Architecture
/nw:distill "user-login" # Acceptance tests
/nw:deliver # TDD implementation
Four commands. Four human checkpoints. One working feature.
Full walkthrough: Your First Feature
Staying Updated
nWave checks for new versions when you open Claude Code. When available, you'll see a note in Claude's context with version details and changes.
Plugin method:
/plugin marketplace update nwave-marketplace
Or enable auto-updates in Claude Code plugin settings.
CLI method:
pipx upgrade nwave-ai
nwave-ai install
Control check frequency via update_check.frequency in ~/.nwave/des-config.json: daily, weekly, every_session, or never.
Token Efficiency — Scale Quality to Stakes
nWave enforces proven engineering practices (TDD, peer review, mutation testing) at every step. Use /nw:rigor to adjust the depth of quality practices to match your task's risk level. A config tweak needs less rigor than a security-critical feature.
/nw:rigor # Interactive: compare profiles
/nw:rigor lean # Quick switch to lean mode
/nw:rigor custom # Build your own combination
| Profile | Agent | Reviewer | TDD | Mutation | Cost | Use When |
|---|---|---|---|---|---|---|
| lean | haiku | none | RED→GREEN | no | lowest | Spikes, config, docs |
| standard ⭐ | sonnet | haiku | full 5-phase | no | moderate | Most features |
| thorough | opus | sonnet | full 5-phase | no | higher | Critical features |
| exhaustive | opus | opus | full 5-phase | ≥80% kill | highest | Production core |
| custom | you choose | you choose | you choose | you choose | varies | Exact combo needed |
Picked once, persists across sessions. Every /nw:deliver, /nw:design, /nw:review respects your choice. Need to mix profiles? /nw:rigor custom walks through each setting.
/nw:rigor lean # prototype fast
/nw:deliver # haiku crafter, no review, RED→GREEN only
/nw:rigor standard # ready to ship — bump up
/nw:deliver # sonnet crafter, haiku reviewer, full TDD
Understanding DES Messages
DES is nWave's quality enforcement layer — it monitors every agent Task invocation during feature delivery to prevent unbounded execution, enforce TDD discipline, and protect accidental edits. Most DES messages are normal enforcement, not errors. They appear when agents skip required safety checks or when your code contains patterns that look like step execution.
DES also runs automatic housekeeping at every session start: it removes audit logs beyond the retention window, cleans up signal files left by crashed sessions, and rotates the skill-loading log when it grows too large. This happens silently in the background and never blocks your session.
| Message | What It Means | What To Do |
|---|---|---|
| MISSING_MAX_TURNS | Task invocation forgot to set max_turns parameter. |
Add max_turns=30 (or appropriate value) to the Task call. Recommended: 15 (quick), 25 (background), 30 (standard), 35 (research). |
| DES_MARKERS_MISSING | Task prompt mentions a step ID (01-01 pattern) but lacks DES markers. | Either: add DES markers for step execution, OR add <!-- DES-ENFORCEMENT : exempt --> comment if it's not actually step work. |
| Source write blocked | You tried to edit a file during active /nw:deliver outside a DES task. |
Edit requests must go through the active deliver session. If you need to make changes, finalize the current session first. |
| TDD phase incomplete | Sub-agent returned without finishing all required TDD phases. | Re-dispatch the same agent to complete missing phases (typically COMMIT or refactoring steps). |
| nWave update available | SessionStart detected a newer version available. | Optional. Run pipx upgrade nwave-ai && nwave-ai install when ready to upgrade, or dismiss and continue working. |
| False positive blocks | Your prompt accidentally matches step-ID pattern (e.g., dates like "2026-02-09"). | Add <!-- DES-ENFORCEMENT : exempt --> comment to exempt the Task from step-ID enforcement. |
These messages protect code quality but never prevent your work — they guide you toward the safe path.
How It Works
machine human machine human machine
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
Agent ──→ Documentation ──→ Review ──→ Decision ──→ Agent ──→ ...
generates artifacts validates approves continues
Each wave produces artifacts that you review before the next wave begins. The machine never runs unsupervised end-to-end.
The full workflow has six waves. Use all six for greenfield projects, or jump straight to /nw:deliver for brownfield work.
| Wave | Command | Agent | Produces |
|---|---|---|---|
| DISCOVER | /nw:discover |
product-discoverer | Market validation |
| DISCUSS | /nw:discuss |
product-owner | Requirements |
| DESIGN | /nw:design |
solution-architect | Architecture + ADRs |
| DEVOPS | /nw:devops |
platform-architect | Infrastructure readiness |
| DISTILL | /nw:distill |
acceptance-designer | Given-When-Then tests |
| DELIVER | /nw:deliver |
software-crafter | Working implementation |
22 agents total: 6 wave agents, 5 cross-wave specialists, 11 peer reviewers. Full list: Commands Reference
Documentation
Getting Started
- Installation Guide — Setup instructions
- Your First Feature — Build a feature end-to-end (tutorial)
- Jobs To Be Done — Which workflow fits your task
Guides & Reference
- Agents & Commands Reference — All agents, commands, skills, templates
- Wave Directory Structure — How wave outputs are organized per feature
- Invoke Reviewers — Peer review workflow
- Troubleshooting — Common issues and fixes
Community
- Discord — Questions, feedback, success stories
- GitHub Issues — Bug reports and feature requests
- Contributing — Development setup and guidelines
Privacy
nWave does not collect user data. See Privacy Policy for details.
License
MIT — see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nwave_ai-1.6.0.tar.gz.
File metadata
- Download URL: nwave_ai-1.6.0.tar.gz
- Upload date:
- Size: 2.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6059d9675024d1290728bbb277ed82c8b77140fcca6fe1adf4a67c75b4f916f2
|
|
| MD5 |
7fed304dcbcf8c3bcc78e233f6c64199
|
|
| BLAKE2b-256 |
395ee77170ec025d114ae9f039ccdd218deaaf31d5e738277b95f90484cc404c
|
Provenance
The following attestation bundles were made for nwave_ai-1.6.0.tar.gz:
Publisher:
release-prod.yml on nWave-ai/nwave-dev
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nwave_ai-1.6.0.tar.gz -
Subject digest:
6059d9675024d1290728bbb277ed82c8b77140fcca6fe1adf4a67c75b4f916f2 - Sigstore transparency entry: 1005663553
- Sigstore integration time:
-
Permalink:
nWave-ai/nwave-dev@73059384905b5a6aafbe3978afaa2f1c1bf8371c -
Branch / Tag:
refs/heads/master - Owner: https://github.com/nWave-ai
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-prod.yml@73059384905b5a6aafbe3978afaa2f1c1bf8371c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file nwave_ai-1.6.0-py3-none-any.whl.
File metadata
- Download URL: nwave_ai-1.6.0-py3-none-any.whl
- Upload date:
- Size: 1.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
929e5b409b1f73c45fb20fba4820a7c1bf2e36d4e237bfaa6b4718f144cab463
|
|
| MD5 |
1de552a1d5299dc7e6bc047c02ba7be4
|
|
| BLAKE2b-256 |
3994780e73c48087f22271223ca73c67d5b2d5d4ea12703cba3a7935edf550d5
|
Provenance
The following attestation bundles were made for nwave_ai-1.6.0-py3-none-any.whl:
Publisher:
release-prod.yml on nWave-ai/nwave-dev
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nwave_ai-1.6.0-py3-none-any.whl -
Subject digest:
929e5b409b1f73c45fb20fba4820a7c1bf2e36d4e237bfaa6b4718f144cab463 - Sigstore transparency entry: 1005663559
- Sigstore integration time:
-
Permalink:
nWave-ai/nwave-dev@73059384905b5a6aafbe3978afaa2f1c1bf8371c -
Branch / Tag:
refs/heads/master - Owner: https://github.com/nWave-ai
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-prod.yml@73059384905b5a6aafbe3978afaa2f1c1bf8371c -
Trigger Event:
workflow_dispatch
-
Statement type: