create-harness-vibe-coding 0.8.2 → 0.8.4

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.
Files changed (55) hide show
  1. package/README-CN.md +2 -2
  2. package/README.md +2 -3
  3. package/package.json +1 -2
  4. package/src/generator.js +4 -5
  5. package/templates/common/.claude/agents/context-master.md +3 -2
  6. package/templates/common/.claude/agents/memory-master.md +3 -2
  7. package/templates/common/.claude/agents/tdd-guide.md +45 -19
  8. package/templates/common/.claude/agents/test-writer.md +52 -38
  9. package/templates/common/.claude/commands/wf-help.md +21 -0
  10. package/templates/common/.claude/rules/ecc/common.md +1 -1
  11. package/templates/common/.claude/settings.json +33 -90
  12. package/templates/common/.claude/skills/tdd/SKILL.md +18 -11
  13. package/templates/common/.claude/skills/wf-auto/SKILL.md +1 -1
  14. package/templates/common/.codex/config.toml +0 -2
  15. package/templates/common/.harness-version +55 -37
  16. package/templates/common/AGENTS.md +7 -6
  17. package/templates/common/CLAUDE.md +3 -4
  18. package/templates/common/Harness/ACCEPTANCE_PROTOCOL.md +170 -0
  19. package/templates/common/Harness/AGENT_ISOLATION.md +73 -0
  20. package/templates/common/Harness/DEBUG_PROTOCOL.md +64 -0
  21. package/templates/common/Harness/ECC-GUIDE.md +4 -4
  22. package/templates/common/Harness/HARNESS_BRIDGE.md +128 -0
  23. package/templates/common/Harness/MEMORY_PROTOCOL.md +114 -0
  24. package/templates/common/Harness/README.md +31 -16
  25. package/templates/common/Harness/TDD-GUIDE.md +138 -56
  26. package/templates/common/Harness/WF-AUTO.md +77 -16
  27. package/templates/common/Harness/WF-MAX.md +81 -22
  28. package/templates/common/Harness/WF.md +38 -18
  29. package/templates/common/Harness/agent-workflow.md +47 -22
  30. package/templates/common/Harness/context-loading.md +33 -32
  31. package/templates/common/Harness/dispatch.md +10 -4
  32. package/templates/common/Harness/extension.md +3 -3
  33. package/templates/common/Harness/lifecycle.md +19 -13
  34. package/templates/common/Harness/research/PRD.md +18 -9
  35. package/templates/common/Harness/subagents.md +41 -14
  36. package/templates/common/Harness/tasks/_template/NAMING.md +2 -2
  37. package/templates/common/Harness/tasks/_template/PLAN.md +53 -11
  38. package/templates/common/Harness/templates/ACCEPTANCE.template.md +20 -0
  39. package/templates/common/Harness/templates/API_CONTRACT.template.md +40 -0
  40. package/templates/common/Harness/templates/PLAYWRIGHT_SPEC.template.ts +21 -0
  41. package/templates/common/Harness/templates/PRD.template.md +45 -0
  42. package/templates/common/Harness/templates/TEST_PLAN.template.md +14 -0
  43. package/templates/common/Harness/templates/UI_CONTRACT.template.md +11 -0
  44. package/templates/common/Harness/templates/VALIDATION_REPORT.template.md +20 -0
  45. package/templates/common/MEMORY.md +14 -3
  46. package/templates/common/README.md +1 -1
  47. package/templates/common/SETUP.md +24 -20
  48. package/templates/common/scripts/validate-harness.mjs +134 -41
  49. package/templates/common/scripts/wf-remove.mjs +6 -2
  50. package/templates/optional/skills/browser-e2e/Harness/workflows/browser-e2e.md +11 -3
  51. package/templates/optional/skills/ts-react-frontend/Harness/workflows/ts-react-frontend.md +1 -1
  52. package/templates/common/.codex/hooks.json +0 -59
  53. package/templates/common/scripts/wf-mode-hook.mjs +0 -895
  54. package/templates/common/scripts/wf-statusline.ps1 +0 -62
  55. package/templates/common/scripts/wf-statusline.sh +0 -67
