@kodevibe/harness 0.9.6 → 0.11.1

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/README.ko.md CHANGED
@@ -13,6 +13,10 @@
13
13
 
14
14
  AI 코딩 에이전트를 위한 프로덕션급 가드레일. 컨텍스트 부패를 방지하고, 프로젝트 방향을 강제하며, 세션 간 상태를 유지합니다. **Copilot, Claude, Cursor, Codex, Windsurf, Gemini** 지원. 의존성 제로.
15
15
 
16
+ > **에코시스템 내 위치.** kode:harness는 **kode:vibe** 에코시스템의 *실행(execution)* 레이어입니다 — 계획 레이어(PRD / 아키텍처 / ARB)와 인프라 레이어(CI / 런타임) 사이에 위치하며, 코딩 중 AI의 방향을 잡아주는 역할을 합니다. 다른 레이어는 선택이며, kode:harness만 독립적으로 쓸 수 있습니다.
17
+
18
+ > **Pre-1.0 안정성 고지.** 0.x 활발 개발 단계. CLI 플래그·상태 파일·스킬/에이전트 계약은 minor 버전 간 변경될 수 있습니다. v1.0.0은 IDE 호환·외부 production 사용이 30일 이상 동결된 후에야 컷합니다.
19
+
16
20
  ---
17
21
 
18
22
  ## 빠른 시작
@@ -28,6 +32,8 @@ npx @kodevibe/harness init # IDE 선택
28
32
 
29
33
  끝입니다. 이제 AI는 영속적인 메모리, 방향 가드레일, 자기 교정 루프를 갖게 됩니다.
30
34
 
35
+ v0.11부터는 **Proof-First Enforcement**가 Common Mode Confidence Loop 위에 추가됩니다. pm은 실행 가능한 proof를 계획해야 하고, lead는 증거 없이 Story를 완료 처리하지 않으며, reviewer는 proof가 없거나 실패하면 커밋 안내 전에 멈추고, state-check는 Proof Ledger 누락을 점검합니다.
36
+
31
37
  <details>
32
38
  <summary>추가 설치 옵션</summary>
33
39
 
@@ -58,6 +64,56 @@ npx @kodevibe/harness init --ide antigravity
58
64
 
59
65
  ---
60
66
 
67
+ ## 기존 설치 업그레이드
68
+
69
+ 이미 kode:harness가 설치된 프로젝트에서 `init`을 다시 실행하면 project state와 agent memory는 보존하고 IDE 설정 파일만 최신 버전으로 갱신합니다. 기본 동작은 데이터 손실 없이 진행되며, 덮어쓴 IDE 설정은 자동 백업됩니다.
70
+
71
+ | 범주 | 기본 동작 | 세부 내용 |
72
+ |------|----------|----------|
73
+ | **State files** | 보존 | `project-state.md`, `failure-patterns.md`, `dependency-map.md`, `features.md`, `project-brief.md` |
74
+ | **Agent memory** | 보존 | solo 모드에서는 `docs/agent-memory/`, team 모드에서는 `.harness/agent-memory/` |
75
+ | **IDE config** | 매 실행 갱신 | `.github/copilot-instructions.md`, `CLAUDE.md`, `.claude/`, `.cursor/`, `.codex/`, `.windsurf/`, `.agents/`, `AGENTS.md` |
76
+ | **백업 위치** | 자동 생성 | 기존 IDE 설정 → `.harness/init-backups/<ISO-timestamp>/...` |
77
+
78
+ ```bash
79
+ npx @kodevibe/harness init --ide <vscode|claude|cursor|codex|windsurf|antigravity> --batch
80
+ ```
81
+
82
+ `--overwrite`는 state files까지 초기화하므로, 손상된 상태 파일을 재생성해야 할 때만 사용하세요.
83
+
84
+ ---
85
+
86
+ ## 안전 제거
87
+
88
+ `init`은 `.harness/install-manifest.json`에 생성 파일, hash, IDE 대상, 모드, 백업 경로를 기록합니다. `uninstall`은 이 manifest를 사용해 kode:harness가 관리한 파일만 제거합니다.
89
+
90
+ ```bash
91
+ # 먼저 미리보기. 파일은 변경되지 않습니다.
92
+ npx @kodevibe/harness uninstall --ide claude --dry-run
93
+
94
+ # 적용. state files와 agent memory는 기본 보존됩니다.
95
+ npx @kodevibe/harness uninstall --ide claude --yes
96
+ ```
97
+
98
+ 안전 규칙:
99
+
100
+ - `docs/project-state.md`, `docs/project-brief.md`, `docs/features.md`, `docs/dependency-map.md`, `docs/failure-patterns.md`, agent memory는 기본 보존됩니다.
101
+ - 기존 `CLAUDE.md` 또는 `AGENTS.md`를 `init`이 덮어쓴 경우 `.harness/init-backups/<timestamp>/...`에서 복원합니다.
102
+ - 설치 후 수정된 managed file은 `--force` 없이는 건드리지 않고 skip합니다.
103
+ - `AGENTS.md`, `.agents/skills/*`처럼 여러 IDE가 공유하는 경로는 다른 active install이 소유 중이면 보존하거나 남은 owner의 내용으로 되돌립니다.
104
+ - 삭제/복원 전 파일은 `.harness/uninstall-backups/<timestamp>/...`에 백업됩니다.
105
+
106
+ ```bash
107
+ npx @kodevibe/harness uninstall --all --dry-run # 감지된 전체 IDE 제거 계획 확인
108
+ npx @kodevibe/harness uninstall --ide vscode --yes # 특정 IDE 표면만 제거
109
+ npx @kodevibe/harness uninstall --ide vscode --yes --purge-state
110
+ npx @kodevibe/harness uninstall --all --yes --purge-state --purge-backups
111
+ ```
112
+
113
+ `--purge-state`는 생성된 state files까지 의도적으로 삭제할 때만 사용하세요. `--purge-state --purge-backups`를 함께 쓰면 active install이 모두 제거된 뒤 `.harness/install-manifest.json`까지 삭제되어 kode:harness 흔적을 남기지 않습니다.
114
+
115
+ ---
116
+
61
117
  ## 문제: 컨텍스트 부패 (Context Rot)
