create-harness-vibe-coding 0.8.13 → 0.8.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +165 -0
- package/README-CN.md +41 -9
- package/README.md +39 -9
- package/package.json +2 -1
- package/src/generator.js +601 -472
- package/src/index.js +4 -4
- package/templates/common/.claude/agents/architect-manager.md +1 -0
- package/templates/common/.claude/agents/architect.md +2 -1
- package/templates/common/.claude/agents/codebase-explorer.md +1 -0
- package/templates/common/.claude/agents/context-master.md +2 -1
- package/templates/common/.claude/agents/debugger.md +1 -0
- package/templates/common/.claude/agents/docs-researcher.md +2 -1
- package/templates/common/.claude/agents/explore-manager.md +1 -0
- package/templates/common/.claude/agents/implement-manager.md +1 -0
- package/templates/common/.claude/agents/implementer.md +1 -0
- package/templates/common/.claude/agents/memory-master.md +2 -1
- package/templates/common/.claude/agents/planner.md +3 -2
- package/templates/common/.claude/agents/reflector.md +1 -0
- package/templates/common/.claude/agents/researcher.md +1 -0
- package/templates/common/.claude/agents/review-manager.md +1 -0
- package/templates/common/.claude/agents/reviewer.md +2 -1
- package/templates/common/.claude/agents/task-scribe.md +1 -0
- package/templates/common/.claude/agents/tdd-guide.md +5 -4
- package/templates/common/.claude/agents/test-writer.md +6 -5
- package/templates/common/.claude/agents/verifier.md +1 -0
- package/templates/common/.claude/commands/wf-help.md +1 -0
- package/templates/common/.claude/commands/wf-update.md +68 -10
- package/templates/common/.claude/rules/ecc/common.md +6 -5
- package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +12 -6
- package/templates/common/.claude/skills/tdd/SKILL.md +5 -5
- package/templates/common/.claude/skills/wf/SKILL.md +13 -5
- package/templates/common/.claude/skills/wf-agents-docs/SKILL.md +119 -0
- package/templates/common/.claude/skills/wf-auto/SKILL.md +27 -7
- package/templates/common/.claude/skills/wf-auto-spark/SKILL.md +12 -5
- package/templates/common/.claude/skills/wf-learn/SKILL.md +6 -0
- package/templates/common/.claude/skills/wf-max/SKILL.md +22 -7
- package/templates/common/.claude/skills/wf-readme/SKILL.md +8 -2
- package/templates/common/.claude/skills/wf-remove/SKILL.md +6 -0
- package/templates/common/.claude/skills/wf-review/SKILL.md +10 -3
- package/templates/common/.claude/skills/wf-update/SKILL.md +41 -4
- package/templates/common/.harness-version +290 -128
- package/templates/common/.opencode/agents/architect-manager.md +1 -0
- package/templates/common/.opencode/agents/architect.md +2 -1
- package/templates/common/.opencode/agents/codebase-explorer.md +1 -0
- package/templates/common/.opencode/agents/context-master.md +2 -1
- package/templates/common/.opencode/agents/debugger.md +1 -0
- package/templates/common/.opencode/agents/docs-researcher.md +2 -1
- package/templates/common/.opencode/agents/explore-manager.md +1 -0
- package/templates/common/.opencode/agents/implement-manager.md +1 -0
- package/templates/common/.opencode/agents/implementer.md +1 -0
- package/templates/common/.opencode/agents/memory-master.md +2 -1
- package/templates/common/.opencode/agents/planner.md +3 -2
- package/templates/common/.opencode/agents/reflector.md +1 -0
- package/templates/common/.opencode/agents/researcher.md +1 -0
- package/templates/common/.opencode/agents/review-manager.md +1 -0
- package/templates/common/.opencode/agents/reviewer.md +2 -1
- package/templates/common/.opencode/agents/task-scribe.md +1 -0
- package/templates/common/.opencode/agents/tdd-guide.md +5 -4
- package/templates/common/.opencode/agents/test-writer.md +6 -5
- package/templates/common/.opencode/agents/verifier.md +1 -0
- package/templates/common/.opencode/commands/wf-auto-spark.md +3 -2
- package/templates/common/.opencode/commands/wf-auto.md +3 -2
- package/templates/common/.opencode/commands/wf-help.md +1 -0
- package/templates/common/.opencode/commands/wf-learn.md +3 -2
- package/templates/common/.opencode/commands/wf-max.md +3 -2
- package/templates/common/.opencode/commands/wf-readme.md +3 -2
- package/templates/common/.opencode/commands/wf-remove.md +3 -2
- package/templates/common/.opencode/commands/wf-review.md +3 -2
- package/templates/common/.opencode/commands/wf-update.md +68 -10
- package/templates/common/.opencode/commands/wf.md +3 -2
- package/templates/common/CLAUDE.md +14 -12
- package/templates/common/Harness/MEMORY.md +21 -18
- package/templates/common/Harness/README.md +41 -39
- package/templates/common/Harness/ownership.manifest.json +815 -0
- package/templates/common/Harness/{architecture.md → project/architecture.md} +1 -1
- package/templates/common/Harness/research/README.md +3 -3
- package/templates/common/Harness/scripts/context-budget.mjs +95 -0
- package/templates/common/Harness/scripts/l2-cache-telemetry.mjs +703 -0
- package/templates/common/Harness/scripts/scan-clean.mjs +13 -3
- package/templates/common/Harness/scripts/validate-harness.mjs +332 -175
- package/templates/common/Harness/scripts/wf-remove.mjs +60 -34
- package/templates/common/Harness/scripts/wf-update-check.mjs +355 -45
- package/templates/common/Harness/settings.json +43 -0
- package/templates/common/Harness/{ECC-GUIDE.md → specs/guides/ECC-GUIDE.md} +4 -4
- package/templates/common/Harness/{SETUP.md → specs/guides/SETUP.md} +32 -35
- package/templates/common/Harness/{extension.md → specs/guides/extension.md} +3 -3
- package/templates/common/Harness/{lifecycle.md → specs/guides/lifecycle.md} +2 -2
- package/templates/common/Harness/{agent-workflow.md → specs/runtime/agent-workflow.md} +6 -6
- package/templates/common/Harness/{context-loading.md → specs/runtime/context-loading.md} +85 -21
- package/templates/common/Harness/{dispatch.md → specs/runtime/dispatch.md} +3 -2
- package/templates/common/Harness/{subagents.md → specs/runtime/subagents.md} +10 -5
- package/templates/common/Harness/{WF-AUTO-SPARK.md → specs/workflows/WF-AUTO-SPARK.md} +2 -2
- package/templates/common/Harness/{WF-AUTO.md → specs/workflows/WF-AUTO.md} +6 -1
- package/templates/common/Harness/{WF-KERNEL.md → specs/workflows/WF-KERNEL.md} +10 -0
- package/templates/common/Harness/{WF-MAX.md → specs/workflows/WF-MAX.md} +10 -5
- package/templates/common/Harness/{WF-STATE.md → specs/workflows/WF-STATE.md} +5 -0
- package/templates/common/Harness/{WF.md → specs/workflows/WF.md} +12 -1
- package/templates/common/README.md +8 -6
- package/templates/common/memory/startup-hints.md +19 -17
- package/templates/optional/skills/browser-e2e/.claude/skills/browser-e2e/SKILL.md +1 -1
- package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +7 -0
- package/templates/optional/skills/browser-e2e/.opencode/commands/wf-browser.md +3 -2
- package/templates/optional/skills/browser-e2e/Harness/workflows/browser-e2e.md +4 -4
- package/templates/optional/skills/github-pr-review/.claude/skills/github-pr-review/SKILL.md +1 -1
- package/templates/optional/skills/python-backend/.claude/skills/python-backend/SKILL.md +1 -1
- package/templates/optional/skills/ts-react-frontend/.claude/skills/ts-react-frontend/SKILL.md +1 -1
- package/templates/optional/skills/ui-ux-review/.claude/skills/ui-ux-review/SKILL.md +1 -1
- /package/templates/common/Harness/{ACCEPTANCE_PROTOCOL.md → specs/protocols/ACCEPTANCE_PROTOCOL.md} +0 -0
- /package/templates/common/Harness/{AGENT_ISOLATION.md → specs/protocols/AGENT_ISOLATION.md} +0 -0
- /package/templates/common/Harness/{DEBUG_PROTOCOL.md → specs/protocols/DEBUG_PROTOCOL.md} +0 -0
- /package/templates/common/Harness/{HARNESS_BRIDGE.md → specs/protocols/HARNESS_BRIDGE.md} +0 -0
- /package/templates/common/Harness/{MEMORY_PROTOCOL.md → specs/protocols/MEMORY_PROTOCOL.md} +0 -0
- /package/templates/common/Harness/{TASK_ARCHIVE.md → specs/protocols/TASK_ARCHIVE.md} +0 -0
- /package/templates/common/Harness/{TDD-GUIDE.md → specs/protocols/TDD-GUIDE.md} +0 -0
- /package/templates/common/Harness/{WF-AUTO-ANGLES.md → specs/workflows/WF-AUTO-ANGLES.md} +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
+
harness: wf-agent
|
|
2
3
|
description: Use for read-only review of diffs, tests, architecture boundaries, regressions, and missing verification before closeout.
|
|
3
4
|
mode: subagent
|
|
4
5
|
permission:
|
|
@@ -16,7 +17,7 @@ Load first:
|
|
|
16
17
|
|
|
17
18
|
- diff or changed file list
|
|
18
19
|
- current PRD or feature doc
|
|
19
|
-
- `Harness/agent-workflow.md`
|
|
20
|
+
- `Harness/specs/runtime/agent-workflow.md`
|
|
20
21
|
- architecture docs when affected
|
|
21
22
|
|
|
22
23
|
Rules:
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
+
harness: wf-agent
|
|
2
3
|
description: Test-Driven Development specialist enforcing AC-linked write-tests-first methodology. Use PROACTIVELY when writing new features, fixing bugs, refactoring code, or adding browser-visible behavior.
|
|
3
4
|
mode: subagent
|
|
4
5
|
permission:
|
|
@@ -11,10 +12,10 @@ permission:
|
|
|
11
12
|
|
|
12
13
|
Enforces acceptance-driven TDD. Load these before writing tests:
|
|
13
14
|
|
|
14
|
-
1. `Harness/ACCEPTANCE_PROTOCOL.md`
|
|
15
|
-
2. `Harness/HARNESS_BRIDGE.md`
|
|
16
|
-
3. `Harness/AGENT_ISOLATION.md`
|
|
17
|
-
4. `Harness/TDD-GUIDE.md`
|
|
15
|
+
1. `Harness/specs/protocols/ACCEPTANCE_PROTOCOL.md`
|
|
16
|
+
2. `Harness/specs/protocols/HARNESS_BRIDGE.md`
|
|
17
|
+
3. `Harness/specs/protocols/AGENT_ISOLATION.md`
|
|
18
|
+
4. `Harness/specs/protocols/TDD-GUIDE.md`
|
|
18
19
|
5. ECC testing rules for the project stack
|
|
19
20
|
6. Current task `PLAN.md`
|
|
20
21
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
+
harness: wf-agent
|
|
2
3
|
description: Use to define or write AC-linked failing tests and manual verification steps before implementation.
|
|
3
4
|
mode: subagent
|
|
4
5
|
permission:
|
|
@@ -14,12 +15,12 @@ You are a test-first agent for this project harness. You write tests from PRD-de
|
|
|
14
15
|
Load first:
|
|
15
16
|
|
|
16
17
|
- current PRD or feature doc
|
|
17
|
-
- `Harness/ACCEPTANCE_PROTOCOL.md`
|
|
18
|
-
- `Harness/HARNESS_BRIDGE.md` for UI/API/browser flows
|
|
19
|
-
- `Harness/AGENT_ISOLATION.md`
|
|
20
|
-
- `Harness/TDD-GUIDE.md`
|
|
18
|
+
- `Harness/specs/protocols/ACCEPTANCE_PROTOCOL.md`
|
|
19
|
+
- `Harness/specs/protocols/HARNESS_BRIDGE.md` for UI/API/browser flows
|
|
20
|
+
- `Harness/specs/protocols/AGENT_ISOLATION.md`
|
|
21
|
+
- `Harness/specs/protocols/TDD-GUIDE.md`
|
|
21
22
|
- `Harness/tasks/<task-id>/PROGRESS.md` and `Harness/tasks/<task-id>/PLAN.md` when available
|
|
22
|
-
- `Harness/agent-workflow.md`
|
|
23
|
+
- `Harness/specs/runtime/agent-workflow.md`
|
|
23
24
|
|
|
24
25
|
Inputs you must receive:
|
|
25
26
|
|
|
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
|
|
|
8
8
|
static help or script command.
|
|
9
9
|
|
|
10
10
|
1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
|
|
11
|
-
2.
|
|
12
|
-
3.
|
|
11
|
+
2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
|
|
12
|
+
3. Execute per the skill adapter `.claude/skills/wf-auto-spark/SKILL.md` (mirror: `.agents/skills/wf-auto-spark/SKILL.md`).
|
|
13
|
+
4. Do not duplicate the workflow here. The skill adapter and `Harness/specs/workflows/WF-AUTO-SPARK.md` are authoritative.
|
|
13
14
|
|
|
14
15
|
If this runtime cannot invoke the skill directly, read
|
|
15
16
|
`.claude/skills/wf-auto-spark/SKILL.md` and follow it in place.
|
|
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
|
|
|
8
8
|
static help or script command.
|
|
9
9
|
|
|
10
10
|
1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
|
|
11
|
-
2.
|
|
12
|
-
3.
|
|
11
|
+
2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
|
|
12
|
+
3. Execute per the skill adapter `.claude/skills/wf-auto/SKILL.md` (mirror: `.agents/skills/wf-auto/SKILL.md`).
|
|
13
|
+
4. Do not duplicate the workflow here. The skill adapter and `Harness/specs/workflows/WF-AUTO.md` are authoritative.
|
|
13
14
|
|
|
14
15
|
If this runtime cannot invoke the skill directly, read
|
|
15
16
|
`.claude/skills/wf-auto/SKILL.md` and follow it in place.
|
|
@@ -15,6 +15,7 @@ do not dispatch agents, and do not edit files.
|
|
|
15
15
|
| `/wf-auto-spark` | workflow skill | `/wf-auto-spark` | Perpetual inspiration mode with roadmap anchoring and external spark search. |
|
|
16
16
|
| `/wf-review <focus>` | workflow skill | `/wf-review security and test coverage` | Peer CLI review through Claude/Codex/OpenCode, with reviewer subagent fallback. |
|
|
17
17
|
| `/wf-learn` | workflow skill | `/wf-learn` | Force context-master -> memory-master learning cycle after repeated failures or closeout. |
|
|
18
|
+
| `/wf-browser <task>` | optional workflow skill | `/wf-browser verify checkout flow` | Browser automation/E2E workflow with real UI interaction, screenshots, traces, and CDP/network evidence when installed. |
|
|
18
19
|
| `/wf-readme <task>` | workflow skill | `/wf-readme polish quickstart` | Preserve, merge, or improve README docs without trampling existing project documentation. |
|
|
19
20
|
| `/wf-update` | direct command | `/wf-update` | Check/apply Harness scaffold updates with safe file classification and conflict handling. |
|
|
20
21
|
| `/wf-remove` | workflow skill | `/wf-remove` | Safely remove Harness files while preserving project/user data unless explicitly purged. |
|
|
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
|
|
|
8
8
|
static help or script command.
|
|
9
9
|
|
|
10
10
|
1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
|
|
11
|
-
2.
|
|
12
|
-
3.
|
|
11
|
+
2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
|
|
12
|
+
3. Execute per the skill adapter `.claude/skills/wf-learn/SKILL.md` (mirror: `.agents/skills/wf-learn/SKILL.md`).
|
|
13
|
+
4. Do not duplicate the workflow here. The skill adapter and `Harness/specs/protocols/MEMORY_PROTOCOL.md` are authoritative.
|
|
13
14
|
|
|
14
15
|
If this runtime cannot invoke the skill directly, read
|
|
15
16
|
`.claude/skills/wf-learn/SKILL.md` and follow it in place.
|
|
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
|
|
|
8
8
|
static help or script command.
|
|
9
9
|
|
|
10
10
|
1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
|
|
11
|
-
2.
|
|
12
|
-
3.
|
|
11
|
+
2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
|
|
12
|
+
3. Execute per the skill adapter `.claude/skills/wf-max/SKILL.md` (mirror: `.agents/skills/wf-max/SKILL.md`).
|
|
13
|
+
4. Do not duplicate the workflow here. The skill adapter and `Harness/specs/workflows/WF-MAX.md` are authoritative.
|
|
13
14
|
|
|
14
15
|
If this runtime cannot invoke the skill directly, read
|
|
15
16
|
`.claude/skills/wf-max/SKILL.md` and follow it in place.
|
|
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
|
|
|
8
8
|
static help or script command.
|
|
9
9
|
|
|
10
10
|
1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
|
|
11
|
-
2.
|
|
12
|
-
3.
|
|
11
|
+
2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
|
|
12
|
+
3. Execute per the skill adapter `.claude/skills/wf-readme/SKILL.md` (mirror: `.agents/skills/wf-readme/SKILL.md`).
|
|
13
|
+
4. Do not duplicate the workflow here. The skill adapter and the project root \`README.md\` ownership rules are authoritative.
|
|
13
14
|
|
|
14
15
|
If this runtime cannot invoke the skill directly, read
|
|
15
16
|
`.claude/skills/wf-readme/SKILL.md` and follow it in place.
|
|
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
|
|
|
8
8
|
static help or script command.
|
|
9
9
|
|
|
10
10
|
1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
|
|
11
|
-
2.
|
|
12
|
-
3.
|
|
11
|
+
2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
|
|
12
|
+
3. Execute per the skill adapter `.claude/skills/wf-remove/SKILL.md` (mirror: `.agents/skills/wf-remove/SKILL.md`).
|
|
13
|
+
4. Do not duplicate the workflow here. The skill adapter and `Harness/scripts/wf-remove.mjs` are authoritative.
|
|
13
14
|
|
|
14
15
|
If this runtime cannot invoke the skill directly, read
|
|
15
16
|
`.claude/skills/wf-remove/SKILL.md` and follow it in place.
|
|
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
|
|
|
8
8
|
static help or script command.
|
|
9
9
|
|
|
10
10
|
1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
|
|
11
|
-
2.
|
|
12
|
-
3.
|
|
11
|
+
2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
|
|
12
|
+
3. Execute per the skill adapter `.claude/skills/wf-review/SKILL.md` (mirror: `.agents/skills/wf-review/SKILL.md`).
|
|
13
|
+
4. Do not duplicate the workflow here. The skill adapter and the wf-review peer-review contract are authoritative.
|
|
13
14
|
|
|
14
15
|
If this runtime cannot invoke the skill directly, read
|
|
15
16
|
`.claude/skills/wf-review/SKILL.md` and follow it in place.
|
|
@@ -2,29 +2,87 @@
|
|
|
2
2
|
|
|
3
3
|
Run the Harness update checker script. Do not invoke a skill or start WF mode.
|
|
4
4
|
|
|
5
|
+
## Classification
|
|
6
|
+
|
|
7
|
+
MANIFEST-FIRST. The installer and updater read `Harness/ownership.manifest.json`:
|
|
8
|
+
|
|
9
|
+
- `preserve[]` - existing user data is never overwritten (tasks, memory, research, root README, package, architecture). Missing scaffold starter files may be created when no local user data exists. `Harness/tasks/**` is always preserved.
|
|
10
|
+
- `merge[]` - CLAUDE.md, AGENTS.md, MEMORY.md, Harness/MEMORY.md, Harness/README.md -> merge or accept-local; prior accepted decisions carry forward.
|
|
11
|
+
- `frameworkOwned[]` - safe overwrite-upgrade fast path (concurrent fetch + hash + all-or-nothing write after checksum validation).
|
|
12
|
+
- `optionalOwned[]` - upgraded only when that option is installed.
|
|
13
|
+
|
|
14
|
+
Content markers (`harness: wf-agent`, `project harness`, `Harness/...`) are the fallback when no manifest exists (old installs) and the instance-ownership signal that protects a user's same-name file at a Harness path. A same-name user file with no marker and no manifest declaration becomes conflict/skip + warning, never overwritten.
|
|
15
|
+
|
|
16
|
+
## Cache Discipline
|
|
17
|
+
|
|
18
|
+
Follow `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`: keep updater
|
|
19
|
+
scripts and ownership docs stable, consume compact `--json` agent plans first,
|
|
20
|
+
and avoid pasting verbose diffs or full remote files unless a conflict requires
|
|
21
|
+
targeted inspection.
|
|
22
|
+
|
|
5
23
|
## Flow
|
|
6
24
|
|
|
7
|
-
1. Run `node Harness/scripts/wf-update-check.mjs --json` and use the
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
25
|
+
1. Run `node Harness/scripts/wf-update-check.mjs --json` first and use the
|
|
26
|
+
`agent` block as the action plan. Preserve `agent.releaseHighlights` for the
|
|
27
|
+
user-facing update summary. Current updaters try npm
|
|
28
|
+
`create-harness-vibe-coding@latest` first, then the canonical GitHub source
|
|
29
|
+
`LiWeny16/create-harness-vibe-coding`, then the legacy compatibility mirror
|
|
30
|
+
`zingspark/create-harness-vibe-coding`.
|
|
31
|
+
2. Preserve all existing PRESERVE files. Never overwrite user task, memory,
|
|
32
|
+
research, root README.md, package, or architecture files. Missing scaffold
|
|
33
|
+
starter files may be created, and checksum-matching legacy architecture can
|
|
34
|
+
move to `Harness/project/architecture.md`. Harness/README.md is merge-tier,
|
|
35
|
+
not PRESERVE.
|
|
36
|
+
3. If `agent.safeApplyCommand` is present, run it to apply SAFE, NEW, and
|
|
37
|
+
adopted metadata-only files before spending AI time on conflicts. Default
|
|
38
|
+
command: `node Harness/scripts/wf-update-check.mjs --apply-safe`.
|
|
39
|
+
Framework-owned templates, commands, skills, agents, and scripts are
|
|
40
|
+
script-owned and should be overwritten by the updater after checksum
|
|
41
|
+
validation.
|
|
42
|
+
4. Previously accepted decisions for any merge-tier file (CLAUDE.md, AGENTS.md,
|
|
43
|
+
MEMORY.md, Harness/MEMORY.md, Harness/README.md) are carried forward
|
|
44
|
+
automatically when both the local hash and remote template hash are
|
|
45
|
+
unchanged.
|
|
46
|
+
5. If a new agent/command/skill path collides with an existing file, do not
|
|
47
|
+
decide by filename alone. Treat it as Harness-owned only when the file
|
|
48
|
+
content has Harness/WF markers such as `harness: wf-agent`,
|
|
49
|
+
`project harness`, or `Harness/...`; otherwise leave it as a real conflict.
|
|
50
|
+
6. For every remaining `agent.aiMergeRequired` entry, compare the local file
|
|
51
|
+
with `templateHint` or `remoteUrl`, then choose merge, keep-local, or
|
|
52
|
+
overwrite-from-template. Record the decision through the script with
|
|
53
|
+
`--accept-local <file>`, `--accept-merged <file>`, or
|
|
54
|
+
`--accept-template <file>`; do not hand-edit `Harness/.harness-version`.
|
|
55
|
+
Ask the user only when the intent is ambiguous.
|
|
56
|
+
7. Run `node Harness/scripts/wf-update-check.mjs --finalize` after all
|
|
57
|
+
conflicts have script-recorded decisions. Use strict `--apply` only when the
|
|
58
|
+
JSON plan has zero conflicts.
|
|
59
|
+
8. After update, run `node Harness/scripts/validate-harness.mjs` and then
|
|
60
|
+
`node Harness/scripts/scan-clean.mjs`.
|
|
13
61
|
|
|
14
|
-
Codex users without a direct command surface: use `$wf-update` (skill path) or
|
|
62
|
+
Codex users without a direct command surface: use `$wf-update` (skill path) or
|
|
63
|
+
`node Harness/scripts/wf-update-check.mjs`.
|
|
15
64
|
|
|
16
65
|
## Recovery
|
|
17
66
|
|
|
18
|
-
If
|
|
67
|
+
If `Harness/scripts/wf-update-check.mjs` is missing (old install without updater), or `Harness/.harness-version` is missing or corrupted, do NOT reinstall from scratch. Recover by regenerating missing infrastructure:
|
|
19
68
|
|
|
20
69
|
```
|
|
21
70
|
npx create-harness-vibe-coding@latest <project-name> . -y --on-conflict skip
|
|
22
71
|
```
|
|
23
72
|
|
|
24
|
-
|
|
73
|
+
The `--on-conflict skip` policy preserves all existing user files (CLAUDE.md, README.md, tasks, memory, research, architecture) and only creates missing Harness infrastructure files. After recovery, re-run the update check.
|
|
25
74
|
|
|
26
|
-
If an old updater reports only `0.8.10`, run the latest installer command above
|
|
75
|
+
If an old updater reports only `0.8.10`, run the latest installer command above
|
|
76
|
+
or re-run the checker with:
|
|
27
77
|
|
|
28
78
|
```
|
|
29
79
|
node Harness/scripts/wf-update-check.mjs --json --source-base https://raw.githubusercontent.com/LiWeny16/create-harness-vibe-coding/main/templates/common/
|
|
30
80
|
```
|
|
81
|
+
|
|
82
|
+
## Return
|
|
83
|
+
|
|
84
|
+
Report version, SAFE/NEW updates, conflicts and decisions, preserved files,
|
|
85
|
+
partialUpdate status if any, validation output, scan-clean result, and remaining
|
|
86
|
+
risks. Also report the core release highlights from `agent.releaseHighlights`
|
|
87
|
+
or `releaseNotes.highlights` so the user understands what changed in this
|
|
88
|
+
Harness version, not only which files changed.
|
|
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
|
|
|
8
8
|
static help or script command.
|
|
9
9
|
|
|
10
10
|
1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
|
|
11
|
-
2.
|
|
12
|
-
3.
|
|
11
|
+
2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
|
|
12
|
+
3. Execute per the skill adapter `.claude/skills/wf/SKILL.md` (mirror: `.agents/skills/wf/SKILL.md`).
|
|
13
|
+
4. Do not duplicate the workflow here. The skill adapter and `Harness/specs/workflows/WF.md` are authoritative.
|
|
13
14
|
|
|
14
15
|
If this runtime cannot invoke the skill directly, read
|
|
15
16
|
`.claude/skills/wf/SKILL.md` and follow it in place.
|
|
@@ -6,17 +6,17 @@ This repository dogfoods the generated Harness scaffold. Scaffold source files l
|
|
|
6
6
|
|
|
7
7
|
If `Harness/` exists, this repository is governed by the Harness contract.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Default installed-project startup is thin: after loading `CLAUDE.md`, read `Harness/memory/startup-hints.md` (L2 lightweight digest, 5-10 hints). This is NOT loading `Harness/MEMORY.md`, `Harness/README.md`, or PROGRESS — it is a minimal startup hint file only.
|
|
10
10
|
|
|
11
11
|
Use **direct mode** for simple, single-step, low-risk requests: commit, push, one-line fix, file read, code question, git log, git status, or similar small operations.
|
|
12
12
|
|
|
13
13
|
In direct mode, do not load the full Harness router. Inspect only the files needed for the task and execute directly.
|
|
14
14
|
|
|
15
|
-
Complex work may use direct planning, task capsules, tests, and subagents without entering WF. WF
|
|
15
|
+
Complex work may use direct planning, task capsules, tests, and subagents without entering WF. WF execution modes are explicit only: the user must type `/wf`, `$wf`, `/skills wf`, `/wf-max`, `$wf-max`, `/skills wf-max`, `/wf-auto`, `$wf-auto`, `/skills wf-auto`, `/wf-auto-spark`, `$wf-auto-spark`, or `/skills wf-auto-spark` to enter the WF kernel. No other phrasing, complexity heuristic, or inferred intent triggers WF.
|
|
16
16
|
|
|
17
17
|
`/wf-help` and `/wf-update` are **direct commands** — do NOT load `Harness/MEMORY.md`, do NOT enter WF, do NOT invoke a skill. Execute them immediately as static help / script commands respectively.
|
|
18
18
|
|
|
19
|
-
For
|
|
19
|
+
For non-direct workflow commands (`/wf`, `/wf-max`, `/wf-auto`, `/wf-review`, `/wf-learn`, `/wf-readme`, `/wf-remove`, `/wf-browser`, `/wf-auto-spark`, and matching `$wf-*` or `/skills wf-*` forms), load `Harness/MEMORY.md` first, then `Harness/README.md`.
|
|
20
20
|
|
|
21
21
|
### Active Task Resume
|
|
22
22
|
|
|
@@ -30,11 +30,9 @@ If the user says "continue", "resume", "last task", "current task", "status", "w
|
|
|
30
30
|
6. Do NOT bulk-read `Harness/tasks/` to find context. Use the active pointer.
|
|
31
31
|
7. Direct simple tasks may skip STATE/PLAN/PROGRESS unless the user says "continue"/"resume".
|
|
32
32
|
|
|
33
|
-
See `Harness/WF-STATE.md` for the full state machine contract. Completed/abandoned tasks are archived to `Harness/tasks/_archive/` per `Harness/TASK_ARCHIVE.md`.
|
|
33
|
+
See `Harness/specs/workflows/WF-STATE.md` for the full state machine contract. Completed/abandoned tasks are archived to `Harness/tasks/_archive/` per `Harness/specs/protocols/TASK_ARCHIVE.md`.
|
|
34
34
|
|
|
35
|
-
Use **/wf** for multi-step work that needs structured coordination. Use **/wf-max** for maximum-parallelism with CEO/Manager/Worker decomposition. See `Harness/WF.md` for tier selection (WF-Light, WF-Standard, WF-Full) and `Harness/WF-MAX.md` for fan-out rules (WF-Max-Useful, WF-Max-Strict).
|
|
36
|
-
|
|
37
|
-
`Harness/SETUP.md` is a bootstrap-only document: it exists only while the harness install is not yet finalized. If it exists, finish the bootstrap it describes once, then delete or archive it. Installed projects must not keep `Harness/SETUP.md` in the startup path, and normal sessions must not route through it.
|
|
35
|
+
Use **/wf** for multi-step work that needs structured coordination. Use **/wf-max** for maximum-parallelism with CEO/Manager/Worker decomposition. See `Harness/specs/workflows/WF.md` for tier selection (WF-Light, WF-Standard, WF-Full) and `Harness/specs/workflows/WF-MAX.md` for fan-out rules (WF-Max-Useful, WF-Max-Strict).
|
|
38
36
|
|
|
39
37
|
### 1a. WF-MAX Role Contract
|
|
40
38
|
|
|
@@ -48,7 +46,11 @@ Each Worker dispatch must define: role, objective, allowed writeSet, forbidden f
|
|
|
48
46
|
|
|
49
47
|
Workers may edit only inside their assigned writeSet. Reviewers and verifiers must be independent from the Worker whose output they evaluate.
|
|
50
48
|
|
|
51
|
-
Detailed WF-MAX role rules live in `Harness/WF-KERNEL.md`, `Harness/WF-MAX.md`, and `Harness/subagents.md`.
|
|
49
|
+
Detailed WF-MAX role rules live in `Harness/specs/workflows/WF-KERNEL.md`, `Harness/specs/workflows/WF-MAX.md`, and `Harness/specs/runtime/subagents.md`.
|
|
50
|
+
|
|
51
|
+
### 1b. User-Facing Language
|
|
52
|
+
|
|
53
|
+
Match the user's language for all user-facing prose. Use the dominant language of the latest user message unless the user explicitly asks for another language; preserve code, identifiers, file paths, commands, logs, and quoted source text exactly.
|
|
52
54
|
|
|
53
55
|
## 2. Think Before Coding
|
|
54
56
|
|
|
@@ -85,8 +87,8 @@ Detailed WF-MAX role rules live in `Harness/WF-KERNEL.md`, `Harness/WF-MAX.md`,
|
|
|
85
87
|
- Every task needs a test, build check, validator run, or recorded manual check.
|
|
86
88
|
- Do not claim web/UI acceptance without real-browser evidence from Chrome DevTools, CDP, Playwright, or documented manual browser checks.
|
|
87
89
|
- Do not place project build scripts, git conventions, run commands, or release process in this file. Put them in `README.md`.
|
|
88
|
-
- Do not place code architecture here. Put architecture in `Harness/architecture.md` or the current feature doc.
|
|
89
|
-
- If this file has accumulated unrelated project notes, pause and propose moving them to the right place: `README.md` for development operations, `Harness/architecture.md` for architecture, `Harness/WF.md` or `Harness/workflows/` for workflow rules.
|
|
90
|
+
- Do not place code architecture here. Put architecture in `Harness/project/architecture.md` or the current feature doc.
|
|
91
|
+
- If this file has accumulated unrelated project notes, pause and propose moving them to the right place: `README.md` for development operations, `Harness/project/architecture.md` for architecture, `Harness/specs/workflows/WF.md` or `Harness/workflows/` for workflow rules.
|
|
90
92
|
|
|
91
93
|
## 5a. Low-Noise Progress
|
|
92
94
|
|
|
@@ -107,9 +109,9 @@ Never record secrets, credentials, tokens, or private data in memory.
|
|
|
107
109
|
|
|
108
110
|
## 7. Mode Constraints
|
|
109
111
|
|
|
110
|
-
- Never call `EnterPlanMode`. Delegate planning to `planner` subagents (see `Harness/WF.md`).
|
|
112
|
+
- Never call `EnterPlanMode`. Delegate planning to `planner` subagents (see `Harness/specs/workflows/WF.md`).
|
|
111
113
|
- In `/wf` or `/wf-max`, follow the selected workflow role contract instead of improvising execution flow.
|
|
112
114
|
- In `/wf-max`, the CEO must not edit source files directly. Implementation must be delegated to Workers with explicit writeSet boundaries.
|
|
113
115
|
- If a Worker dispatch is missing role, objective, writeSet, forbidden scope, or verification requirements, the controller must not proceed with source edits.
|
|
114
116
|
|
|
115
|
-
Keep CLAUDE.md as a thin routing and global-behavior file. Put detailed workflows in `Harness/WF.md` or `Harness/workflows/`, subagent rules in `Harness/subagents.md`, architecture in `Harness/architecture.md`, and project operations in `README.md`.
|
|
117
|
+
Keep CLAUDE.md as a thin routing and global-behavior file. Put detailed workflows in `Harness/specs/workflows/WF.md` or `Harness/workflows/`, subagent rules in `Harness/specs/runtime/subagents.md`, architecture in `Harness/project/architecture.md`, and project operations in `README.md`.
|
|
@@ -29,10 +29,11 @@ Stack-specific agents can be added after the product shape is known.
|
|
|
29
29
|
|
|
30
30
|
## Skills (Workflows)
|
|
31
31
|
|
|
32
|
-
- [WF Mode](WF.md) - WF-KERNEL tiered orchestration: WF-Light (minimal roles), WF-Standard (adds review), WF-Full (complete role chain incl. reflector and cross-review).
|
|
32
|
+
- [WF Mode](specs/workflows/WF.md) - WF-KERNEL tiered orchestration: WF-Light (minimal roles), WF-Standard (adds review), WF-Full (complete role chain incl. reflector and cross-review).
|
|
33
33
|
- [wf](../.claude/skills/wf/SKILL.md) - Claude Code WF skill command; mirrored for Codex at `../.agents/skills/wf/SKILL.md`.
|
|
34
34
|
- [subagent-orchestrator](../.claude/skills/subagent-orchestrator/SKILL.md) - controller-led subagent orchestration, parallel read-only passes, review gates, and recovery handoffs.
|
|
35
35
|
- [wf-readme](../.claude/skills/wf-readme/SKILL.md) - README preservation, append-only development sections, structured tables, and approved architecture diagrams.
|
|
36
|
+
- [wf-agents-docs](../.claude/skills/wf-agents-docs/SKILL.md) - source-backed Claude/Codex/OpenCode CLI invocation, JSON output, resume, telemetry, and automation gotchas.
|
|
36
37
|
- [wf-review](../.claude/skills/wf-review/SKILL.md) - peer review: prefer another agent CLI (Claude/Codex/OpenCode); otherwise use the installed reviewer role as an independent subagent context. Controller decides.
|
|
37
38
|
- [wf-update](../.claude/skills/wf-update/SKILL.md) - GitHub-based incremental harness update, checksum comparison, and safe in-place updates.
|
|
38
39
|
- [wf-learn](../.claude/skills/wf-learn/SKILL.md) - force memory learning cycle: context-master -> memory-master -> project + global memory.
|
|
@@ -47,6 +48,7 @@ Codex repo-skill mirrors live under `../.agents/skills/` with the same skill nam
|
|
|
47
48
|
## Direct Commands
|
|
48
49
|
|
|
49
50
|
- [wf-help](../.claude/commands/wf-help.md) - direct `/wf-help` command that returns a WF command table without invoking a skill.
|
|
51
|
+
- [wf-update](../.claude/commands/wf-update.md) - direct `/wf-update` command for script-driven update checks, safe apply, conflict handling, and release highlights.
|
|
50
52
|
|
|
51
53
|
Stack-specific skills can be added after the product shape is known.
|
|
52
54
|
|
|
@@ -62,26 +64,27 @@ Located under `.claude/rules/ecc/`, auto-loaded by the CC engine:
|
|
|
62
64
|
## Harness (Runtime)
|
|
63
65
|
|
|
64
66
|
- [Docs router](README.md)
|
|
65
|
-
- [Acceptance protocol](ACCEPTANCE_PROTOCOL.md)
|
|
66
|
-
- [Agent isolation protocol](AGENT_ISOLATION.md)
|
|
67
|
-
- [Harness Bridge](HARNESS_BRIDGE.md)
|
|
68
|
-
- [Debug protocol](DEBUG_PROTOCOL.md)
|
|
69
|
-
- [Memory protocol](MEMORY_PROTOCOL.md)
|
|
70
|
-
- [WF mode](WF.md)
|
|
71
|
-
- [WF Max mode](WF-MAX.md)
|
|
72
|
-
- [WF kernel contract](WF-KERNEL.md)
|
|
73
|
-
- [WF state machine / resume](WF-STATE.md)
|
|
74
|
-
- [Task archive mechanism](TASK_ARCHIVE.md)
|
|
75
|
-
- [0-1 lifecycle](lifecycle.md)
|
|
67
|
+
- [Acceptance protocol](specs/protocols/ACCEPTANCE_PROTOCOL.md)
|
|
68
|
+
- [Agent isolation protocol](specs/protocols/AGENT_ISOLATION.md)
|
|
69
|
+
- [Harness Bridge](specs/protocols/HARNESS_BRIDGE.md)
|
|
70
|
+
- [Debug protocol](specs/protocols/DEBUG_PROTOCOL.md)
|
|
71
|
+
- [Memory protocol](specs/protocols/MEMORY_PROTOCOL.md)
|
|
72
|
+
- [WF mode](specs/workflows/WF.md)
|
|
73
|
+
- [WF Max mode](specs/workflows/WF-MAX.md)
|
|
74
|
+
- [WF kernel contract](specs/workflows/WF-KERNEL.md)
|
|
75
|
+
- [WF state machine / resume](specs/workflows/WF-STATE.md)
|
|
76
|
+
- [Task archive mechanism](specs/protocols/TASK_ARCHIVE.md)
|
|
77
|
+
- [0-1 lifecycle](specs/guides/lifecycle.md)
|
|
76
78
|
- [Research protocol](research/README.md)
|
|
77
|
-
- [Context loading protocol](context-loading.md)
|
|
78
|
-
- [Dispatch protocol](dispatch.md)
|
|
79
|
-
- [Subagent orchestration](subagents.md)
|
|
80
|
-
- [Extension contract](extension.md)
|
|
81
|
-
- [Architecture docs](architecture.md)
|
|
82
|
-
- [Agent workflow](agent-workflow.md)
|
|
79
|
+
- [Context loading protocol](specs/runtime/context-loading.md)
|
|
80
|
+
- [Dispatch protocol](specs/runtime/dispatch.md)
|
|
81
|
+
- [Subagent orchestration](specs/runtime/subagents.md)
|
|
82
|
+
- [Extension contract](specs/guides/extension.md)
|
|
83
|
+
- [Architecture docs](project/architecture.md)
|
|
84
|
+
- [Agent workflow](specs/runtime/agent-workflow.md)
|
|
83
85
|
- [Acceptance templates](templates/)
|
|
84
86
|
- [Harness validator](scripts/validate-harness.mjs)
|
|
87
|
+
- [Settings](settings.json)
|
|
85
88
|
- [Version file](.harness-version)
|
|
86
89
|
|
|
87
90
|
## Memory Folder
|