@soleri/forge 5.2.0 → 5.5.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/dist/scaffolder.js +166 -3
- package/dist/scaffolder.js.map +1 -1
- package/dist/skills/brain-debrief.md +186 -0
- package/dist/skills/brainstorming.md +170 -0
- package/dist/skills/code-patrol.md +176 -0
- package/dist/skills/context-resume.md +143 -0
- package/dist/skills/executing-plans.md +201 -0
- package/dist/skills/fix-and-learn.md +164 -0
- package/dist/skills/health-check.md +225 -0
- package/dist/skills/knowledge-harvest.md +178 -0
- package/dist/skills/onboard-me.md +197 -0
- package/dist/skills/retrospective.md +189 -0
- package/dist/skills/second-opinion.md +142 -0
- package/dist/skills/systematic-debugging.md +230 -0
- package/dist/skills/test-driven-development.md +266 -0
- package/dist/skills/vault-capture.md +154 -0
- package/dist/skills/vault-navigator.md +129 -0
- package/dist/skills/verification-before-completion.md +170 -0
- package/dist/skills/writing-plans.md +207 -0
- package/dist/templates/claude-md-template.js +90 -1
- package/dist/templates/claude-md-template.js.map +1 -1
- package/dist/templates/domain-facade.d.ts +4 -0
- package/dist/templates/domain-facade.js +4 -0
- package/dist/templates/domain-facade.js.map +1 -1
- package/dist/templates/entry-point.js +32 -0
- package/dist/templates/entry-point.js.map +1 -1
- package/dist/templates/readme.js +38 -0
- package/dist/templates/readme.js.map +1 -1
- package/dist/templates/setup-script.js +52 -1
- package/dist/templates/setup-script.js.map +1 -1
- package/dist/templates/skills.d.ts +16 -0
- package/dist/templates/skills.js +73 -0
- package/dist/templates/skills.js.map +1 -0
- package/dist/templates/test-facades.js +173 -3
- package/dist/templates/test-facades.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/scaffolder.test.ts +115 -2
- package/src/scaffolder.ts +171 -3
- package/src/skills/brain-debrief.md +186 -0
- package/src/skills/brainstorming.md +170 -0
- package/src/skills/code-patrol.md +176 -0
- package/src/skills/context-resume.md +143 -0
- package/src/skills/executing-plans.md +201 -0
- package/src/skills/fix-and-learn.md +164 -0
- package/src/skills/health-check.md +225 -0
- package/src/skills/knowledge-harvest.md +178 -0
- package/src/skills/onboard-me.md +197 -0
- package/src/skills/retrospective.md +189 -0
- package/src/skills/second-opinion.md +142 -0
- package/src/skills/systematic-debugging.md +230 -0
- package/src/skills/test-driven-development.md +266 -0
- package/src/skills/vault-capture.md +154 -0
- package/src/skills/vault-navigator.md +129 -0
- package/src/skills/verification-before-completion.md +170 -0
- package/src/skills/writing-plans.md +207 -0
- package/src/templates/claude-md-template.ts +181 -0
- package/src/templates/domain-facade.ts +4 -0
- package/src/templates/entry-point.ts +32 -0
- package/src/templates/readme.ts +38 -0
- package/src/templates/setup-script.ts +54 -1
- package/src/templates/skills.ts +82 -0
- package/src/templates/test-facades.ts +173 -3
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verification-before-completion
|
|
3
|
+
description: Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- Adapted from superpowers (MIT License) -->
|
|
7
|
+
|
|
8
|
+
# Verification Before Completion
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
Claiming work is complete without verification is dishonesty, not efficiency.
|
|
13
|
+
|
|
14
|
+
**Core principle:** Evidence before claims, always.
|
|
15
|
+
|
|
16
|
+
**Violating the letter of this rule is violating the spirit of this rule.**
|
|
17
|
+
|
|
18
|
+
## The Iron Law
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
If you haven't run the verification command in this message, you cannot claim it passes.
|
|
25
|
+
|
|
26
|
+
## The Gate Function
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
BEFORE claiming any status or expressing satisfaction:
|
|
30
|
+
|
|
31
|
+
1. IDENTIFY: What command proves this claim?
|
|
32
|
+
2. RUN: Execute the FULL command (fresh, complete)
|
|
33
|
+
3. READ: Full output, check exit code, count failures
|
|
34
|
+
4. VERIFY: Does output confirm the claim?
|
|
35
|
+
- If NO: State actual status with evidence
|
|
36
|
+
- If YES: State claim WITH evidence
|
|
37
|
+
5. AGENT CHECK: Run system diagnostics
|
|
38
|
+
6. ONLY THEN: Make the claim
|
|
39
|
+
|
|
40
|
+
Skip any step = lying, not verifying
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Agent System Checks
|
|
44
|
+
|
|
45
|
+
After passing all verification commands, run system diagnostics:
|
|
46
|
+
|
|
47
|
+
### Health Check
|
|
48
|
+
```
|
|
49
|
+
YOUR_AGENT_core op:admin_health
|
|
50
|
+
```
|
|
51
|
+
Catches issues tests might miss — vault corruption, stale caches, configuration drift.
|
|
52
|
+
|
|
53
|
+
### Full Diagnostic
|
|
54
|
+
```
|
|
55
|
+
YOUR_AGENT_core op:admin_diagnostic
|
|
56
|
+
```
|
|
57
|
+
Comprehensive system check — module status, database integrity, cache health, configuration validity.
|
|
58
|
+
|
|
59
|
+
### Vault Analytics
|
|
60
|
+
```
|
|
61
|
+
YOUR_AGENT_core op:admin_vault_analytics
|
|
62
|
+
```
|
|
63
|
+
Verify knowledge quality metrics — are capture rates healthy? Any degradation?
|
|
64
|
+
|
|
65
|
+
If any check reports problems, address them before claiming completion.
|
|
66
|
+
|
|
67
|
+
## Common Failures
|
|
68
|
+
|
|
69
|
+
| Claim | Requires | Not Sufficient |
|
|
70
|
+
|-------|----------|----------------|
|
|
71
|
+
| Tests pass | Test command output: 0 failures | Previous run, "should pass" |
|
|
72
|
+
| Linter clean | Linter output: 0 errors | Partial check, extrapolation |
|
|
73
|
+
| Build succeeds | Build command: exit 0 | Linter passing, logs look good |
|
|
74
|
+
| Bug fixed | Test original symptom: passes | Code changed, assumed fixed |
|
|
75
|
+
| Regression test works | Red-green cycle verified | Test passes once |
|
|
76
|
+
| Agent completed | VCS diff shows changes | Agent reports "success" |
|
|
77
|
+
| Requirements met | Line-by-line checklist | Tests passing |
|
|
78
|
+
| Agent healthy | `admin_diagnostic` clean | "No errors in logs" |
|
|
79
|
+
|
|
80
|
+
## Red Flags - STOP
|
|
81
|
+
|
|
82
|
+
- Using "should", "probably", "seems to"
|
|
83
|
+
- Expressing satisfaction before verification ("Great!", "Perfect!", "Done!", etc.)
|
|
84
|
+
- About to commit/push/PR without verification
|
|
85
|
+
- Trusting agent success reports
|
|
86
|
+
- Relying on partial verification
|
|
87
|
+
- Thinking "just this once"
|
|
88
|
+
- Tired and wanting work over
|
|
89
|
+
- ANY wording implying success without having run verification
|
|
90
|
+
|
|
91
|
+
## Rationalization Prevention
|
|
92
|
+
|
|
93
|
+
| Excuse | Reality |
|
|
94
|
+
|--------|---------|
|
|
95
|
+
| "Should work now" | RUN the verification |
|
|
96
|
+
| "I'm confident" | Confidence ≠ evidence |
|
|
97
|
+
| "Just this once" | No exceptions |
|
|
98
|
+
| "Linter passed" | Linter ≠ compiler |
|
|
99
|
+
| "Agent said success" | Verify independently |
|
|
100
|
+
| "I'm tired" | Exhaustion ≠ excuse |
|
|
101
|
+
| "Partial check is enough" | Partial proves nothing |
|
|
102
|
+
| "Different words so rule doesn't apply" | Spirit over letter |
|
|
103
|
+
|
|
104
|
+
## Key Patterns
|
|
105
|
+
|
|
106
|
+
**Tests:**
|
|
107
|
+
```
|
|
108
|
+
[Run test command] [See: 34/34 pass] "All tests pass"
|
|
109
|
+
NOT: "Should pass now" / "Looks correct"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**Regression tests (TDD Red-Green):**
|
|
113
|
+
```
|
|
114
|
+
Write -> Run (pass) -> Revert fix -> Run (MUST FAIL) -> Restore -> Run (pass)
|
|
115
|
+
NOT: "I've written a regression test" (without red-green verification)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Build:**
|
|
119
|
+
```
|
|
120
|
+
[Run build] [See: exit 0] "Build passes"
|
|
121
|
+
NOT: "Linter passed" (linter doesn't check compilation)
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Requirements:**
|
|
125
|
+
```
|
|
126
|
+
Re-read plan -> Create checklist -> Verify each -> Report gaps or completion
|
|
127
|
+
NOT: "Tests pass, phase complete"
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Agent delegation:**
|
|
131
|
+
```
|
|
132
|
+
Agent reports success -> Check VCS diff -> Verify changes -> Report actual state
|
|
133
|
+
NOT: Trust agent report
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## After Verification — Capture Session
|
|
137
|
+
|
|
138
|
+
Once work is verified complete, capture a session summary so context persists:
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
YOUR_AGENT_core op:session_capture
|
|
142
|
+
params: {
|
|
143
|
+
summary: "<what was accomplished, files modified, key decisions>"
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
This ensures the next session has context about what was verified and completed.
|
|
148
|
+
|
|
149
|
+
## When To Apply
|
|
150
|
+
|
|
151
|
+
**ALWAYS before:**
|
|
152
|
+
- ANY variation of success/completion claims
|
|
153
|
+
- ANY expression of satisfaction
|
|
154
|
+
- ANY positive statement about work state
|
|
155
|
+
- Committing, PR creation, task completion
|
|
156
|
+
- Moving to next task
|
|
157
|
+
- Delegating to agents
|
|
158
|
+
|
|
159
|
+
## The Bottom Line
|
|
160
|
+
|
|
161
|
+
Run the command. Read the output. THEN claim the result. This is non-negotiable.
|
|
162
|
+
|
|
163
|
+
## Agent Tools Reference
|
|
164
|
+
|
|
165
|
+
| Op | When to Use |
|
|
166
|
+
|----|-------------|
|
|
167
|
+
| `admin_health` | Quick system health check |
|
|
168
|
+
| `admin_diagnostic` | Comprehensive system diagnostic |
|
|
169
|
+
| `admin_vault_analytics` | Knowledge quality metrics |
|
|
170
|
+
| `session_capture` | Persist verified completion context |
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: writing-plans
|
|
3
|
+
description: Use when you have a spec or requirements for a multi-step task, before touching code
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- Adapted from superpowers (MIT License) -->
|
|
7
|
+
|
|
8
|
+
# Writing Plans
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
Write comprehensive implementation plans assuming the engineer has zero context for our codebase and questionable taste. Document everything they need to know: which files to touch for each task, code, testing, docs they might need to check, how to test it. Give them the whole plan as bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.
|
|
13
|
+
|
|
14
|
+
Assume they are a skilled developer, but know almost nothing about our toolset or problem domain. Assume they don't know good test design very well.
|
|
15
|
+
|
|
16
|
+
**Announce at start:** "I'm using the writing-plans skill to create the implementation plan."
|
|
17
|
+
|
|
18
|
+
**Save plans to:** `docs/plans/YYYY-MM-DD-<feature-name>.md`
|
|
19
|
+
|
|
20
|
+
## Before Writing — Search First, Plan Second
|
|
21
|
+
|
|
22
|
+
**Never write a plan from scratch.** Always search for existing knowledge first.
|
|
23
|
+
|
|
24
|
+
### 1. Vault First
|
|
25
|
+
Check the vault for relevant implementation patterns:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
YOUR_AGENT_core op:search_intelligent
|
|
29
|
+
params: { query: "<feature being planned>" }
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Look for:
|
|
33
|
+
- **Implementation patterns** — proven approaches for similar features
|
|
34
|
+
- **Anti-patterns** — approaches that failed and should be avoided
|
|
35
|
+
- **Testing patterns** — how similar features were tested
|
|
36
|
+
|
|
37
|
+
Also check brain strengths for what's worked:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
YOUR_AGENT_core op:brain_strengths
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Browse related knowledge domains for additional context:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
YOUR_AGENT_core op:vault_domains
|
|
47
|
+
YOUR_AGENT_core op:vault_tags
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 2. Web Search Second
|
|
51
|
+
If the vault doesn't have implementation guidance, search the web:
|
|
52
|
+
- **Libraries and tools** — is there a package that does this already?
|
|
53
|
+
- **Reference implementations** — how did other projects solve this?
|
|
54
|
+
- **API documentation** — official docs for libraries you'll use
|
|
55
|
+
- **Known issues** — pitfalls others ran into
|
|
56
|
+
|
|
57
|
+
### 3. Then Write the Plan
|
|
58
|
+
Incorporate vault insights and web findings into the plan. Reference specific vault entries and documentation links when they inform a step. A plan informed by existing knowledge is dramatically better than one written from first principles.
|
|
59
|
+
|
|
60
|
+
## Create a Tracked Plan
|
|
61
|
+
|
|
62
|
+
Use the agent's planning system to create a tracked, resumable plan:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
YOUR_AGENT_core op:create_plan
|
|
66
|
+
params: {
|
|
67
|
+
objective: "<one-sentence goal>",
|
|
68
|
+
scope: { included: [...], excluded: [...] },
|
|
69
|
+
steps: [
|
|
70
|
+
{ title: "Step 1 title", description: "details" },
|
|
71
|
+
...
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
This makes the plan persistent across sessions — if context compacts or sessions change, the plan survives.
|
|
77
|
+
|
|
78
|
+
## Grade the Plan
|
|
79
|
+
|
|
80
|
+
After drafting, grade the plan for quality before presenting to the user:
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
YOUR_AGENT_core op:plan_grade
|
|
84
|
+
params: { planId: "<id from create_plan>" }
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
If the grade is below target, auto-improve:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
YOUR_AGENT_core op:plan_auto_improve
|
|
91
|
+
params: { planId: "<id>" }
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
This iterates on the plan — filling gaps, adding missing test steps, clarifying ambiguous instructions. Repeat until the grade meets the target:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
YOUR_AGENT_core op:plan_meets_grade
|
|
98
|
+
params: { planId: "<id>", targetGrade: "A" }
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Iterate on Drafts
|
|
102
|
+
|
|
103
|
+
For complex plans, iterate before finalizing:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
YOUR_AGENT_core op:plan_iterate
|
|
107
|
+
params: { planId: "<id>", feedback: "<what needs improvement>" }
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
This creates a new version of the plan incorporating the feedback, preserving version history.
|
|
111
|
+
|
|
112
|
+
## Split into Tasks
|
|
113
|
+
|
|
114
|
+
Once the plan is approved, split it into trackable tasks:
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
YOUR_AGENT_core op:plan_split
|
|
118
|
+
params: { planId: "<id>" }
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
This generates individual tasks from the plan steps, ready for execution tracking.
|
|
122
|
+
|
|
123
|
+
## Bite-Sized Task Granularity
|
|
124
|
+
|
|
125
|
+
**Each step is one action (2-5 minutes):**
|
|
126
|
+
- "Write the failing test" - step
|
|
127
|
+
- "Run it to make sure it fails" - step
|
|
128
|
+
- "Implement the minimal code to make the test pass" - step
|
|
129
|
+
- "Run the tests and make sure they pass" - step
|
|
130
|
+
- "Commit" - step
|
|
131
|
+
|
|
132
|
+
## Plan Document Header
|
|
133
|
+
|
|
134
|
+
**Every plan MUST start with this header:**
|
|
135
|
+
|
|
136
|
+
```markdown
|
|
137
|
+
# [Feature Name] Implementation Plan
|
|
138
|
+
|
|
139
|
+
> **For Claude:** REQUIRED SUB-SKILL: Use executing-plans to implement this plan task-by-task.
|
|
140
|
+
|
|
141
|
+
**Goal:** [One sentence describing what this builds]
|
|
142
|
+
|
|
143
|
+
**Architecture:** [2-3 sentences about approach]
|
|
144
|
+
|
|
145
|
+
**Tech Stack:** [Key technologies/libraries]
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Task Structure
|
|
151
|
+
|
|
152
|
+
Each task uses this format:
|
|
153
|
+
- Files: Create / Modify / Test paths
|
|
154
|
+
- Step 1: Write the failing test (with code)
|
|
155
|
+
- Step 2: Run test to verify it fails (with expected output)
|
|
156
|
+
- Step 3: Write minimal implementation (with code)
|
|
157
|
+
- Step 4: Run test to verify it passes (with expected output)
|
|
158
|
+
- Step 5: Commit (with exact git commands)
|
|
159
|
+
|
|
160
|
+
## Remember
|
|
161
|
+
- Exact file paths always
|
|
162
|
+
- Complete code in plan (not "add validation")
|
|
163
|
+
- Exact commands with expected output
|
|
164
|
+
- DRY, YAGNI, TDD, frequent commits
|
|
165
|
+
|
|
166
|
+
## After Plan Approval
|
|
167
|
+
|
|
168
|
+
Once the user approves the plan, register it for tracking:
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
YOUR_AGENT_core op:approve_plan
|
|
172
|
+
params: { planId: "<id from create_plan>" }
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Check plan stats for an overview:
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
YOUR_AGENT_core op:plan_stats
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Execution Handoff
|
|
182
|
+
|
|
183
|
+
After saving the plan, offer execution choice:
|
|
184
|
+
|
|
185
|
+
"Plan complete and saved to `docs/plans/<filename>.md`. Two execution options:
|
|
186
|
+
|
|
187
|
+
**1. Subagent-Driven (this session)** - I dispatch fresh subagent per task, review between tasks, fast iteration
|
|
188
|
+
|
|
189
|
+
**2. Parallel Session (separate)** - Open new session with executing-plans, batch execution with checkpoints
|
|
190
|
+
|
|
191
|
+
Which approach?"
|
|
192
|
+
|
|
193
|
+
## Agent Tools Reference
|
|
194
|
+
|
|
195
|
+
| Op | When to Use |
|
|
196
|
+
|----|-------------|
|
|
197
|
+
| `search_intelligent` | Find relevant patterns before planning |
|
|
198
|
+
| `brain_strengths` | Check proven approaches |
|
|
199
|
+
| `vault_domains` / `vault_tags` | Browse knowledge landscape |
|
|
200
|
+
| `create_plan` | Create tracked, persistent plan |
|
|
201
|
+
| `plan_grade` | Grade plan quality |
|
|
202
|
+
| `plan_auto_improve` | Auto-fix plan weaknesses |
|
|
203
|
+
| `plan_meets_grade` | Verify grade target reached |
|
|
204
|
+
| `plan_iterate` | Iterate on draft with feedback |
|
|
205
|
+
| `plan_split` | Split plan into trackable tasks |
|
|
206
|
+
| `approve_plan` | Lock in approved plan |
|
|
207
|
+
| `plan_stats` | Overview of plan metrics |
|
|
@@ -45,8 +45,97 @@ export function generateClaudeMdTemplate(config) {
|
|
|
45
45
|
mdLines.push(`| Capture ${d} | ${bt}${toolName}${bt} | ${bt}capture${bt} |`);
|
|
46
46
|
}
|
|
47
47
|
// Memory + Session + Export + Brain + Planning rows
|
|
48
|
-
mdLines.push(`| Memory search | ${bt}${toolPrefix}_core${bt} | ${bt}memory_search${bt} |`, `| Memory capture | ${bt}${toolPrefix}_core${bt} | ${bt}memory_capture${bt} |`, `| Memory list | ${bt}${toolPrefix}_core${bt} | ${bt}memory_list${bt} |`, `| Session capture | ${bt}${toolPrefix}_core${bt} | ${bt}session_capture${bt} |`, `| Export knowledge | ${bt}${toolPrefix}_core${bt} | ${bt}export${bt} |`, `| Record feedback | ${bt}${toolPrefix}_core${bt} | ${bt}record_feedback${bt} |`, `| Rebuild vocabulary | ${bt}${toolPrefix}_core${bt} | ${bt}rebuild_vocabulary${bt} |`, `| Brain stats | ${bt}${toolPrefix}_core${bt} | ${bt}brain_stats${bt} |`, `| LLM status | ${bt}${toolPrefix}_core${bt} | ${bt}llm_status${bt} |`, `| Create plan | ${bt}${toolPrefix}_core${bt} | ${bt}create_plan${bt} |`, `| Get plan | ${bt}${toolPrefix}_core${bt} | ${bt}get_plan${bt} |`, `| Approve plan | ${bt}${toolPrefix}_core${bt} | ${bt}approve_plan${bt} |`, `| Update task | ${bt}${toolPrefix}_core${bt} | ${bt}update_task${bt} |`, `| Complete plan | ${bt}${toolPrefix}_core${bt} | ${bt}complete_plan${bt} |`, `| Route intent | ${bt}${toolPrefix}_core${bt} | ${bt}route_intent${bt} |`, `| Morph mode | ${bt}${toolPrefix}_core${bt} | ${bt}morph${bt} |`, `| Get behavior rules | ${bt}${toolPrefix}_core${bt} | ${bt}get_behavior_rules${bt} |`, `| Get identity | ${bt}${toolPrefix}_core${bt} | ${bt}get_identity${bt} |`, `| Update identity | ${bt}${toolPrefix}_core${bt} | ${bt}update_identity${bt} |`, `| Add guideline | ${bt}${toolPrefix}_core${bt} | ${bt}add_guideline${bt} |`, `| Remove guideline | ${bt}${toolPrefix}_core${bt} | ${bt}remove_guideline${bt} |`, `| Rollback identity | ${bt}${toolPrefix}_core${bt} | ${bt}rollback_identity${bt}
|
|
48
|
+
mdLines.push(`| Memory search | ${bt}${toolPrefix}_core${bt} | ${bt}memory_search${bt} |`, `| Memory capture | ${bt}${toolPrefix}_core${bt} | ${bt}memory_capture${bt} |`, `| Memory list | ${bt}${toolPrefix}_core${bt} | ${bt}memory_list${bt} |`, `| Session capture | ${bt}${toolPrefix}_core${bt} | ${bt}session_capture${bt} |`, `| Export knowledge | ${bt}${toolPrefix}_core${bt} | ${bt}export${bt} |`, `| Record feedback | ${bt}${toolPrefix}_core${bt} | ${bt}record_feedback${bt} |`, `| Enhanced feedback | ${bt}${toolPrefix}_core${bt} | ${bt}brain_feedback${bt} |`, `| Feedback stats | ${bt}${toolPrefix}_core${bt} | ${bt}brain_feedback_stats${bt} |`, `| Reset extracted | ${bt}${toolPrefix}_core${bt} | ${bt}brain_reset_extracted${bt} |`, `| Rebuild vocabulary | ${bt}${toolPrefix}_core${bt} | ${bt}rebuild_vocabulary${bt} |`, `| Brain stats | ${bt}${toolPrefix}_core${bt} | ${bt}brain_stats${bt} |`, `| LLM status | ${bt}${toolPrefix}_core${bt} | ${bt}llm_status${bt} |`, `| Create plan | ${bt}${toolPrefix}_core${bt} | ${bt}create_plan${bt} |`, `| Get plan | ${bt}${toolPrefix}_core${bt} | ${bt}get_plan${bt} |`, `| Approve plan | ${bt}${toolPrefix}_core${bt} | ${bt}approve_plan${bt} |`, `| Update task | ${bt}${toolPrefix}_core${bt} | ${bt}update_task${bt} |`, `| Complete plan | ${bt}${toolPrefix}_core${bt} | ${bt}complete_plan${bt} |`, `| Route intent | ${bt}${toolPrefix}_core${bt} | ${bt}route_intent${bt} |`, `| Morph mode | ${bt}${toolPrefix}_core${bt} | ${bt}morph${bt} |`, `| Get behavior rules | ${bt}${toolPrefix}_core${bt} | ${bt}get_behavior_rules${bt} |`, `| Get identity | ${bt}${toolPrefix}_core${bt} | ${bt}get_identity${bt} |`, `| Update identity | ${bt}${toolPrefix}_core${bt} | ${bt}update_identity${bt} |`, `| Add guideline | ${bt}${toolPrefix}_core${bt} | ${bt}add_guideline${bt} |`, `| Remove guideline | ${bt}${toolPrefix}_core${bt} | ${bt}remove_guideline${bt} |`, `| Rollback identity | ${bt}${toolPrefix}_core${bt} | ${bt}rollback_identity${bt} |`, `| Cognee status | ${bt}${toolPrefix}_core${bt} | ${bt}cognee_status${bt} |`, `| Cognee search | ${bt}${toolPrefix}_core${bt} | ${bt}cognee_search${bt} |`, `| Cognee add | ${bt}${toolPrefix}_core${bt} | ${bt}cognee_add${bt} |`, `| Cognee cognify | ${bt}${toolPrefix}_core${bt} | ${bt}cognee_cognify${bt} |`, `| Cognee config | ${bt}${toolPrefix}_core${bt} | ${bt}cognee_config${bt} |`, `| LLM rotate key | ${bt}${toolPrefix}_core${bt} | ${bt}llm_rotate${bt} |`, `| LLM call | ${bt}${toolPrefix}_core${bt} | ${bt}llm_call${bt} |`, `| Governance policy | ${bt}${toolPrefix}_core${bt} | ${bt}governance_policy${bt} |`, `| Governance proposals | ${bt}${toolPrefix}_core${bt} | ${bt}governance_proposals${bt} |`, `| Governance stats | ${bt}${toolPrefix}_core${bt} | ${bt}governance_stats${bt} |`, `| Expire proposals | ${bt}${toolPrefix}_core${bt} | ${bt}governance_expire${bt} |`, `| Governance dashboard | ${bt}${toolPrefix}_core${bt} | ${bt}governance_dashboard${bt} |`,
|
|
49
|
+
// Planning Extra ops
|
|
50
|
+
`| Iterate plan | ${bt}${toolPrefix}_core${bt} | ${bt}plan_iterate${bt} |`, `| Split plan tasks | ${bt}${toolPrefix}_core${bt} | ${bt}plan_split${bt} |`, `| Reconcile plan | ${bt}${toolPrefix}_core${bt} | ${bt}plan_reconcile${bt} |`, `| Complete lifecycle | ${bt}${toolPrefix}_core${bt} | ${bt}plan_complete_lifecycle${bt} |`, `| Dispatch tasks | ${bt}${toolPrefix}_core${bt} | ${bt}plan_dispatch${bt} |`, `| Review plan | ${bt}${toolPrefix}_core${bt} | ${bt}plan_review${bt} |`, `| Archive plan | ${bt}${toolPrefix}_core${bt} | ${bt}plan_archive${bt} |`, `| List plan tasks | ${bt}${toolPrefix}_core${bt} | ${bt}plan_list_tasks${bt} |`, `| Plan stats | ${bt}${toolPrefix}_core${bt} | ${bt}plan_stats${bt} |`,
|
|
51
|
+
// Memory Extra ops
|
|
52
|
+
`| Delete memory | ${bt}${toolPrefix}_core${bt} | ${bt}memory_delete${bt} |`, `| Memory stats | ${bt}${toolPrefix}_core${bt} | ${bt}memory_stats${bt} |`, `| Export memories | ${bt}${toolPrefix}_core${bt} | ${bt}memory_export${bt} |`, `| Import memories | ${bt}${toolPrefix}_core${bt} | ${bt}memory_import${bt} |`, `| Prune memories | ${bt}${toolPrefix}_core${bt} | ${bt}memory_prune${bt} |`, `| Deduplicate memories | ${bt}${toolPrefix}_core${bt} | ${bt}memory_deduplicate${bt} |`, `| Memory topics | ${bt}${toolPrefix}_core${bt} | ${bt}memory_topics${bt} |`, `| Memories by project | ${bt}${toolPrefix}_core${bt} | ${bt}memory_by_project${bt} |`,
|
|
53
|
+
// Vault Extra ops
|
|
54
|
+
`| Get vault entry | ${bt}${toolPrefix}_core${bt} | ${bt}vault_get${bt} |`, `| Update entry | ${bt}${toolPrefix}_core${bt} | ${bt}vault_update${bt} |`, `| Remove entry | ${bt}${toolPrefix}_core${bt} | ${bt}vault_remove${bt} |`, `| Bulk add | ${bt}${toolPrefix}_core${bt} | ${bt}vault_bulk_add${bt} |`, `| Bulk remove | ${bt}${toolPrefix}_core${bt} | ${bt}vault_bulk_remove${bt} |`, `| Vault tags | ${bt}${toolPrefix}_core${bt} | ${bt}vault_tags${bt} |`, `| Vault domains | ${bt}${toolPrefix}_core${bt} | ${bt}vault_domains${bt} |`, `| Recent entries | ${bt}${toolPrefix}_core${bt} | ${bt}vault_recent${bt} |`, `| Import entries | ${bt}${toolPrefix}_core${bt} | ${bt}vault_import${bt} |`, `| Seed entries | ${bt}${toolPrefix}_core${bt} | ${bt}vault_seed${bt} |`, `| Backup vault | ${bt}${toolPrefix}_core${bt} | ${bt}vault_backup${bt} |`, `| Vault age report | ${bt}${toolPrefix}_core${bt} | ${bt}vault_age_report${bt} |`,
|
|
55
|
+
// Admin ops
|
|
56
|
+
`| Admin health | ${bt}${toolPrefix}_core${bt} | ${bt}admin_health${bt} |`, `| Tool list | ${bt}${toolPrefix}_core${bt} | ${bt}admin_tool_list${bt} |`, `| Config | ${bt}${toolPrefix}_core${bt} | ${bt}admin_config${bt} |`, `| Vault size | ${bt}${toolPrefix}_core${bt} | ${bt}admin_vault_size${bt} |`, `| Uptime | ${bt}${toolPrefix}_core${bt} | ${bt}admin_uptime${bt} |`, `| Version | ${bt}${toolPrefix}_core${bt} | ${bt}admin_version${bt} |`, `| Reset cache | ${bt}${toolPrefix}_core${bt} | ${bt}admin_reset_cache${bt} |`, `| Diagnostic | ${bt}${toolPrefix}_core${bt} | ${bt}admin_diagnostic${bt} |`,
|
|
57
|
+
// Loop ops
|
|
58
|
+
`| Start loop | ${bt}${toolPrefix}_core${bt} | ${bt}loop_start${bt} |`, `| Loop iterate | ${bt}${toolPrefix}_core${bt} | ${bt}loop_iterate${bt} |`, `| Loop status | ${bt}${toolPrefix}_core${bt} | ${bt}loop_status${bt} |`, `| Cancel loop | ${bt}${toolPrefix}_core${bt} | ${bt}loop_cancel${bt} |`, `| Loop history | ${bt}${toolPrefix}_core${bt} | ${bt}loop_history${bt} |`, `| Loop active | ${bt}${toolPrefix}_core${bt} | ${bt}loop_is_active${bt} |`, `| Complete loop | ${bt}${toolPrefix}_core${bt} | ${bt}loop_complete${bt} |`,
|
|
59
|
+
// Orchestrate ops
|
|
60
|
+
`| Orchestrate plan | ${bt}${toolPrefix}_core${bt} | ${bt}orchestrate_plan${bt} |`, `| Orchestrate execute | ${bt}${toolPrefix}_core${bt} | ${bt}orchestrate_execute${bt} |`, `| Orchestrate complete | ${bt}${toolPrefix}_core${bt} | ${bt}orchestrate_complete${bt} |`, `| Orchestrate status | ${bt}${toolPrefix}_core${bt} | ${bt}orchestrate_status${bt} |`, `| Quick capture | ${bt}${toolPrefix}_core${bt} | ${bt}orchestrate_quick_capture${bt} |`,
|
|
61
|
+
// Capture ops
|
|
62
|
+
`| Capture knowledge | ${bt}${toolPrefix}_core${bt} | ${bt}capture_knowledge${bt} |`, `| Quick capture entry | ${bt}${toolPrefix}_core${bt} | ${bt}capture_quick${bt} |`, `| Intelligent search | ${bt}${toolPrefix}_core${bt} | ${bt}search_intelligent${bt} |`, `| Search feedback | ${bt}${toolPrefix}_core${bt} | ${bt}search_feedback${bt} |`,
|
|
63
|
+
// Grading ops
|
|
64
|
+
`| Grade plan | ${bt}${toolPrefix}_core${bt} | ${bt}plan_grade${bt} |`, `| Check history | ${bt}${toolPrefix}_core${bt} | ${bt}plan_check_history${bt} |`, `| Latest check | ${bt}${toolPrefix}_core${bt} | ${bt}plan_latest_check${bt} |`, `| Meets grade | ${bt}${toolPrefix}_core${bt} | ${bt}plan_meets_grade${bt} |`, `| Auto improve plan | ${bt}${toolPrefix}_core${bt} | ${bt}plan_auto_improve${bt} |`,
|
|
65
|
+
// Admin Extra ops
|
|
66
|
+
`| Telemetry stats | ${bt}${toolPrefix}_core${bt} | ${bt}admin_telemetry${bt} |`, `| Recent calls | ${bt}${toolPrefix}_core${bt} | ${bt}admin_telemetry_recent${bt} |`, `| Reset telemetry | ${bt}${toolPrefix}_core${bt} | ${bt}admin_telemetry_reset${bt} |`, `| Permissions | ${bt}${toolPrefix}_core${bt} | ${bt}admin_permissions${bt} |`, `| Vault analytics | ${bt}${toolPrefix}_core${bt} | ${bt}admin_vault_analytics${bt} |`, `| Search insights | ${bt}${toolPrefix}_core${bt} | ${bt}admin_search_insights${bt} |`, `| Module status | ${bt}${toolPrefix}_core${bt} | ${bt}admin_module_status${bt} |`, `| Environment | ${bt}${toolPrefix}_core${bt} | ${bt}admin_env${bt} |`, `| Garbage collect | ${bt}${toolPrefix}_core${bt} | ${bt}admin_gc${bt} |`, `| Export config | ${bt}${toolPrefix}_core${bt} | ${bt}admin_export_config${bt} |`,
|
|
67
|
+
// Curator Extra ops
|
|
68
|
+
`| Entry history | ${bt}${toolPrefix}_core${bt} | ${bt}curator_entry_history${bt} |`, `| Record snapshot | ${bt}${toolPrefix}_core${bt} | ${bt}curator_record_snapshot${bt} |`, `| Queue stats | ${bt}${toolPrefix}_core${bt} | ${bt}curator_queue_stats${bt} |`, `| Enrich metadata | ${bt}${toolPrefix}_core${bt} | ${bt}curator_enrich${bt} |`,
|
|
69
|
+
// Project ops
|
|
70
|
+
`| Get project | ${bt}${toolPrefix}_core${bt} | ${bt}project_get${bt} |`, `| List projects | ${bt}${toolPrefix}_core${bt} | ${bt}project_list${bt} |`, `| Unregister project | ${bt}${toolPrefix}_core${bt} | ${bt}project_unregister${bt} |`, `| Project rules | ${bt}${toolPrefix}_core${bt} | ${bt}project_get_rules${bt} |`, `| All project rules | ${bt}${toolPrefix}_core${bt} | ${bt}project_list_rules${bt} |`, `| Add rule | ${bt}${toolPrefix}_core${bt} | ${bt}project_add_rule${bt} |`, `| Remove rule | ${bt}${toolPrefix}_core${bt} | ${bt}project_remove_rule${bt} |`, `| Link projects | ${bt}${toolPrefix}_core${bt} | ${bt}project_link${bt} |`, `| Unlink projects | ${bt}${toolPrefix}_core${bt} | ${bt}project_unlink${bt} |`, `| Project links | ${bt}${toolPrefix}_core${bt} | ${bt}project_get_links${bt} |`, `| Linked projects | ${bt}${toolPrefix}_core${bt} | ${bt}project_linked_projects${bt} |`, `| Touch project | ${bt}${toolPrefix}_core${bt} | ${bt}project_touch${bt} |`,
|
|
71
|
+
// Cross-project memory ops
|
|
72
|
+
`| Promote to global | ${bt}${toolPrefix}_core${bt} | ${bt}memory_promote_to_global${bt} |`, `| Configure memory | ${bt}${toolPrefix}_core${bt} | ${bt}memory_configure${bt} |`, `| Cross-project search | ${bt}${toolPrefix}_core${bt} | ${bt}memory_cross_project_search${bt} |`);
|
|
49
73
|
mdLines.push('', '## Auto-Routing', '', 'A UserPromptSubmit hook auto-classifies every prompt via keyword matching.', `When you see a ${bt}[MODE-NAME]${bt} indicator in the system context:`, '', `1. Call ${bt}${toolPrefix}_core op:route_intent params:{ prompt: "<user message>" }${bt} to get full behavior rules`, '2. Follow the returned behavior rules for the detected mode', '3. Briefly acknowledge mode changes in your response (e.g., "Switching to FIX-MODE")', '', 'Available modes: FIX-MODE, BUILD-MODE, IMPROVE-MODE, DELIVER-MODE, REVIEW-MODE, PLAN-MODE, DESIGN-MODE, VALIDATE-MODE, EXPLORE-MODE, GENERAL-MODE.', 'GENERAL-MODE means the hook detected a work task but could not classify a specific mode — route_intent will refine it.', '', '## Intent Detection', '', '| Signal | Intent |', '|--------|--------|', '| Problem described ("broken", "janky", "weird") | FIX |', '| Need expressed ("I need", "we should have") | BUILD |', '| Quality questioned ("is this right?") | REVIEW |', '| Advice sought ("how should I", "best way") | PLAN |', '| Improvement requested ("make it faster") | IMPROVE |', '', '## Knowledge Protocol', '', 'When seeking guidance: vault before codebase before web.', '', `1. Search vault \u2014 ${bt}${toolPrefix}_core op:search${bt}`, '2. Codebase \u2014 only if vault has nothing', '3. Web \u2014 last resort', '', '## Knowledge Capture', '', 'When learning something that should persist, use the domain capture ops.', '', '## Session Capture', '', 'A PreCompact hook is configured to call `session_capture` before context compaction.', 'This automatically preserves session summaries as memories for future sessions.', `To manually capture: ${bt}${toolPrefix}_core op:session_capture params:{ summary: "..." }${bt}`, '', '## Planning', '', 'For multi-step tasks, use the planning system:', `1. Create: ${bt}${toolPrefix}_core op:create_plan params:{ objective: "...", scope: "...", tasks: [...] }${bt}`, `2. Approve: ${bt}${toolPrefix}_core op:approve_plan params:{ planId: "...", startExecution: true }${bt}`, `3. Track: ${bt}${toolPrefix}_core op:update_task params:{ planId: "...", taskId: "...", status: "completed" }${bt}`, `4. Complete: ${bt}${toolPrefix}_core op:complete_plan params:{ planId: "..." }${bt}`, '', 'Check activation response for recovered plans in `executing` state — remind the user.', '', `<!-- /${marker} -->`);
|
|
74
|
+
// ─── Hook Packs section (when configured) ─────────────────────
|
|
75
|
+
if (config.hookPacks?.length) {
|
|
76
|
+
const PACK_INFO = {
|
|
77
|
+
'typescript-safety': {
|
|
78
|
+
description: 'Block unsafe TypeScript patterns',
|
|
79
|
+
hooks: {
|
|
80
|
+
'no-any-types': '`:any`, `as any`, `<any>`, `Record<string, any>`',
|
|
81
|
+
'no-console-log': '`console.log` in committed code',
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
a11y: {
|
|
85
|
+
description: 'Accessibility enforcement',
|
|
86
|
+
hooks: {
|
|
87
|
+
'semantic-html': 'Generic divs where semantic HTML should be used',
|
|
88
|
+
'focus-ring-required': 'Missing visible focus indicators',
|
|
89
|
+
'ux-touch-targets': 'Touch targets smaller than 44px',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
'css-discipline': {
|
|
93
|
+
description: 'CSS best practices',
|
|
94
|
+
hooks: {
|
|
95
|
+
'no-important': '`!important` in CSS',
|
|
96
|
+
'no-inline-styles': 'Inline style attributes',
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
'clean-commits': {
|
|
100
|
+
description: 'Clean git history',
|
|
101
|
+
hooks: {
|
|
102
|
+
'no-ai-attribution': 'AI attribution in commits',
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
// Build rows — expand 'full' to constituent packs
|
|
107
|
+
const rows = [];
|
|
108
|
+
for (const packName of config.hookPacks) {
|
|
109
|
+
if (packName === 'full') {
|
|
110
|
+
// Composed pack — expand all constituent packs
|
|
111
|
+
for (const [subPack, info] of Object.entries(PACK_INFO)) {
|
|
112
|
+
for (const [hook, blocks] of Object.entries(info.hooks)) {
|
|
113
|
+
rows.push({ pack: subPack, hook, blocks });
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
else if (PACK_INFO[packName]) {
|
|
118
|
+
for (const [hook, blocks] of Object.entries(PACK_INFO[packName].hooks)) {
|
|
119
|
+
rows.push({ pack: packName, hook, blocks });
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
if (rows.length > 0) {
|
|
124
|
+
// Insert before the closing marker
|
|
125
|
+
const closingMarkerIndex = mdLines.length - 1;
|
|
126
|
+
const hookLines = [
|
|
127
|
+
'',
|
|
128
|
+
'## Hook Packs',
|
|
129
|
+
'',
|
|
130
|
+
'Quality gates installed in `.claude/`. Run `scripts/setup.sh` to install globally.',
|
|
131
|
+
'',
|
|
132
|
+
'| Pack | Hook | Blocks |',
|
|
133
|
+
'|------|------|--------|',
|
|
134
|
+
...rows.map((r) => `| ${r.pack} | ${r.hook} | ${r.blocks} |`),
|
|
135
|
+
];
|
|
136
|
+
mdLines.splice(closingMarkerIndex, 0, ...hookLines);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
50
139
|
// Escape each markdown line for use in a single-quoted TS string literal
|
|
51
140
|
const quotedLines = mdLines.map((line) => {
|
|
52
141
|
const escaped = line.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-md-template.js","sourceRoot":"","sources":["../../src/templates/claude-md-template.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-md-template.js","sourceRoot":"","sources":["../../src/templates/claude-md-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generate a domain-specific facade for the agent.
|
|
3
3
|
* Each domain gets a facade with search, get_patterns, and list ops.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated v4 legacy only — v5 agents use createDomainFacade() from
|
|
6
|
+
* @soleri/core which includes governance gating. This template is only
|
|
7
|
+
* used by domain-manager.ts for pre-v5 agents.
|
|
4
8
|
*/
|
|
5
9
|
export declare function generateDomainFacade(agentId: string, domain: string): string;
|
|
6
10
|
export declare function pascalCase(s: string): string;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generate a domain-specific facade for the agent.
|
|
3
3
|
* Each domain gets a facade with search, get_patterns, and list ops.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated v4 legacy only — v5 agents use createDomainFacade() from
|
|
6
|
+
* @soleri/core which includes governance gating. This template is only
|
|
7
|
+
* used by domain-manager.ts for pre-v5 agents.
|
|
4
8
|
*/
|
|
5
9
|
export function generateDomainFacade(agentId, domain) {
|
|
6
10
|
const facadeName = `${agentId}_${domain.replace(/-/g, '_')}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-facade.js","sourceRoot":"","sources":["../../src/templates/domain-facade.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"domain-facade.js","sourceRoot":"","sources":["../../src/templates/domain-facade.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe,EAAE,MAAc;IAClE,MAAM,UAAU,GAAG,GAAG,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;IAE7D,OAAO;;;wBAGe,UAAU,CAAC,MAAM,CAAC;;aAE7B,UAAU;oBACH,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;;;;4BAI7B,MAAM;;;;;;;;;;uBAUX,MAAM;;;;;;;;;;+BAUE,MAAM;;;;;;;;;uBASd,MAAM;;;;;;;;uCAQU,MAAM;;;;;;;;;;;sCAWP,MAAM;;;;;;;;;;;;;;;;;;uBAkBrB,MAAM;;;;;;;;;;;;;;iCAcI,MAAM;;;;;;;;;;;CAWtC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,OAAO,CAAC;SACL,KAAK,CAAC,SAAS,CAAC;SAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -140,6 +140,37 @@ async function main(): Promise<void> {
|
|
|
140
140
|
if (s.totalEntries === 0) {
|
|
141
141
|
recommendations.push('Vault is empty — add intelligence data or capture knowledge via domain facades');
|
|
142
142
|
}
|
|
143
|
+
|
|
144
|
+
// Check hook status
|
|
145
|
+
const { readdirSync } = await import('node:fs');
|
|
146
|
+
const agentClaudeDir = joinPath(__dirname, '..', '.claude');
|
|
147
|
+
const globalClaudeDir = joinPath(homedir(), '.claude');
|
|
148
|
+
|
|
149
|
+
const hookStatus = { agent: [] as string[], global: [] as string[], missing: [] as string[] };
|
|
150
|
+
|
|
151
|
+
if (existsSync(agentClaudeDir)) {
|
|
152
|
+
try {
|
|
153
|
+
const agentHooks = readdirSync(agentClaudeDir)
|
|
154
|
+
.filter((f: string) => f.startsWith('hookify.') && f.endsWith('.local.md'))
|
|
155
|
+
.map((f: string) => f.replace('hookify.', '').replace('.local.md', ''));
|
|
156
|
+
hookStatus.agent = agentHooks;
|
|
157
|
+
|
|
158
|
+
for (const hook of agentHooks) {
|
|
159
|
+
if (existsSync(joinPath(globalClaudeDir, \`hookify.\${hook}.local.md\`))) {
|
|
160
|
+
hookStatus.global.push(hook);
|
|
161
|
+
} else {
|
|
162
|
+
hookStatus.missing.push(hook);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
} catch {
|
|
166
|
+
// ignore read errors
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (hookStatus.missing.length > 0) {
|
|
171
|
+
recommendations.push(\`\${hookStatus.missing.length} hook(s) not installed globally — run scripts/setup.sh\`);
|
|
172
|
+
}
|
|
173
|
+
|
|
143
174
|
if (recommendations.length === 0) {
|
|
144
175
|
recommendations.push('${config.name} is fully set up and ready!');
|
|
145
176
|
}
|
|
@@ -151,6 +182,7 @@ async function main(): Promise<void> {
|
|
|
151
182
|
global: { exists: globalExists, has_agent_section: globalHasAgent },
|
|
152
183
|
},
|
|
153
184
|
vault: { entries: s.totalEntries, domains: Object.keys(s.byDomain) },
|
|
185
|
+
hooks: hookStatus,
|
|
154
186
|
recommendations,
|
|
155
187
|
};
|
|
156
188
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-point.js","sourceRoot":"","sources":["../../src/templates/entry-point.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACpD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;gBAwBO,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEA+BuC,MAAM,CAAC,EAAE;;;;;;;qGAO4B,MAAM,CAAC,IAAI;;;;;;;;;;;oDAW5D,MAAM,CAAC,EAAE;iDACZ,MAAM,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"entry-point.js","sourceRoot":"","sources":["../../src/templates/entry-point.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACpD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;gBAwBO,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEA+BuC,MAAM,CAAC,EAAE;;;;;;;qGAO4B,MAAM,CAAC,IAAI;;;;;;;;;;;oDAW5D,MAAM,CAAC,EAAE;iDACZ,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA2FxB,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;aAoBhC,MAAM,CAAC,EAAE;;;;;wDAKkC,MAAM,CAAC,EAAE,MAAM,cAAc;;;;aAIxE,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA8BF,MAAM,CAAC,EAAE;;;CAG5B,CAAC;AACF,CAAC"}
|