62
118
 
63
119
  AI 코딩 에이전트는 매 세션 제로에서 시작합니다. 세션 3에서는 세션 1의 아키텍처 결정을 잊고, 세션 10에서는 이미 확정된 사항을 다시 논의하며 자신의 이전 작업과 모순됩니다.
@@ -71,6 +127,7 @@ kode:harness는 세 가지 메커니즘으로 해결합니다:
71
127
  | **상태 영속성** | AI가 세션 간 목표, 결정, 진행 상황을 잊는 것 |
72
128
  | **방향 가드** | AI가 프로젝트 목표에서 이탈하거나 과거 결정과 모순되는 것 |
73
129
  | **실패 패턴** | AI가 세션 간 같은 실수를 반복하는 것 |
130
+ | **Proof Ledger** | 테스트·스모크 증거 없이 진행됐다고 착각하는 것 |
74
131
 
75
132
  ---
76
133
 
@@ -90,10 +147,14 @@ kode:harness는 세 가지 메커니즘으로 해결합니다:
90
147
  | 기능 | 설명 |
91
148
  |------|------|
92
149
  | 🛡️ **Direction Guard** | 모든 코딩 요청을 프로젝트 목표/비목표와 대조 후 실행 |
93
- | 🧭 **Navigation Dispatcher** | 5개 파이프라인을 따라 다음 단계 프롬프트를 자동 안내 |
150
+ | 🧭 **Quiet Navigator** | 현재 목표와 필요한 증거 중심의 짧은 다음 행동 안내 |
151
+ | ✅ **Evidence-Gated Progress Board** | 테스트/스모크 증거가 있어야 Planned → Proof Pending → Proven으로 진행 |
152
+ | 📒 **Proof Ledger** | review/wrap-up 출력에 명령어, 결과, 관찰 증거를 짧게 기록 |
153
+ | 🔒 **Proof-First Enforcement** | pm/lead/reviewer/state-check가 모호한 계획, 증거 없는 완료, 실패한 테스트, 누락된 proof 기록을 막음 |
154
+ | 🗂️ **Project Docs Bridge** | 원본과 visibility 경계를 보존하며 로컬 docs hub 인덱스 생성 |
94
155
  | 📝 **상태 영속성** | LLM 세션 간 프로젝트 지식을 유지하는 5개 마크다운 파일 |
95
156
  | 🔄 **5개 파이프라인** | 🟢 신규 → 🔵 계속 → 🔴 버그 수정 → 🟡 방향 전환 → 🟣 Crew 기반 |
96
- | 🛠️ **11개 스킬** | 단계별 절차: setup, debug, breakdown, review, pivot, state-check 등 |
157
+ | 🛠️ **12개 스킬** | 단계별 절차: setup, debug, breakdown, docs-bridge, review, pivot, state-check 등 |
97
158
  | 🤖 **4개 에이전트** | 역할 기반 페르소나: pm, reviewer, lead, architect |
98
159
  | ⚠️ **실패 패턴** | 세션 간 같은 실수를 방지하는 프로젝트별 실패 기록 |
99
160
  | 📋 **Decision Log** | 결정의 이유를 기록해 LLM이 확정된 사항을 재논의하지 않도록 방지 |
@@ -106,20 +167,23 @@ kode:harness는 세 가지 메커니즘으로 해결합니다:
106
167
  ```bash
107
168
  npx @kodevibe/harness doctor # 파일 설치 상태 확인
108
169
  npx @kodevibe/harness validate # state 파일에 실제 내용 확인
170
+ npx @kodevibe/harness uninstall --dry-run --ide vscode # 안전 제거 미리보기
109
171
  ```
110
172
 
111
173
  ---
112
174
 
113
175
  ## 지원 IDE
114
176
 
115
- | IDE | 디스패처 (always-on) | 스킬 | 에이전트 |
116
- |-----|---------------------|------|----------|
117
- | **VS Code Copilot** | `.github/copilot-instructions.md` | `.github/skills/*/SKILL.md` | `.github/agents/*.agent.md` |
118
- | **Claude Code** | `CLAUDE.md` (+ `.claude/rules/core.md`) | `.claude/skills/*/SKILL.md` | `.claude/agents/*.md` |
119
- | **Cursor** | `.cursor/rules/core.mdc` (+ `AGENTS.md`) | `.agents/skills/*/SKILL.md` (cross-tool) | `.cursor/rules/<agent>.mdc` |
120
- | **Codex** | `AGENTS.md` | `.agents/skills/*/SKILL.md` | `.codex/agents/*.toml` |
121
- | **Windsurf** | `.windsurf/rules/core.md` | `.windsurf/skills/*/SKILL.md` | *(스킬로 설치)* |
122
- | **Antigravity** | `AGENTS.md` | `.agents/skills/*/SKILL.md` (cross-tool) | `.agents/rules/<agent>.md` |
177
+ 어떤 걸 고를지 모르겠다면? 이미 코딩하고 있는 IDE 그대로 고르면 됩니다 모든 경로는 동일한 `harness/` 소스에서 생성되므로 스킬/에이전트 내용은 동일합니다:
178
+
179
+ | IDE | 이럴 때 고르세요 | 디스패처 (always-on) | 스킬 | 에이전트 |
180
+ |-----|--------------------|---------------------|------|----------|
181
+ | **VS Code Copilot** | VS Code를 주로 쓰고 GitHub Copilot Chat 사용. | `.github/copilot-instructions.md` | `.github/skills/*/SKILL.md` | `.github/agents/*.agent.md` |
182
+ | **Claude Code** | 터미널/Claude Code CLI 선호. | `CLAUDE.md` (+ `.claude/rules/core.md`) | `.claude/skills/*/SKILL.md` | `.claude/agents/*.md` |
183
+ | **Cursor** | Cursor 에디터 사용. | `.cursor/rules/core.mdc` (+ `AGENTS.md`) | `.agents/skills/*/SKILL.md` (cross-tool) | `.cursor/rules/<agent>.mdc` |
184
+ | **Codex** | OpenAI Codex CLI 서브에이전트 사용. | `AGENTS.md` | `.agents/skills/*/SKILL.md` | `.codex/agents/*.toml` |
185
+ | **Windsurf** | Codeium/Windsurf 사용. | `.windsurf/rules/core.md` | `.windsurf/skills/*/SKILL.md` | *(스킬로 설치)* |
186
+ | **Antigravity** | Google Antigravity / Gemini 사용. | `AGENTS.md` | `.agents/skills/*/SKILL.md` (cross-tool) | `.agents/rules/<agent>.md` |
123
187
 