@@ -1,62 +0,0 @@
1
- #!/usr/bin/env pwsh
2
- # wf-statusline.ps1 — Statusline badge for WF-MAX / WF-REVIEW modes
3
- # Displays mode + agentRole from Harness/.runtime/current-mode.json
4
- # Role-aware: shows all roles (CEO/MGR/WRK/REV), not just CEO.
5
- #
6
- # Usage in .claude/settings.json:
7
- # "statusLine": { "type": "command", "command": "pwsh -File Harness/scripts/wf-statusline.ps1" }
8
- #
9
- # Security: refuses symlinks, validates JSON, caps read size.
10
-
11
- param()
12
-
13
- $MODE_FILE = Join-Path $PSScriptRoot '..' '.runtime' 'current-mode.json'
14
-
15
- # Refuse symlinks / missing file
16
- if (-not (Test-Path $MODE_FILE -PathType Leaf)) { exit 0 }
17
- $item = Get-Item $MODE_FILE -Force
18
- if ($item.Attributes -band [System.IO.FileAttributes]::ReparsePoint) { exit 0 }
19
-
20
- # Size cap
21
- if ($item.Length -gt 16384) { exit 0 }
22
-
23
- try {
24
- $json = Get-Content $MODE_FILE -Raw -ErrorAction Stop | ConvertFrom-Json
25
- } catch {
26
- exit 0 # Silent-fail
27
- }
28
-
29
- if (-not $json.active) { exit 0 }
30
-
31
- # Use agentRole first, fall back to legacy 'role' field
32
- $agentRole = if ($json.agentRole) { $json.agentRole } else { $json.role }
33
-
34
- switch ($json.mode) {
35
- 'wf-max' {
36
- $phase = if ($json.phase) { ":$($json.phase -replace 'W\d_','W')" } else { '' }
37
- $roleShort = switch ($agentRole) {
38
- 'ceo' { 'CEO' }
39
- 'manager' { 'MGR' }
40
- 'worker' { 'WRK' }
41
- 'reviewer' { 'REV' }
42
- default { '' }
43
- }
44
- $badge = if ($roleShort) { "[WF-MAX:${roleShort}${phase}]" } else { "[WF-MAX${phase}]" }
45
- Write-Host -NoNewline "`e[38;5;75m${badge}`e[0m"
46
- }
47
- 'wf-review' {
48
- Write-Host -NoNewline "`e[38;5;178m[WF-REVIEW]`e[0m"
49
- }
50
- 'wf-auto-spark' {
51
- Write-Host -NoNewline "`e[38;5;213m[SPARK]`e[0m"
52
- }
53
- 'wf-auto' {
54
- Write-Host -NoNewline "`e[38;5;111m[WF-AUTO]`e[0m"
55
- }
56
- 'wf' {
57
- Write-Host -NoNewline "`e[38;5;108m[WF]`e[0m"
58
- }
59
- 'wf-learn' {
60
- Write-Host -NoNewline "`e[38;5;222m[WF-LEARN]`e[0m"
61
- }
62
- }
@@ -1,67 +0,0 @@
1
- #!/bin/bash
2
- # wf-statusline.sh — Unix statusline badge for WF-MAX / WF-REVIEW
3
- # Displays mode + agentRole from Harness/.runtime/current-mode.json
4
- # Role-aware: shows all roles (CEO/MGR/WRK/REV), not just CEO.
5
- #
6
- # Usage in .claude/settings.json:
7
- # "statusLine": { "type": "command", "command": "bash Harness/scripts/wf-statusline.sh" }
8
- #
9
- # Security: refuses symlinks, validates JSON, caps read size.
10
-
11
- MODE_FILE="$(dirname "$0")/../.runtime/current-mode.json"
12
-
13
- # Resolve relative path to absolute (from project root or script location)
14
- if [ ! -f "$MODE_FILE" ]; then
15
- MODE_FILE="Harness/.runtime/current-mode.json"
16
- fi
17
-
18
- [ -L "$MODE_FILE" ] && exit 0 # Refuse symlinks
19
- [ ! -f "$MODE_FILE" ] && exit 0 # Missing file
20
-
21
- # Read with python for safe JSON parse (jq may not be installed).
22
- MODE=$(python3 -c "
23
- import json, os, sys
24
- try:
25
- fpath = sys.argv[1]
26
- if os.path.getsize(fpath) > 16384: sys.exit(1)
27
- with open(fpath, 'r') as f:
28
- d = json.load(f)
29
- if not d.get('active'): sys.exit(1)
30
- agent_role = d.get('agentRole') or d.get('role') or ''
31
- role_short = {'ceo':'CEO','manager':'MGR','worker':'WRK','reviewer':'REV'}.get(agent_role, '')
32
- print(d.get('mode','') + '|' + d.get('phase','') + '|' + role_short)
33
- except: pass
34
- " "$MODE_FILE" 2>/dev/null)
35
-
36
- [ -z "$MODE" ] && exit 0
37
-
38
- MODE_NAME="${MODE%%|*}"
39
- REST="${MODE#*|}"
40
- MODE_PHASE="${REST%%|*}"
41
- MODE_ROLE="${REST##*|}"
42
-
43
- case "$MODE_NAME" in
44
- wf-max)
45
- PHASE_SHORT=$(echo "$MODE_PHASE" | sed 's/W._/W/')
46
- if [ -n "$MODE_ROLE" ]; then
47
- printf '\033[38;5;75m[WF-MAX:%s:%s]\033[0m' "$MODE_ROLE" "$PHASE_SHORT"
48
- else
49
- printf '\033[38;5;75m[WF-MAX:%s]\033[0m' "$PHASE_SHORT"
50
- fi
51
- ;;
52
- wf-review)
53
- printf '\033[38;5;178m[WF-REVIEW]\033[0m'
54
- ;;
55
- wf-auto-spark)
56
- printf '\033[38;5;213m[SPARK]\033[0m'
57
- ;;
58
- wf-auto)
59
- printf '\033[38;5;111m[WF-AUTO]\033[0m'
60
- ;;
61
- wf)
62
- printf '\033[38;5;108m[WF]\033[0m'
63
- ;;
64
- wf-learn)
65
- printf '\033[38;5;222m[WF-LEARN]\033[0m'
66
- ;;
67
- esac