vibe-coding-master 0.0.16 → 0.2.0
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.md +74 -41
- package/dist/backend/api/artifact-routes.js +5 -5
- package/dist/backend/api/harness-routes.js +8 -0
- package/dist/backend/api/message-routes.js +4 -4
- package/dist/backend/api/round-routes.js +4 -2
- package/dist/backend/server.js +8 -2
- package/dist/backend/services/artifact-service.js +12 -12
- package/dist/backend/services/claude-hook-service.js +1 -1
- package/dist/backend/services/harness-service.js +579 -5
- package/dist/backend/services/message-service.js +71 -137
- package/dist/backend/services/project-service.js +4 -1
- package/dist/backend/services/round-service.js +14 -52
- package/dist/backend/services/session-service.js +1 -3
- package/dist/backend/services/task-service.js +16 -17
- package/dist/backend/templates/handoff.js +64 -26
- package/dist/backend/templates/harness/architect-agent.js +42 -12
- package/dist/backend/templates/harness/claude-root.js +42 -18
- package/dist/backend/templates/harness/coder-agent.js +15 -11
- package/dist/backend/templates/harness/known-issues-doc.js +22 -0
- package/dist/backend/templates/harness/project-manager-agent.js +66 -15
- package/dist/backend/templates/harness/pull-request-template.js +29 -0
- package/dist/backend/templates/harness/reviewer-agent.js +40 -12
- package/dist/backend/templates/harness/vcm-final-acceptance-skill.js +105 -0
- package/dist/backend/templates/harness/vcm-harness-bootstrap-skill.js +78 -0
- package/dist/backend/templates/harness/vcm-long-running-validation-skill.js +50 -0
- package/dist/backend/templates/harness/vcm-route-message-skill.js +86 -0
- package/dist/backend/templates/message-envelope.js +1 -0
- package/dist/backend/templates/role-command.js +7 -1
- package/dist/shared/validation/artifact-check.js +14 -9
- package/dist-frontend/assets/index-CrY5Ryps.js +90 -0
- package/dist-frontend/assets/index-CvvtrrCN.css +32 -0
- package/dist-frontend/index.html +2 -2
- package/docs/cc-best-practices.md +434 -192
- package/docs/full-harness-baseline.md +254 -0
- package/docs/product-design.md +31 -28
- package/docs/v0.2-implementation-plan.md +379 -0
- package/docs/vcm-cc-best-practices.md +449 -0
- package/package.json +3 -1
- package/scripts/harness-tools/generate-module-index +298 -0
- package/scripts/harness-tools/generate-public-surface +692 -0
- package/scripts/install-vcm-harness.mjs +1607 -0
- package/scripts/uninstall-vcm-harness.mjs +490 -0
- package/scripts/verify-package.mjs +4 -0
- package/dist-frontend/assets/index-CvtyKEfS.js +0 -89
- package/dist-frontend/assets/index-jEkUTnIY.css +0 -32
- package/docs/v1-architecture-design.md +0 -1009
- package/docs/v1-implementation-plan.md +0 -1376
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export function renderVcmRouteMessageSkillRules() {
|
|
2
|
+
return `## Purpose
|
|
3
|
+
|
|
4
|
+
Use this skill when a VCM role needs to hand work, ask a question, report a result, report a blocker, or raise a finding to another VCM role.
|
|
5
|
+
|
|
6
|
+
This skill writes a route file. It does not deliver the message. VCM backend delivery is triggered later by Claude Code hooks.
|
|
7
|
+
|
|
8
|
+
## Route Policy
|
|
9
|
+
|
|
10
|
+
Use only routes allowed by the current VCM role rules and task approval.
|
|
11
|
+
|
|
12
|
+
Allowed message types:
|
|
13
|
+
|
|
14
|
+
- task
|
|
15
|
+
- question
|
|
16
|
+
- revise
|
|
17
|
+
- cancel
|
|
18
|
+
- result
|
|
19
|
+
- blocked
|
|
20
|
+
- finding
|
|
21
|
+
|
|
22
|
+
## Route File
|
|
23
|
+
|
|
24
|
+
Write or update exactly one file:
|
|
25
|
+
|
|
26
|
+
\`\`\`text
|
|
27
|
+
.ai/vcm/handoffs/messages/<from-role>-<to-role>.md
|
|
28
|
+
\`\`\`
|
|
29
|
+
|
|
30
|
+
The file name is authoritative. Do not put from/to in frontmatter and do not create alternate message paths.
|
|
31
|
+
|
|
32
|
+
If the same route file already contains a not-yet-delivered message, update that file instead of creating a fragmented follow-up.
|
|
33
|
+
|
|
34
|
+
## Message Format
|
|
35
|
+
|
|
36
|
+
\`\`\`md
|
|
37
|
+
---
|
|
38
|
+
type: task
|
|
39
|
+
artifact_refs:
|
|
40
|
+
- .ai/vcm/handoffs/architecture-plan.md
|
|
41
|
+
- docs/plans/example.md
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
Summary:
|
|
45
|
+
...
|
|
46
|
+
|
|
47
|
+
Request or result:
|
|
48
|
+
...
|
|
49
|
+
|
|
50
|
+
Evidence:
|
|
51
|
+
...
|
|
52
|
+
|
|
53
|
+
Expected next action:
|
|
54
|
+
...
|
|
55
|
+
\`\`\`
|
|
56
|
+
|
|
57
|
+
Use the smallest body that is complete. Include artifact refs instead of copying long documents.
|
|
58
|
+
|
|
59
|
+
## Required Body Content
|
|
60
|
+
|
|
61
|
+
- why this message exists
|
|
62
|
+
- what the target role should do or what result is being reported
|
|
63
|
+
- source of truth or artifact references
|
|
64
|
+
- validation or documentation state when relevant
|
|
65
|
+
- blocker, decision needed, or next step when relevant
|
|
66
|
+
|
|
67
|
+
## Turn Rule
|
|
68
|
+
|
|
69
|
+
After writing or updating the route file, end the current Claude Code turn immediately.
|
|
70
|
+
|
|
71
|
+
Do not:
|
|
72
|
+
|
|
73
|
+
- send another message to the same target role in the same turn
|
|
74
|
+
- poll route files
|
|
75
|
+
- start a shell loop
|
|
76
|
+
- wait for another role's answer
|
|
77
|
+
- paste directly into another role terminal
|
|
78
|
+
- use Claude Code Task/Subagent for VCM role delegation
|
|
79
|
+
|
|
80
|
+
VCM scans pending route files after the Stop hook and delivers later replies in a new turn.
|
|
81
|
+
|
|
82
|
+
## Recovery
|
|
83
|
+
|
|
84
|
+
If delivery is manual, blocked, or the target role is busy, leave the route file non-empty. Do not clear it yourself unless the user or VCM controller has explicitly confirmed manual handling.
|
|
85
|
+
`;
|
|
86
|
+
}
|
|
@@ -20,6 +20,7 @@ ${artifactRefs}
|
|
|
20
20
|
|
|
21
21
|
Instructions:
|
|
22
22
|
- Read the message and execute only within this VCM task.
|
|
23
|
+
- If you write or update a VCM route file, use the vcm-route-message skill.
|
|
23
24
|
- If you need to send a VCM message after handling this, write or update .ai/vcm/handoffs/messages/<your-role>-<target-role>.md.
|
|
24
25
|
- Non-PM roles reply only to project-manager, for example ${routeFileExample}.
|
|
25
26
|
- After writing a route file, end this Claude Code turn immediately.
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
export function renderRoleCommandTemplate(taskSlug, role) {
|
|
1
|
+
export function renderRoleCommandTemplate(taskSlug, role, taskRepoRoot = "$VCM_TASK_REPO_ROOT", branch = "TBD") {
|
|
2
2
|
return `# ${role} command for ${taskSlug}
|
|
3
3
|
|
|
4
|
+
## Worktree
|
|
5
|
+
|
|
6
|
+
Task repo root: ${taskRepoRoot}
|
|
7
|
+
Branch: ${branch}
|
|
8
|
+
Rule: only edit files under Task repo root.
|
|
9
|
+
|
|
4
10
|
## Objective
|
|
5
11
|
|
|
6
12
|
TBD
|
|
@@ -6,15 +6,9 @@ const REQUIRED_HEADINGS = {
|
|
|
6
6
|
"Risks",
|
|
7
7
|
"Stop Conditions"
|
|
8
8
|
],
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"Validation",
|
|
13
|
-
"Deviations From Architecture Plan",
|
|
14
|
-
"Follow-ups"
|
|
15
|
-
],
|
|
16
|
-
"validation-log": [
|
|
17
|
-
"Validation"
|
|
9
|
+
"known-issues": [
|
|
10
|
+
"Task Issues",
|
|
11
|
+
"Escalation To Docs"
|
|
18
12
|
],
|
|
19
13
|
"review-report": [
|
|
20
14
|
"Summary",
|
|
@@ -29,7 +23,18 @@ const REQUIRED_HEADINGS = {
|
|
|
29
23
|
"Docs Reviewed And Left Unchanged",
|
|
30
24
|
"Public Contract / Module Boundary Notes",
|
|
31
25
|
"Remaining Documentation Risks",
|
|
26
|
+
"Known Issues Disposition",
|
|
32
27
|
"Decision"
|
|
28
|
+
],
|
|
29
|
+
"final-acceptance": [
|
|
30
|
+
"Decision",
|
|
31
|
+
"Evidence Reviewed",
|
|
32
|
+
"Scope Traceability",
|
|
33
|
+
"Validation Summary",
|
|
34
|
+
"Review And Docs Sync",
|
|
35
|
+
"Known Issues Disposition",
|
|
36
|
+
"Cleanup Readiness",
|
|
37
|
+
"Final User Summary"
|
|
33
38
|
]
|
|
34
39
|
};
|
|
35
40
|
const PLACEHOLDER_PATTERN = /(^|\n)\s*(TBD|Not run yet\.?|status:\s*draft)\s*(\n|$)/i;
|