124
188
  모든 IDE에 `docs/` 디렉토리에 State 파일(`project-state.md`, `project-brief.md`, `features.md`, `failure-patterns.md`, `dependency-map.md`)도 함께 설치됩니다.
125
189
 
@@ -143,6 +207,7 @@ npx @kodevibe/harness validate # state 파일에 실제 내용 확인
143
207
  | **debug** | 4단계 체계적 디버깅 (증거 → 범위축소 → 수정 → 검증) |
144
208
  | **check-impact** | 공유 모듈 수정 전 영향 범위 평가 |
145
209
  | **breakdown** | 기능을 의존성 순서대로 구현 태스크로 분해 |
210
+ | **docs-bridge** | 원본 문서를 보존하면서 repository docs를 wiki/docs hub와 연결할 수 있는 로컬 인덱스 생성 |
146
211
  | **pr-review** | PR 코드 리뷰: 품질, 보안, 방향 정렬 확인 |
147
212
  | **release** | 배포 전 검증 체크리스트 (테스트, state 파일, 보안, 버전) |
148
213
 
@@ -165,6 +230,8 @@ npx @kodevibe/harness validate # state 파일에 실제 내용 확인
165
230
  | **dependency-map.md** | 영향 분석을 위한 모듈 의존성 그래프 ("어떻게"에 대한 기록) |
166
231
  | **failure-patterns.md** | 반복 실수를 방지하는 프로젝트별 실패 패턴 ("주의사항") |
167
232
 
233
+ `project-brief.md`에는 필요 시 **Project Docs Hub Index**를 함께 둘 수 있습니다. 로컬 문서를 wiki, Confluence, Obsidian vault, 사내 문서 허브에서 찾을 수 있게 연결할 때 사용합니다. tracked index에는 repository-relative source와 정제된 hub alias만 두고, PC별 resolver 정보는 ignored `.harness/docs-bridge.local.*` 파일에 둡니다.
234
+
168
235
  ---
169
236
 
170
237
  ## 작동 방식
@@ -244,7 +311,7 @@ npx @kodevibe/harness init --team
244
311
 
245
312
  ## Iron Laws
246
313
 
247
- 10개 규칙이 모든 스킬과 에이전트에 적용됩니다. kode:harness로 관리되는 프로젝트의 품질 근간을 형성합니다.
314
+ 11개 규칙이 모든 스킬과 에이전트에 적용됩니다. kode:harness로 관리되는 프로젝트의 품질 근간을 형성합니다.
248
315
 
249
316
  | # | 규칙 | 적용 대상 |
250
317
  |---|------|----------|
@@ -256,6 +323,9 @@ npx @kodevibe/harness init --team
256
323
  | 6 | **의존성 맵** — 모듈 추가/수정 → 같은 커밋에서 `dependency-map.md` 업데이트 | `reviewer`, `wrap-up` |
257
324
  | 7 | **기능 레지스트리** — 새 기능 → 같은 커밋에서 `features.md`에 등록 | `reviewer`, `wrap-up` |
258
325
  | 8 | **세션 핸드오프** — 세션 종료 → `project-state.md` Quick Summary 업데이트 | `wrap-up` |
326
+ | 9 | **Common First** — Common 모드는 crew 산출물 없이 동작해야 하며 crew-only 로직은 marker block 안에만 둠 | 모든 에이전트 |
327
+ | 10 | **Self-Verify** — DONE 보고 전 `state-check` 실행. FAIL이면 DONE 금지 | 모든 에이전트 |
328
+ | 11 | **Proof First** — passing proof 없이는 Story를 Proven, Reviewed, DONE, commit guidance로 이동 금지 | `pm`, `lead`, `reviewer`, `state-check` |
259
329
 
260
330
  ---
261
331
 
@@ -283,6 +353,16 @@ Bootstrap이 `docs/crew/`, `docs/PM/`, `docs/Analyst/`, `docs/ARB/`에서 crew
283
353
 
284
354
  원본 crew 문서는 **절대 수정되지 않습니다**. 인덱스와 트래커만 생성됩니다.
285
355
 
356
+ ### Project Docs Bridge
357
+
358
+ 프로젝트 문서가 README, `docs/`, ADR, runbook, API spec, 기획 산출물로 흩어져 있다면 `docs-bridge`를 실행합니다:
359
+
360
+ ```bash
361
+ > "이 프로젝트 문서를 wiki/docs hub와 연결해줘"
362
+ ```
363
+
364
+ `project-brief.md`에 Project Docs Hub Index를 추가해 각 로컬 원본, 역할, 정제된 hub 대상, sync 방향, visibility, 상태, 검토일을 기록합니다. 원본은 repository에 남깁니다. 외부 hub에 요약이나 링크를 쓰는 작업은 사용자가 명시적으로 요청하고 visibility boundary를 확인한 뒤에만 진행합니다.
365
+
286
366
  ### 다른 프레임워크와의 비교
287
367
 
288
368
  | | BMAD v6.2.2 | gstack v0.15.1 | GSD v1.33.0 | **kode:harness** |
@@ -292,7 +372,7 @@ Bootstrap이 `docs/crew/`, `docs/PM/`, `docs/Analyst/`, `docs/ARB/`에서 crew
292
372
  | 의존성 | Node 20+ | Bun + Node + Playwright | Node 18+ | **Zero** |
