Introduction¶
In development scenarios that involve multi-tool collaboration (such as Cursor, Claude Code, DSH), maintaining a unified coding specification (ICVO) and ensuring P0 gate execution in the Harness workflow typically requires manually managing multiple configurations. SpecWave provides a declarative adaptation table that natively applies a single specification set across multiple clients, and includes built-in Harness process commands and task gating mechanisms.
What It Is¶
SpecWave is a multi-host coding CLI tool. It uses a declarative adaptation table to directly inject ICVO specifications (inform, constrain, verify, orchestrate) and the Harness workflow into Cursor, Claude Code, optional DSH, and other agent tools. The tool provides P0 gating (Gate) and Harness process command support, ensuring workflow consistency between the IDE and command line.
Installation and Enablement¶
Before use, make sure the Node.js version meets the requirements.
# 检查 Node.js 版本,需为 ^22.19.0 或 >=24.0.0
node -v
Execute globally via npm (pinning the version is recommended):
# 确认版本
npx spec-wave@3.0.2 --version
Core Features¶
- Multi-host deployment: A single adaptation table supports Cursor, Claude Code, DSH, and other agents.
- P0 gating and Harness: Built-in Harness process commands and task validation gating, with support for hard stop (exit 2).
- ICVO specification: Maintains Discipline assets, ensuring coding behavior is constrainable and verifiable.
- Host application: Uses the
host applycommand to write the adaptation table into the corresponding IDE’s directory structure.
Typical Usage¶
1. Validate the Adaptation Table¶
Before applying it formally, perform a dry-run validation first:
npx spec-wave@3.0.2 host validate
2. Apply Host Configuration¶
Write the adaptation table to the specified tools (using Cursor, Claude Code, and DSH as examples):
npx spec-wave@3.0.2 host apply --tools cursor,claude,dsh --profile core
3. Initialize the Project¶
If this is the first-time initialization, specify a preset and automatically apply it:
npx spec-wave@3.0.2 init --preset harness-only --tools cursor,claude,dsh --yes
4. Verify Task Gating¶
Before executing a task, verify that the task document complies with the specification; if gating fails, the process exits with exit code 2:
npx spec-wave@3.0.2 verify --task docs/tasks/active/task_<slug>.md
Notes on DSH and System Prompts¶
Loading ≠ injecting. Installing or loading a DSH plugin does not automatically rewrite the system prompt. apply() only registers tools. Only after you or the model calls apply_coding_standards will the runtime context for subsequent turns include # Coding Standards.
Applicable Scenarios and Caveats¶
- Applicable scenarios: Developers who need consistent coding specifications across Cursor, Claude Code, and DSH; teams that use the Harness workflow to manage task gating.
- Node version limitation: Node 20 and earlier versions are not supported. Check the environment before upgrading.
- File writing limitation: The CLI does not automatically write example tasks into
docs/tasks/; templates must be copied manually. - Manual gating tables: Manual gating tables such as
HG-AUDIT-R1must include 4 columns. - Source code and license: Please review the source code and license (MIT) before use.
Conclusion¶
SpecWave solves the synchronization pain point across multiple clients through declarative configuration, and, combined with Harness P0 gating, provides a strongly constrained execution environment for AI coding. For more details, refer to the project directory or the GitHub repository.