293
373
  | IDE 지원 | 20+ (installer) | 5 (setup --host) | 13 (runtime select) | 6 (네이티브 포맷) |
294
374
  | 방향 관리 | ❌ | ❌ | ❌ | ✅ (Direction Guard + pivot + Decision Log) |
295
- | Iron Laws (코드 품질 규칙) | ❌ | ❌ | ❌ | ✅ (10개 규칙이 스킬에 임베딩) |
375
+ | Iron Laws (코드 품질 규칙) | ❌ | ❌ | ❌ | ✅ (11개 규칙이 스킬에 임베딩) |
296
376
  | Cold start | ❌ | ❌ | `/gsd-new-project` | ✅ (`setup` 스킬) |
297
377
  | 태스크당 컨텍스트 | 4-6 파일 | 1 파일 | 매번 200k 플랜 | **2-3 파일 (136줄 디스패처)** |
298
378
 
@@ -300,7 +380,7 @@ Bootstrap이 `docs/crew/`, `docs/PM/`, `docs/Analyst/`, `docs/ARB/`에서 crew
300
380
 
301
381
  ## 로드맵
302
382
 
303
- kode:harness는 현재 **v0.9.6** — init이 덮어쓰는 IDE 파일을 `.harness/init-backups/<timestamp>/...`에 백업하고, 배포 파일의 pm 네이밍과 LICENSE 브랜딩을 정리했습니다. v0.9.5는 경량성 예산 재교정(40K/1500/2500)과 Iron Laws/디스패처 정합성 수정입니다.
383
+ kode:harness는 현재 **v0.11.1** — manifest 기반 안전 제거를 추가해 설치 흔적을 미리보기, 보존, 복원, purge 흐름으로 관리합니다. Common Mode의 proof-first 동작도 계속 강제합니다.
304
384
 
305
385
  | 단계 | 버전 | 상태 | 초점 |
306
386
  |------|------|------|------|
@@ -312,11 +392,17 @@ kode:harness는 현재 **v0.9.6** — init이 덮어쓰는 IDE 파일을 `.harne
312
392
  | **Self-Verify** | v0.9.2 | ✅ 완료 | state-check 스킬, Iron Law #10, Confirmation Gate Defaults, 멀티 IDE 수정, CI Artifact Index |
313
393
  | **IDE Realignment** | v0.9.4 | ✅ 완료 | 6개 IDE 어댑터 공식 문서 정합; Antigravity `.agents/`, Codex `.toml`, Cursor `.cursor/rules/`; release 스킬 Step 6.5 + qa-check.sh §10 회귀 가드 |
314
394
  | **Consistency & Budget** | v0.9.5 | ✅ 완료 | reviewer.md Iron Laws stale 수정, 디스패처 동기화, 경량성 예산 재교정(40K/1500/2500) 및 근거 기록 |
315
- | **Safety & Branding** | v0.9.6 | ✅ 현재 | init overwrite 백업, 배포 파일 pm 네이밍 정리, LICENSE 브랜딩 정리 |
395
+ | **Drift Guard & Positioning** | v0.9.7 | ✅ 완료 | `harness/`↔`.github/` drift 가드, reviewer working-proof 게이트, kode:vibe 위치 안내, IDE 선택 가이드, project-brief 예시 |
396
+ | **Confidence Loop** | v0.10.0 | ✅ 완료 | Goal Card, Quiet Navigator, Evidence-Gated Progress Board, Proof Ledger, QA/content 회귀 테스트 |
397
+ | **Proof-First Enforcement** | v0.11.0 | ✅ 완료 | Mandatory Proof Plan, lead proof blocker, reviewer proof blocker, state-check Proof Ledger coverage |
398
+ | **Uninstall Safety** | v0.11.1 | ✅ 현재 | Manifest 기반 uninstall, state 기본 보존, shared owner 복원, purge cleanup |
399
+ | **Docs Bridge** | v0.11.1 | 🧪 Experimental | Project Docs Hub Index, docs-bridge 스킬, visibility 경계를 가진 로컬 docs hub 인덱스 |
400
+ | **Safety & Branding** | v0.9.6 | ✅ 완료 | init overwrite 백업, 배포 파일 pm 네이밍 정리, LICENSE 브랜딩 정리 |
316
401
  | **Validation** | v1.0 | 🔜 다음 | 실사용 검증, 사용자 피드백 수집 |
317
402
 
318
403
  ### 다음 단계
319
404
 
405
+ - [ ] 파일럿: 실제 프로젝트에서 v0.11 Common Mode proof coverage 측정
320
406
  - [ ] 파일럿: 외부 기획 산출물을 kode:harness의 🟣 파이프라인으로 실제 프로젝트에 적용
321
407
  - [ ] 실제 프로젝트에 kode:harness를 적용하고 사용 데이터 수집
322
408
  - [ ] 사용 사례 문서화: Solo vs Team, crew vs no-crew
package/README.md CHANGED
@@ -13,6 +13,10 @@
13
13
 
14
14
  Production-grade guardrails for AI coding agents. Prevents context rot, enforces project direction, and persists state across sessions. Works with **Copilot, Claude, Cursor, Codex, Windsurf, and Gemini**. Zero dependencies.
15
15
 
16
+ > **Where this fits.** kode:harness is the *execution* layer of the **kode:vibe** ecosystem — it sits between a planning layer (PRD / architecture / ARB) and an infrastructure layer (CI / runtime). kode:harness keeps the AI on direction while you code; the other layers are optional. You can use kode:harness alone.
17
+
18
+ > **Pre-1.0 stability notice.** Active 0.x development. CLI flags, state files, and skill/agent contracts may change between minor versions. v1.0.0 ships only after 30 days of frozen IDE compatibility matrix + external production usage.
19
+
16
20
  ---
17
21
 
18
22
  ## Quick Start
@@ -28,6 +32,8 @@ npx @kodevibe/harness init # pick your IDE
28
32
 
29
33
  That's it. Your AI now has persistent memory, direction guardrails, and self-correction loops.
30
34
 
35
+ v0.11 adds **Proof-First Enforcement** on top of the Common Mode Confidence Loop: pm must define runnable proof, lead cannot mark a Story done without passing evidence, reviewer blocks commit guidance when proof is missing or failing, and state-check audits Proof Ledger coverage.
36
+
31
37
  <details>
32
38
  <summary>More install options</summary>
33
39
 
@@ -58,6 +64,68 @@ npx @kodevibe/harness init --ide antigravity
58
64
 
59
65
  ---
60
66
 
67
+ ## Upgrade an existing install
68
+
69
+ If you already have kode:harness installed, running `init` again refreshes IDE configuration files while preserving project state and agent memory. **No data loss by default** — only IDE config files are updated, and previous versions are automatically backed up.
70
+
71
+ | Category | Behavior (default) | Details |
72
+ |----------|-------------------|---------|
73
+ | **State files** (preserved) | Not overwritten | `project-state.md`, `failure-patterns.md`, `dependency-map.md`, `features.md`, `project-brief.md` |
74
+ | **Agent memory** (preserved) | Not overwritten | `agent-memory/{architect,lead,pm,reviewer}.md` (under `docs/` in solo mode or `.harness/` in team mode) |
75
+ | **IDE config** (refreshed) | Overwritten each run | `.github/copilot-instructions.md`, `CLAUDE.md`, `.claude/`, `.cursor/`, `.codex/`, `.windsurf/`, `.agents/`, `AGENTS.md` |
76
+ | **Backup location** | Automatic (v0.9.6+) | Previous IDE config files → `.harness/init-backups/<ISO-timestamp>/...` |
77
+
78
+ ### Safe re-init (recommended for version upgrades)
79
+
80
+ ```bash
81
+ npx @kodevibe/harness init --ide <vscode|claude|cursor|codex|windsurf|antigravity> --batch
82
+ ```
83
+
84
+ State files and agent memory remain intact.
85
+
86
+ ### Force overwrite (caution)
87
+
88
+ ```bash
89
+ npx @kodevibe/harness init --ide vscode --batch --overwrite
90
+ ```
91
+
92
+ ⚠️ `--overwrite` will erase your current `project-state.md`, `failure-patterns.md`, and agent memory files. Recover the previous versions from `.harness/init-backups/<ISO-timestamp>/` if needed.
93
+
94
+ ---
95
+
96
+ ## Uninstall Safely
97
+
98
+ Every `init` now writes `.harness/install-manifest.json`, which records the generated files, hashes, IDE target, mode, and backup paths. `uninstall` uses that manifest to remove only kode:harness-managed files.
99
+
100
+ ```bash
101
+ # Preview first. No files are changed.
102
+ npx @kodevibe/harness uninstall --ide claude --dry-run
103
+
104
+ # Apply. State files and agent memory are preserved by default.
105
+ npx @kodevibe/harness uninstall --ide claude --yes
106
+ ```
107
+
108
+ Safety rules:
109
+
110
+ - `docs/project-state.md`, `docs/project-brief.md`, `docs/features.md`, `docs/dependency-map.md`, `docs/failure-patterns.md`, and agent memory are kept by default.
111
+ - Existing root files such as `CLAUDE.md` or `AGENTS.md` are restored from `.harness/init-backups/<timestamp>/...` when `init` overwrote them.
112
+ - Files modified after install are skipped unless `--force` is used.
113
+ - Shared cross-tool paths such as `AGENTS.md` and `.agents/skills/*` are kept while another active IDE install still owns them.
114
+ - Deleted/restored files are copied to `.harness/uninstall-backups/<timestamp>/...` before changes are applied.
115
+
116
+ Additional options:
117
+
118
+ ```bash
119
+ npx @kodevibe/harness uninstall --all --dry-run # preview all detected IDE installs
120
+ npx @kodevibe/harness uninstall --ide vscode --yes # remove one IDE surface
121
+ npx @kodevibe/harness uninstall --ide vscode --yes --purge-state
122
+ npx @kodevibe/harness uninstall --all --yes --purge-state --purge-backups
123
+ ```
124
+
125
+ Use `--purge-state` only when you intentionally want to delete generated state files too. Backup directories are kept unless `--purge-backups` is explicitly provided. Combining `--purge-state --purge-backups` removes `.harness/install-manifest.json` too once no active installs remain, leaving no kode:harness state behind.
126
+
127
+ ---
128
+
61
129
  ## The Problem: Context Rot
62
130
 
63
131
  Your AI coding agent starts every session from zero. By session 3, it's forgotten the architecture decisions from session 1. By session 10, it's re-debating settled choices and contradicting its own earlier work.
@@ -71,6 +139,7 @@ kode:harness solves this with three mechanisms:
71
139
  | **State Persistence** | AI forgetting goals, decisions, and progress between sessions |
72
140
  | **Direction Guard** | AI drifting away from project goals or contradicting past decisions |
73
141
  | **Failure Patterns** | AI repeating the same mistakes across sessions |
142
+ | **Proof Ledger** | AI claiming progress without tests, smoke proof, or user-visible evidence |
74
143
 
75
144
  ---
76
145
 
@@ -90,10 +159,14 @@ kode:harness solves this with three mechanisms:
90
159
  | Feature | Description |
91
160
  |---------|-------------|
92
161
  | 🛡️ **Direction Guard** | Every coding request is checked against project goals/non-goals before execution |
93
- | 🧭 **Navigation Dispatcher** | Turn-by-Turn navigation through 5 pipelines with copy-paste next-step prompts |
162
+ | 🧭 **Quiet Navigator** | Short next-action guidance centered on current goal and required evidence |
163
+ | ✅ **Evidence-Gated Progress Board** | Stories move from Planned → Proof Pending → Proven only when tests or smoke proof exist |
164
+ | 📒 **Proof Ledger** | Review and wrap-up outputs record compact proof: command, result, and observation |
165
+ | 🔒 **Proof-First Enforcement** | pm/lead/reviewer/state-check block vague plans, unproven completion, failing tests, and missing proof records |
166
+ | 🗂️ **Project Docs Bridge** | Creates a local docs hub index while preserving originals and visibility boundaries |
94
167
  | 📝 **State Persistence** | 5 markdown files that persist project knowledge across LLM sessions |
95
168
  | 🔄 **5 Pipelines** | 🟢 New Dev → 🔵 Continue → 🔴 Bug Fix → 🟡 Direction Change → 🟣 Crew-Driven |
96
- | 🛠️ **11 Skills** | Step-by-step procedures: setup, debug, breakdown, review, pivot, state-check, and more |
169
+ | 🛠️ **12 Skills** | Step-by-step procedures: setup, debug, breakdown, docs-bridge, review, pivot, state-check, and more |
97
170
  | 🤖 **4 Agents** | Role-based personas: pm, reviewer, lead, architect |
98
171
  | ⚠️ **Failure Patterns** | Project-specific failure log that prevents repeat mistakes across sessions |
99
172
  | 📋 **Decision Log** | Records why decisions were made so LLMs don't re-debate settled choices |
@@ -106,18 +179,21 @@ kode:harness solves this with three mechanisms:
106
179
  ```bash
107
180
  npx @kodevibe/harness doctor # verify files are installed
108
181
  npx @kodevibe/harness validate # verify state files have real content
182
+ npx @kodevibe/harness uninstall --dry-run --ide vscode # preview safe removal
109
183
  ```
110
184
 
111
185
  ## Supported IDEs
112
186
 
113
- | IDE | Dispatcher (always-on) | Skills | Agents |
114
- |-----|----------------------|--------|--------|
115
- | **VS Code Copilot** | `.github/copilot-instructions.md` | `.github/skills/*/SKILL.md` | `.github/agents/*.agent.md` |
116
- | **Claude Code** | `CLAUDE.md` (+ `.claude/rules/core.md`) | `.claude/skills/*/SKILL.md` | `.claude/agents/*.md` |
117
- | **Cursor** | `.cursor/rules/core.mdc` (+ `AGENTS.md`) | `.agents/skills/*/SKILL.md` (cross-tool) | `.cursor/rules/<agent>.mdc` |
118
- | **Codex** | `AGENTS.md` | `.agents/skills/*/SKILL.md` | `.codex/agents/*.toml` |
119
- | **Windsurf** | `.windsurf/rules/core.md` | `.windsurf/skills/*/SKILL.md` | *(agents installed as skills)* |
120
- | **Antigravity** | `AGENTS.md` | `.agents/skills/*/SKILL.md` (cross-tool) | `.agents/rules/<agent>.md` |
187
+ Not sure which to pick? Use the IDE you already code in each install path is generated from the same `harness/` source, so the underlying skills/agents are identical:
188
+
189
+ | IDE | Pick this if… | Dispatcher (always-on) | Skills | Agents |
190
+ |-----|---------------|----------------------|--------|--------|
191
+ | **VS Code Copilot** | You use VS Code daily and have GitHub Copilot Chat. | `.github/copilot-instructions.md` | `.github/skills/*/SKILL.md` | `.github/agents/*.agent.md` |
192
+ | **Claude Code** | You prefer Claude in the terminal / Claude Code CLI. | `CLAUDE.md` (+ `.claude/rules/core.md`) | `.claude/skills/*/SKILL.md` | `.claude/agents/*.md` |
193
+ | **Cursor** | You use Cursor as your editor. | `.cursor/rules/core.mdc` (+ `AGENTS.md`) | `.agents/skills/*/SKILL.md` (cross-tool) | `.cursor/rules/<agent>.mdc` |
194
+ | **Codex** | You use OpenAI Codex CLI subagents. | `AGENTS.md` | `.agents/skills/*/SKILL.md` | `.codex/agents/*.toml` |
195
+ | **Windsurf** | You use Codeium/Windsurf. | `.windsurf/rules/core.md` | `.windsurf/skills/*/SKILL.md` | *(agents installed as skills)* |
196
+ | **Antigravity** | You use Google Antigravity / Gemini. | `AGENTS.md` | `.agents/skills/*/SKILL.md` (cross-tool) | `.agents/rules/<agent>.md` |
121
197
 
122
198
  All IDEs also get state files (`project-state.md`, `project-brief.md`, `features.md`, `failure-patterns.md`, `dependency-map.md`) in the `docs/` directory.
123
199
 
@@ -135,6 +211,7 @@ All IDEs also get state files (`project-state.md`, `project-brief.md`, `features
135
211
  - **debug** — 4-phase systematic debugging (evidence → scope → fix → verify)
136
212
  - **check-impact** — Assess change blast radius before modifying shared modules
137
213
  - **breakdown** — Decompose features into dependency-ordered implementation tasks
214
+ - **docs-bridge** — Create a local index that can connect repository docs to a wiki/docs hub while preserving originals and visibility boundaries
138
215
  - **pr-review** — Review incoming Pull Requests for quality, security, and direction alignment
139
216
  - **release** — Pre-release validation checklist (tests, state files, security, versioning)
140
217
 
@@ -151,6 +228,8 @@ All IDEs also get state files (`project-state.md`, `project-brief.md`, `features
151
228
  - **dependency-map.md** — Module dependency graph for impact analysis (the "how")
152
229
  - **failure-patterns.md** — Project-specific failure patterns that prevent repeat mistakes (the "watch out")
153
230
 
231
+ `project-brief.md` can also carry a **Project Docs Hub Index** when you want local docs discoverable from a wiki, Confluence space, Obsidian vault, or other documentation hub. The tracked index stores repo-relative sources and sanitized hub aliases only; machine-specific resolver details belong in ignored `.harness/docs-bridge.local.*` files.
232
+
154
233
  ## How It Works
155
234
 
156
235
  ### 1. Bootstrap (once)
@@ -218,7 +297,7 @@ npx @kodevibe/harness init --team
218
297
 
219
298
  ## Iron Laws
220
299
 
221
- These 10 rules are enforced across all skills and agents. They form the quality backbone of every kode:harness project managed with harness engineering.
300
+ These 11 rules are enforced across all skills and agents. They form the quality backbone of every kode:harness project managed with harness engineering.
222
301
 
223
302
  | # | Law | Enforced By |
224
303
  |---|-----|-------------|
@@ -230,6 +309,9 @@ These 10 rules are enforced across all skills and agents. They form the quality
230
309
  | 6 | **Dependency Map** — New/modified module → update `dependency-map.md` in the same commit. | `reviewer`, `wrap-up` |
231
310
  | 7 | **Feature Registry** — New feature → register in `features.md` in the same commit. | `reviewer`, `wrap-up` |
232
311
  | 8 | **Session Handoff** — Session end → update `project-state.md` Quick Summary. | `wrap-up` |
312
+ | 9 | **Common First** — Common mode must work without crew artifacts; crew-only logic stays in crew marker blocks. | All agents |
313
+ | 10 | **Self-Verify** — Run `state-check` before reporting DONE. FAIL blocks DONE. | All agents |
314
+ | 11 | **Proof First** — No Story moves to Proven, Reviewed, DONE, or commit guidance without passing proof. | `pm`, `lead`, `reviewer`, `state-check` |
233
315
 
234
316
  ## Documentation
235
317
 
@@ -259,6 +341,16 @@ Bootstrap auto-detects crew artifacts in `docs/crew/`, `docs/PM/`, `docs/Analyst
259
341
 
260
342
  Original crew documents are **never modified**. Only the index and tracker are created.
261
343
 
344
+ ### Project Docs Bridge
345
+
346
+ When a project already has useful docs spread across README files, `docs/`, ADRs, runbooks, API specs, or planning artifacts, run `docs-bridge`:
347
+
348
+ ```bash
349
+ > "connect this project's docs to our wiki/docs hub"
350
+ ```
351
+
352
+ It adds a Project Docs Hub Index to `project-brief.md` with each local source, role, sanitized hub target, sync direction, visibility, status, and review date. The repository keeps the originals. External hub summaries or links are written only when the user explicitly asks and visibility boundaries are confirmed.
353
+
262
354
  ### How It Compares
263
355
 
264
356
  | | BMAD v6.2.2 | gstack v0.15.1 | GSD v1.33.0 | kode:harness |
@@ -268,13 +360,13 @@ Original crew documents are **never modified**. Only the index and tracker are c
268
360
  | Dependencies | Node 20+ | Bun + Node + Playwright | Node 18+ | Zero |
269
361
  | IDE support | 20+ (installer) | 5 (setup --host) | 13 (runtime select) | 6 (native format) |
270
362
  | Direction management | ❌ | ❌ | ❌ | ✅ (Direction Guard + pivot + Decision Log) |
271
- | Iron Laws (code quality rules) | ❌ | ❌ | ❌ | ✅ (10 laws embedded in skills) |
363
+ | Iron Laws (code quality rules) | ❌ | ❌ | ❌ | ✅ (11 laws embedded in skills) |
272
364
  | Cold start | ❌ | ❌ | `/gsd-new-project` | ✅ (`setup` skill) |
273
365
  | Context per task | 4-6 files | 1 file | Fresh 200k per plan | 2-3 files (136-line dispatcher) |
274
366
 
275
367
  ## Roadmap
276
368
 
277
- kode:harness is at **v0.9.6** — init now backs up overwritten IDE files under `.harness/init-backups/<timestamp>/...`, shipped pm naming is aligned, and LICENSE branding is cleaned up. v0.9.5 recalibrated lightness budgets (40K/1500/2500) and fixed Iron Laws/dispatcher consistency.
369
+ kode:harness is at **v0.11.1** — adds manifest-based safe uninstall so generated IDE files can be previewed, preserved, restored, or purged intentionally. Common Mode proof-first behavior remains enforceable.
278
370
 
279
371
  | Phase | Version | Status | Focus |
280
372
  |---|---|---|---|
@@ -286,11 +378,17 @@ kode:harness is at **v0.9.6** — init now backs up overwritten IDE files under
286
378
  | **Self-Verify** | v0.9.2 | ✅ Done | state-check skill, Iron Law #10, Confirmation Gate Defaults, multi-IDE fix, CI Artifact Index |
287
379
  | **IDE Realignment** | v0.9.4 | ✅ Done | All 6 IDE adapters aligned with official docs; Antigravity `.agents/`, Codex `.toml`, Cursor `.cursor/rules/`; release skill Step 6.5 + qa-check.sh §10 regression guards |
288
380
  | **Consistency & Budget** | v0.9.5 | ✅ Done | Iron Laws stale-copy fix (reviewer.md), dispatcher sync (core-rules.md ↔ copilot-instructions.md), lightness budgets recalibrated (40K/1500/2500) with rationale |
289
- | **Safety & Branding** | v0.9.6 | ✅ Current | init overwrite backups, shipped pm naming cleanup, LICENSE branding cleanup |
381
+ | **Drift Guard & Positioning** | v0.9.7 | ✅ Done | `harness/`↔`.github/` drift detector, reviewer working-proof gate, kode:vibe positioning, IDE selection guide, project-brief example |
382
+ | **Confidence Loop** | v0.10.0 | ✅ Done | Goal Card, Quiet Navigator, Evidence-Gated Progress Board, Proof Ledger, QA/content regression tests |
383
+ | **Proof-First Enforcement** | v0.11.0 | ✅ Complete | Mandatory Proof Plan, lead proof blockers, reviewer proof blockers, state-check Proof Ledger coverage |
384
+ | **Uninstall Safety** | v0.11.1 | ✅ Current | Manifest-based uninstall, default state preservation, shared owner restore, purge cleanup |
385
+ | **Docs Bridge** | v0.11.1 | 🧪 Experimental | Project Docs Hub Index, docs-bridge skill, local docs hub index with visibility boundaries |
386
+ | **Safety & Branding** | v0.9.6 | ✅ Done | init overwrite backups, shipped pm naming cleanup, LICENSE branding cleanup |
290
387
  | **Validation** | v1.0 | 🔜 Next | Real-world project adoption, user feedback collection |
291
388
 
292
389
  ### What's Next
293
390
 
391
+ - [ ] Pilot: Run v0.11 proof-first Common Mode on a real project and measure proof coverage
294
392
  - [ ] Pilot: Run external planning artifacts through kode:harness's 🟣 pipeline on a real project
295
393
  - [ ] Adopt kode:harness in real projects and collect usage data
296
394
  - [ ] Document case studies: solo vs team, crew vs no-crew
@@ -67,7 +67,12 @@ User request: "next task", "current status", "story done", "new sprint", "scope
67
67
  After every status check, recommend the next action based on current context:
68
68
 
69
69
  1. Read `docs/project-state.md`, `docs/features.md`, `docs/project-brief.md`, `docs/failure-patterns.md`
70
- 2. Determine the project phase and recommend accordingly:
70
+ 2. MUST render a compact **Evidence-Gated Progress Board** before recommending action:
71
+ - Goal: one-line Goal Card from project-brief or current Story
72
+ - State: `Planned | Implementing | Proof Pending | Proven | Reviewed | Blocked`
73
+ - Evidence: last passing test/smoke proof, or `missing`
74
+ - Blocker: one line, or `none`
75
+ 3. Determine the project phase and recommend accordingly:
71
76
 
72
77
  | Situation | Recommendation |
73
78
  |-----------|---------------|
@@ -83,10 +88,12 @@ After every status check, recommend the next action based on current context:
83
88
  | All ARB Fail items resolved | → "ARB Fail items all resolved — deployment readiness can be checked" |
84
89
  <!-- CREW_MODE_END -->
85
90
 
86
- 3. Format the recommendation as a 🧭 Next Step block:
91
+ 4. Format the recommendation as a quiet 🧭 Next Step block. Prefer one next action and one required evidence item; do not restate the full pipeline unless the user asks.
87
92
  ```
88
93
  ---
89
94
  🧭 Next Step
95
+ → Goal: [Goal Card in one line]
96
+ → Evidence: [test command / smoke proof / state-check needed]
90
97
  → Next: `[skill or agent name]` (슬래시 메뉴에서 선택하거나, 채팅에 아래 프롬프트 입력)
91
98
  → Prompt: "[copy-paste ready prompt]"
92
99
  → Why: [one-sentence reason]
@@ -96,12 +103,16 @@ After every status check, recommend the next action based on current context:
96
103
  ```
97
104
 
98
105
  **Request: "story done" / "S{N}-{M} done"**
99
- 1. Update the Story status to `done` in docs/project-state.md
100
- 2. Add completion record to "Recent Changes" section
101
- 3. **Commit/Push check**: If changes are uncommitted, remind:
106
+ 1. Read the Story's Proof Plan and current Evidence-Gated Progress Board row.
107
+ 2. Require proof before marking done:
108
+ - Passing proof set state to `Proven`, update Story status to `✅ done`, append Proof Ledger / Evidence Summary row.
109
+ - Missing proof → keep state `Proof Pending`, output `[BLOCKER: PROOF_MISSING]`, and do not advance to the next Story.
110
+ - Failing proof → keep state `Implementing`, output `[BLOCKER: PROOF_FAILING]`, and fix within current Story.
111
+ 3. Add completion record to "Recent Changes" section only after passing proof.
112
+ 4. **Commit/Push check**: If changes are uncommitted, remind:
102
113
  - "⚠️ S{N}-{M} 완료 — 커밋하셨나요? `git add <files> && git commit -m \"S{N}-{M}: {description}\"`"
103
114
  - Team mode: Also remind to push — "팀원에게 공유하려면 `git push origin {branch}` 실행"
104
- 4. Guide to next Story if available
115
+ 5. Guide to next Story only after proof passes.
105
116
 
106
117
  **Request: "new story" / "next task"**
107
118
  1. Find next `todo` Story in docs/project-state.md
@@ -136,9 +147,10 @@ When invoked after pm approval, verify that pm wrote state files correctly:
136
147
 
137
148
  When a Story contains multiple Tasks/Waves (from breakdown):
138
149
  - Guide implementation **one Wave at a time** (not one file at a time, not all at once)
139
- - After each Wave is implemented, **run tests (or invoke `reviewer` for a quick check)** to verify the Wave is clean before proceeding
150
+ - After each Wave is implemented, **run tests or smoke proof** to verify the Wave is clean before proceeding
151
+ - Record a mini Proof Ledger row inline: Evidence, Result, Command / Observation
140
152
  - Only after verification passes, prompt: "Wave {N} 완료 (tests pass). Wave {N+1}로 넘어갈까요?"
141
- - If tests fail → fix within the current Wave before moving on. Do NOT advance to the next Wave with failing tests.
153
+ - If tests fail → output `[BLOCKER: WAVE_PROOF_FAILING]`, fix within the current Wave, and do NOT advance.
142
154
  - This prevents context overload from modifying too many modules simultaneously
143
155
  - Exception: If a Wave contains only a single trivial task, it may be combined with the next Wave
144
156
 
@@ -158,6 +170,17 @@ When a Story contains multiple Tasks/Waves (from breakdown):
158
170
  ```
159
171
  ## Sprint Status
160
172
 
173
+ ### Goal Card
174
+ - Goal: {current project/story goal}
175
+ - First usable result: {smallest working outcome}
176
+ - Required proof: {test command / smoke proof}
177
+
178
+ ### Evidence-Gated Progress Board
179
+ | Story | State | Evidence | Blocker |
180
+ |-------|-------|----------|---------|
181
+ | S{N}-1 | Reviewed | `npm test` ✅ | none |
182
+ | S{N}-2 | Proof Pending | missing | needs reviewer proof |
183
+
161
184
  Sprint: {N} — {theme}
162
185
  Progress: {done}/{total} Stories
163
186