@lbruton/specflow 3.1.0 → 3.2.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.md +22 -16
- package/dist/core/__tests__/convention-detector.test.d.ts +2 -0
- package/dist/core/__tests__/convention-detector.test.d.ts.map +1 -0
- package/dist/core/__tests__/convention-detector.test.js +199 -0
- package/dist/core/__tests__/convention-detector.test.js.map +1 -0
- package/dist/core/__tests__/security-utils.test.js +2 -2
- package/dist/core/__tests__/security-utils.test.js.map +1 -1
- package/dist/core/__tests__/template-generator.test.d.ts +2 -0
- package/dist/core/__tests__/template-generator.test.d.ts.map +1 -0
- package/dist/core/__tests__/template-generator.test.js +167 -0
- package/dist/core/__tests__/template-generator.test.js.map +1 -0
- package/dist/core/convention-detector.d.ts +36 -0
- package/dist/core/convention-detector.d.ts.map +1 -0
- package/dist/core/convention-detector.js +298 -0
- package/dist/core/convention-detector.js.map +1 -0
- package/dist/core/security-utils.js +2 -2
- package/dist/core/security-utils.js.map +1 -1
- package/dist/core/template-generator.d.ts +21 -0
- package/dist/core/template-generator.d.ts.map +1 -0
- package/dist/core/template-generator.js +217 -0
- package/dist/core/template-generator.js.map +1 -0
- package/dist/markdown/templates/design-template.md +8 -6
- package/dist/markdown/templates/tasks-template.md +23 -20
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +4 -7
- package/dist/prompts/index.js.map +1 -1
- package/dist/tools/spec-status.d.ts.map +1 -1
- package/dist/tools/spec-status.js +35 -8
- package/dist/tools/spec-status.js.map +1 -1
- package/dist/tools/spec-workflow-guide.js +25 -15
- package/dist/tools/spec-workflow-guide.js.map +1 -1
- package/package.json +1 -1
- package/dist/prompts/audit.d.ts +0 -3
- package/dist/prompts/audit.d.ts.map +0 -1
- package/dist/prompts/audit.js +0 -267
- package/dist/prompts/audit.js.map +0 -1
- package/dist/prompts/prime.d.ts +0 -3
- package/dist/prompts/prime.d.ts.map +0 -1
- package/dist/prompts/prime.js +0 -290
- package/dist/prompts/prime.js.map +0 -1
- package/dist/prompts/wrap.d.ts +0 -3
- package/dist/prompts/wrap.d.ts.map +0 -1
- package/dist/prompts/wrap.js +0 -285
- package/dist/prompts/wrap.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-generator.js","sourceRoot":"","sources":["../../src/core/template-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -131,11 +131,13 @@ _If **No**, skip this section entirely. If **Yes**, complete all fields below
|
|
|
131
131
|
|
|
132
132
|
## Testing Strategy
|
|
133
133
|
|
|
134
|
-
###
|
|
135
|
-
- Identify
|
|
136
|
-
-
|
|
137
|
-
-
|
|
134
|
+
### Automated Tests
|
|
135
|
+
- **Test Framework:** [Identify the project's test framework — check for vitest.config, jest.config, pytest.ini, or package.json test script]
|
|
136
|
+
- **Test Command:** [The command to run the project's test suite — e.g., `npm test`, `npx vitest`, `pytest`]
|
|
137
|
+
- **Test Directory:** [Where tests live in this project — e.g., `src/__tests__/`, `tests/`, `test/`]
|
|
138
|
+
- **New tests to write (TDD — before implementation):** [describe tests using the project's framework]
|
|
139
|
+
- **Run via:** [project's test command] after implementation
|
|
138
140
|
|
|
139
141
|
### Manual Verification
|
|
140
|
-
- [Any flows that require manual testing
|
|
141
|
-
- [Flows requiring API keys
|
|
142
|
+
- [Any flows that require manual testing beyond the automated test suite]
|
|
143
|
+
- [Flows requiring API keys, external services, or user interaction]
|
|
@@ -153,30 +153,33 @@
|
|
|
153
153
|
- _Requirements: 5.2, 5.3_
|
|
154
154
|
- _Prompt: Role: React Developer with expertise in state management and API integration | Task: Implement feature-specific components following requirements 5.2 and 5.3, using API hooks from src/hooks/useApi.ts and extending BaseComponent patterns | Restrictions: Must use existing state management patterns, handle loading and error states properly, maintain component performance | Success: Components are fully functional with proper state management, API integration works smoothly, user experience is responsive and intuitive_
|
|
155
155
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
-
|
|
160
|
-
-
|
|
161
|
-
|
|
162
|
-
-
|
|
163
|
-
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
-
|
|
156
|
+
## Standard Closing Tasks
|
|
157
|
+
|
|
158
|
+
- [ ] 6. Run project test suite and verify baseline
|
|
159
|
+
- Run the project's test command to establish a passing baseline before changes
|
|
160
|
+
- If no test suite exists, flag this and discuss with the user
|
|
161
|
+
- _Leverage: Project test configuration (package.json scripts, vitest.config, jest.config, etc.)_
|
|
162
|
+
- _Requirements: All_
|
|
163
|
+
- _Prompt: Role: QA Engineer | Task: Run the project's established test suite to verify a passing baseline before implementation. Identify the test command from package.json, CLAUDE.md, or project conventions. If no test suite exists, flag this to the user. | Restrictions: Use the project's existing test framework, do not introduce a new one. | Success: Test suite runs and baseline results are recorded._
|
|
164
|
+
|
|
165
|
+
- [ ] 6.1 Write tests for new behavior (TDD — write BEFORE implementation)
|
|
166
|
+
- Write failing tests using the project's test framework for all new behavior
|
|
167
|
+
- Tests should cover the acceptance criteria from requirements.md
|
|
168
|
+
- _Leverage: Project test framework, requirements.md acceptance criteria_
|
|
167
169
|
- _Requirements: All_
|
|
168
|
-
- _Prompt: Role: QA
|
|
170
|
+
- _Prompt: Role: QA Engineer | Task: Write failing tests for all new behavior described in requirements.md using the project's test framework. Follow TDD - tests must fail before implementation, pass after. | Restrictions: Use the project's existing test framework. Tests must be runnable with the project's test command. | Success: Failing tests exist for all new acceptance criteria._
|
|
169
171
|
|
|
170
|
-
- [ ] 6.2 Verify tests
|
|
171
|
-
- Run
|
|
172
|
-
-
|
|
172
|
+
- [ ] 6.2 Verify all tests pass after implementation
|
|
173
|
+
- Run the full test suite after all implementation tasks are complete
|
|
174
|
+
- All new tests must pass; no existing tests may regress
|
|
175
|
+
- _Leverage: Project test command_
|
|
173
176
|
- _Requirements: All_
|
|
174
|
-
- _Prompt: Role: QA
|
|
177
|
+
- _Prompt: Role: QA Engineer | Task: Run the project's full test suite. Verify all new tests pass and no existing tests regressed. | Restrictions: Do not skip or disable failing tests. | Success: Full test suite passes with zero regressions._
|
|
175
178
|
|
|
176
179
|
- [ ] 6.3 Final integration and cleanup
|
|
177
180
|
- Integrate all components
|
|
178
|
-
-
|
|
179
|
-
- Clean up code and documentation
|
|
180
|
-
- _Leverage:
|
|
181
|
+
- Verify no lint or type errors
|
|
182
|
+
- Clean up temporary code and documentation
|
|
183
|
+
- _Leverage: Project lint/build commands_
|
|
181
184
|
- _Requirements: All_
|
|
182
|
-
- _Prompt: Role: Senior Developer
|
|
185
|
+
- _Prompt: Role: Senior Developer | Task: Complete final integration of all components and perform comprehensive cleanup. Run lint and type checks. Remove any temporary code or debug statements. | Restrictions: Must not break existing functionality. Ensure code quality standards are met. | Success: All components integrated, no lint or type errors, code is clean._
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,iBAAiB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,iBAAiB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA0B1C;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAInE;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAK,EAC9B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,CAAC,CAa1B"}
|
package/dist/prompts/index.js
CHANGED
|
@@ -6,9 +6,9 @@ import { specStatusPrompt } from './spec-status.js';
|
|
|
6
6
|
import { injectSpecWorkflowGuidePrompt } from './inject-spec-workflow-guide.js';
|
|
7
7
|
import { injectSteeringGuidePrompt } from './inject-steering-guide.js';
|
|
8
8
|
import { refreshTasksPrompt } from './refresh-tasks.js';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
// wrap is now a plugin skill (skills/wrap/SKILL.md), not an MCP prompt
|
|
10
|
+
// prime is now a plugin skill (skills/prime/SKILL.md), not an MCP prompt
|
|
11
|
+
// audit is now a plugin skill (skills/audit/SKILL.md), not an MCP prompt
|
|
12
12
|
// Registry of all prompts
|
|
13
13
|
const promptDefinitions = [
|
|
14
14
|
createSpecPrompt,
|
|
@@ -17,10 +17,7 @@ const promptDefinitions = [
|
|
|
17
17
|
specStatusPrompt,
|
|
18
18
|
injectSpecWorkflowGuidePrompt,
|
|
19
19
|
injectSteeringGuidePrompt,
|
|
20
|
-
refreshTasksPrompt
|
|
21
|
-
wrapPrompt,
|
|
22
|
-
primePrompt,
|
|
23
|
-
auditPrompt
|
|
20
|
+
refreshTasksPrompt
|
|
24
21
|
];
|
|
25
22
|
/**
|
|
26
23
|
* Get all registered prompts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAIA,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAIA,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AAEzE,0BAA0B;AAC1B,MAAM,iBAAiB,GAAuB;IAC5C,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;IACnB,gBAAgB;IAChB,6BAA6B;IAC7B,yBAAyB;IACzB,kBAAkB;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO;QACL,OAAO,EAAE,eAAe,EAAE;KAC3B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,OAA4B,EAAE,EAC9B,OAAoB;IAEpB,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAE1E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-status.d.ts","sourceRoot":"","sources":["../../src/tools/spec-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"spec-status.d.ts","sourceRoot":"","sources":["../../src/tools/spec-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOxD,eAAO,MAAM,cAAc,EAAE,IAwB5B,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAqP9F"}
|
|
@@ -84,6 +84,17 @@ export async function specStatusHandler(args, context) {
|
|
|
84
84
|
currentPhase = 'implementation';
|
|
85
85
|
overallStatus = 'ready-for-implementation';
|
|
86
86
|
}
|
|
87
|
+
// Read project conventions if available
|
|
88
|
+
let conventions = null;
|
|
89
|
+
try {
|
|
90
|
+
const { promises: fsPromises } = await import('fs');
|
|
91
|
+
const convPath = `${translatedPath}/.spec-workflow/project-conventions.json`;
|
|
92
|
+
const convContent = await fsPromises.readFile(convPath, 'utf-8');
|
|
93
|
+
conventions = JSON.parse(convContent);
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
// No conventions file — use generic defaults
|
|
97
|
+
}
|
|
87
98
|
// Phase details
|
|
88
99
|
const phaseDetails = [
|
|
89
100
|
{
|
|
@@ -114,13 +125,26 @@ export async function specStatusHandler(args, context) {
|
|
|
114
125
|
{
|
|
115
126
|
name: 'Post-Implementation',
|
|
116
127
|
status: currentPhase === 'post-implementation' ? 'action-required' : 'not-started',
|
|
117
|
-
checklist: currentPhase === 'post-implementation' ?
|
|
118
|
-
'DocVault updated (/vault-update)'
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
128
|
+
checklist: currentPhase === 'post-implementation' ? (() => {
|
|
129
|
+
const items = ['DocVault updated (/vault-update)'];
|
|
130
|
+
// Dynamic test item based on conventions
|
|
131
|
+
const testItem = conventions?.testing?.command
|
|
132
|
+
? `Tests run (${conventions.testing.command})`
|
|
133
|
+
: 'Project test suite run';
|
|
134
|
+
items.push(testItem);
|
|
135
|
+
// Conditional version bump
|
|
136
|
+
if (conventions?.versioning?.hasVersionLock) {
|
|
137
|
+
items.push('Version bumped');
|
|
138
|
+
}
|
|
139
|
+
// Conditional changelog
|
|
140
|
+
if (conventions?.changelog?.hasChangelog || conventions?.changelog?.docvaultFallback) {
|
|
141
|
+
items.push('Changelog updated');
|
|
142
|
+
}
|
|
143
|
+
items.push('Vault issues closed (mark Done)');
|
|
144
|
+
items.push('GitHub issues closed (gh issue close)');
|
|
145
|
+
items.push('Spec archived');
|
|
146
|
+
return items;
|
|
147
|
+
})() : undefined
|
|
124
148
|
}
|
|
125
149
|
];
|
|
126
150
|
// Next steps based on current phase
|
|
@@ -164,7 +188,10 @@ export async function specStatusHandler(args, context) {
|
|
|
164
188
|
nextSteps.push('All tasks completed (marked [x]) — Phase 5 required before spec is done');
|
|
165
189
|
nextSteps.push('1. Run /vault-update to update affected DocVault documentation');
|
|
166
190
|
nextSteps.push('2. Commit DocVault changes (DocVault commits go direct to main)');
|
|
167
|
-
|
|
191
|
+
const testStep = conventions?.testing?.command
|
|
192
|
+
? `3. Run project test suite (${conventions.testing.command})`
|
|
193
|
+
: '3. Run project test suite';
|
|
194
|
+
nextSteps.push(testStep);
|
|
168
195
|
nextSteps.push('4. CLOSE all linked vault issues (mark status as Done in the issue markdown file)');
|
|
169
196
|
nextSteps.push('5. CLOSE the linked GitHub issue if one exists (gh issue close)');
|
|
170
197
|
nextSteps.push('6. Archive the spec after all issues are closed');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-status.js","sourceRoot":"","sources":["../../src/tools/spec-status.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"spec-status.js","sourceRoot":"","sources":["../../src/tools/spec-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -292,6 +292,12 @@ flowchart TD
|
|
|
292
292
|
- **No contradictions**: Check for conflicting statements between documents (e.g., design says "modal" but tasks say "inline panel").
|
|
293
293
|
- **Prototype consistency**: If design.md references a prototype HTML file, verify it appears in task 0.1-0.3 artifacts and/or task \`_Leverage\` fields.
|
|
294
294
|
- **File touch map validation**: Verify the File Touch Map in tasks.md covers all files mentioned in individual tasks.
|
|
295
|
+
- **Test Design Coverage**: At least one task in tasks.md covers test authoring for new behavior (matching task title/description patterns: "test", "TDD", "verify", "write tests"). If no test task found → FAIL.
|
|
296
|
+
- **Release Hygiene**: Check \`.spec-workflow/project-conventions.json\` (if exists):
|
|
297
|
+
- If version lock detected: verify a task covers version bump. Missing → FAIL.
|
|
298
|
+
- If changelog detected: verify a task covers changelog entry. Missing → FAIL.
|
|
299
|
+
- Verify a task covers DocVault documentation update. Missing → FAIL.
|
|
300
|
+
- If no conventions file exists: note "No project conventions detected — consider running convention detection" as an advisory finding (not a failure).
|
|
295
301
|
3. Save the report as \`readiness-report.md\` in the spec folder using the output format below.
|
|
296
302
|
4. Request dashboard approval using approvals tool with action:'request', filePath pointing to readiness-report.md
|
|
297
303
|
5. Poll status using approvals with action:'status' until responded — the user has THREE options on the dashboard:
|
|
@@ -325,6 +331,14 @@ flowchart TD
|
|
|
325
331
|
## File Touch Map
|
|
326
332
|
- Consistent | [Task 5 touches foo.js but File Touch Map omits it]
|
|
327
333
|
|
|
334
|
+
## Test Design Coverage
|
|
335
|
+
- Task N: "[test task title]" ✓ | [NO TEST TASK FOUND] ✗
|
|
336
|
+
|
|
337
|
+
## Release Hygiene
|
|
338
|
+
- Version bump task: ✓ / ✗ / N/A (no version lock)
|
|
339
|
+
- Changelog task: ✓ / ✗ / N/A (no changelog)
|
|
340
|
+
- DocVault task: ✓ / ✗
|
|
341
|
+
|
|
328
342
|
## Agent Recommendation
|
|
329
343
|
{Brief explanation of the recommendation — why PASS/CONCERNS/FAIL}
|
|
330
344
|
\`\`\`
|
|
@@ -457,23 +471,19 @@ Only dispatch AFTER Stage 1 passes. Verify the code is well-built and production
|
|
|
457
471
|
|
|
458
472
|
Phase 5 has three stages. The spec is NOT complete until all three are done.
|
|
459
473
|
|
|
460
|
-
#### Phase 5.1: Automated
|
|
461
|
-
|
|
462
|
-
**Tools**:
|
|
463
|
-
- Skill \`bb-test\`: Browserbase/Stagehand cloud E2E tests — **primary E2E tool for all specs**
|
|
474
|
+
#### Phase 5.1: Automated Testing
|
|
464
475
|
|
|
465
|
-
|
|
476
|
+
**Purpose**: Run the project's test suite to verify the implementation.
|
|
466
477
|
|
|
467
478
|
**Process**:
|
|
468
|
-
1.
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
3. If E2E tests fail: fix the failures before proceeding to QA. Do not skip to 5.2 with known test failures.
|
|
479
|
+
1. Check \`.spec-workflow/project-conventions.json\` for the project's test command and framework.
|
|
480
|
+
2. If conventions exist and specify a test command: run that command (e.g., \`npm test\`, \`npx vitest\`, \`pytest\`).
|
|
481
|
+
3. If no conventions exist: check \`package.json\` for a \`test\` script. If found, run \`npm test\`. If not found, ask the user for the test command.
|
|
482
|
+
4. If the project uses Browserbase/Stagehand (\`conventions.testing.hasBrowserbase\` is true):
|
|
483
|
+
- Get the PR preview URL from the draft PR's deployment checks
|
|
484
|
+
- Run \`/bb-test\` with the preview URL for E2E browser testing
|
|
485
|
+
- This is IN ADDITION to the unit/integration tests from step 2
|
|
486
|
+
5. If tests fail: fix the failures before proceeding to QA. Do not skip to 5.2 with known test failures.
|
|
477
487
|
|
|
478
488
|
#### Phase 5.2: User QA Session
|
|
479
489
|
|
|
@@ -530,7 +540,7 @@ Phase 5 has three stages. The spec is NOT complete until all three are done.
|
|
|
530
540
|
- Get explicit user approval between phases (using approvals tool with action:'request')
|
|
531
541
|
- Complete phases in sequence (no skipping)
|
|
532
542
|
- Phase 5 has three stages: 5.1 (automated E2E), 5.2 (user QA session), 5.3 (docs + PR finalization) — all three are mandatory. Docs run AFTER QA so documentation captures final post-QA code
|
|
533
|
-
- Phase 5
|
|
543
|
+
- Phase 5.1 runs the project's test suite as detected in project-conventions.json. Browserbase/Stagehand is used additionally when the project has browser-based E2E tests.
|
|
534
544
|
- CRITICAL: During Phase 5.2 (User QA), the agent MUST NOT suggest merging, declare the work done, or push back on findings. The user drives QA, the agent fixes. QA ends ONLY when the user says so
|
|
535
545
|
- CRITICAL: The spec finish line is marking the PR ready for review (Phase 5.3), NOT passing automated tests. Automated tests passing = ready for QA, not ready to merge
|
|
536
546
|
- One spec at a time
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-workflow-guide.js","sourceRoot":"","sources":["../../src/tools/spec-workflow-guide.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,qBAAqB,GAAS;IACzC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE;;;kXAGmW;IAChX,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,KAAK;KAC5B;IACD,WAAW,EAAE;QACX,KAAK,EAAE,qBAAqB;QAC5B,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAAS,EAAE,OAAoB;IAC5E,wDAAwD;IACxD,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7C,kCAAkC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAC1D,gEAAgE,CAAC;IAEnE,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,oEAAoE;QAC7E,IAAI,EAAE;YACJ,KAAK,EAAE,oBAAoB,EAAE;YAC7B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY;SAC3C;QACD,SAAS,EAAE;YACT,iEAAiE;YACjE,gDAAgD;YAChD,sCAAsC;YACtC,oBAAoB;YACpB,gBAAgB;SACjB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,OAAO;;;;6PAIoP,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6IzL,WAAW;;;;;;;;;;;;;;;;;;;;;;;yEAuBjB,WAAW
|
|
1
|
+
{"version":3,"file":"spec-workflow-guide.js","sourceRoot":"","sources":["../../src/tools/spec-workflow-guide.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,qBAAqB,GAAS;IACzC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE;;;kXAGmW;IAChX,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,KAAK;KAC5B;IACD,WAAW,EAAE;QACX,KAAK,EAAE,qBAAqB;QAC5B,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAAS,EAAE,OAAoB;IAC5E,wDAAwD;IACxD,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7C,kCAAkC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAC1D,gEAAgE,CAAC;IAEnE,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,oEAAoE;QAC7E,IAAI,EAAE;YACJ,KAAK,EAAE,oBAAoB,EAAE;YAC7B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY;SAC3C;QACD,SAAS,EAAE;YACT,iEAAiE;YACjE,gDAAgD;YAChD,sCAAsC;YACtC,oBAAoB;YACpB,gBAAgB;SACjB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,OAAO;;;;6PAIoP,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA6IzL,WAAW;;;;;;;;;;;;;;;;;;;;;;;yEAuBjB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2X7E,CAAC;AACR,CAAC"}
|
package/package.json
CHANGED
package/dist/prompts/audit.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/prompts/audit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA8Q9C,eAAO,MAAM,WAAW,EAAE,gBAGzB,CAAC"}
|
package/dist/prompts/audit.js
DELETED
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
const prompt = {
|
|
2
|
-
name: 'audit',
|
|
3
|
-
title: 'Project Health Audit',
|
|
4
|
-
description: 'On-demand project health check covering code quality (CGC dead code, complexity), security posture (Codacy SRM), instruction file drift (CLAUDE.md vs Agents.md vs Gemini.md), issue landscape, and index health. Run when you want a thorough assessment — not needed every session.',
|
|
5
|
-
arguments: [
|
|
6
|
-
{
|
|
7
|
-
name: 'focus',
|
|
8
|
-
description: 'Focus the audit on a specific area: "code" (dead code, complexity), "security" (Codacy, SRM), "drift" (instruction file consistency), "issues" (stale/orphan issues), or "all" (default)',
|
|
9
|
-
required: false
|
|
10
|
-
}
|
|
11
|
-
]
|
|
12
|
-
};
|
|
13
|
-
async function handler(args, context) {
|
|
14
|
-
const focus = args.focus || 'all';
|
|
15
|
-
const sections = {
|
|
16
|
-
code: focus === 'all' || focus === 'code',
|
|
17
|
-
security: focus === 'all' || focus === 'security',
|
|
18
|
-
drift: focus === 'all' || focus === 'drift',
|
|
19
|
-
issues: focus === 'all' || focus === 'issues',
|
|
20
|
-
};
|
|
21
|
-
const messages = [
|
|
22
|
-
{
|
|
23
|
-
role: 'user',
|
|
24
|
-
content: {
|
|
25
|
-
type: 'text',
|
|
26
|
-
text: `Run a project health audit. Focus: ${focus}.
|
|
27
|
-
|
|
28
|
-
**Context:**
|
|
29
|
-
- Project: ${context.projectPath}
|
|
30
|
-
${context.dashboardUrl ? `- Dashboard: ${context.dashboardUrl}` : ''}
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## Phase 0: Project Identity
|
|
35
|
-
|
|
36
|
-
\`\`\`bash
|
|
37
|
-
cat .claude/project.json 2>/dev/null
|
|
38
|
-
git remote get-url origin 2>/dev/null
|
|
39
|
-
\`\`\`
|
|
40
|
-
|
|
41
|
-
Extract: \`name\`, \`tag\`, \`issuePrefix\`, \`owner\`, \`repo\` (parse from git remote).
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## Phase 1: Parallel Scans
|
|
46
|
-
|
|
47
|
-
Dispatch ALL applicable scans simultaneously. Use agents for heavy work, main context for fast MCP calls.
|
|
48
|
-
|
|
49
|
-
${sections.code ? `### 1.1: Code Health (Agent: code-oracle, background)
|
|
50
|
-
|
|
51
|
-
Dispatch a \`code-oracle\` agent:
|
|
52
|
-
\`\`\`
|
|
53
|
-
Run a full code health audit:
|
|
54
|
-
- workingDir: ${context.projectPath}
|
|
55
|
-
|
|
56
|
-
Checks:
|
|
57
|
-
1. Dead code detection via CGC (mcp__code-graph-context__find_dead_code)
|
|
58
|
-
2. Top 10 most complex functions via CGC (mcp__code-graph-context__find_most_complex_functions)
|
|
59
|
-
3. Convention violations in files changed in the last 14 days
|
|
60
|
-
4. If CGC unavailable, fall back to grep-based analysis of unused exports
|
|
61
|
-
|
|
62
|
-
Output format: tables only, no prose. Max 20 findings per category.
|
|
63
|
-
\`\`\`
|
|
64
|
-
` : '<!-- code scan skipped -->'}
|
|
65
|
-
${sections.security ? `### 1.2: Security Posture (main context, parallel)
|
|
66
|
-
|
|
67
|
-
**Codacy SRM findings:**
|
|
68
|
-
\`\`\`
|
|
69
|
-
mcp__codacy__codacy_search_repository_srm_items(
|
|
70
|
-
provider="gh", organization="<owner>", repository="<repo>",
|
|
71
|
-
options={"statuses": ["OnTrack", "DueSoon", "Overdue"], "priorities": ["Critical", "High"]},
|
|
72
|
-
limit=25
|
|
73
|
-
)
|
|
74
|
-
\`\`\`
|
|
75
|
-
|
|
76
|
-
**Critical code quality issues:**
|
|
77
|
-
\`\`\`
|
|
78
|
-
mcp__codacy__codacy_list_repository_issues(
|
|
79
|
-
provider="gh", organization="<owner>", repository="<repo>",
|
|
80
|
-
options={"levels": ["Error"], "categories": ["security", "errorprone"]},
|
|
81
|
-
limit=25
|
|
82
|
-
)
|
|
83
|
-
\`\`\`
|
|
84
|
-
|
|
85
|
-
**DocVault security reviews — staleness check:**
|
|
86
|
-
\`\`\`bash
|
|
87
|
-
ls -t "/Volumes/DATA/GitHub/DocVault/Projects/<name>/Security Reviews/"*.md 2>/dev/null | head -1
|
|
88
|
-
\`\`\`
|
|
89
|
-
If the most recent review is older than 30 days, flag it as stale.
|
|
90
|
-
|
|
91
|
-
**GitHub security alerts:**
|
|
92
|
-
\`\`\`bash
|
|
93
|
-
gh api repos/<owner>/<repo>/vulnerability-alerts 2>/dev/null || echo "alerts-unavailable"
|
|
94
|
-
\`\`\`
|
|
95
|
-
` : '<!-- security scan skipped -->'}
|
|
96
|
-
${sections.drift ? `### 1.3: Instruction File Drift (main context, parallel)
|
|
97
|
-
|
|
98
|
-
Check consistency across agent instruction files. Read ALL three files that exist for this project:
|
|
99
|
-
|
|
100
|
-
\`\`\`bash
|
|
101
|
-
# Find instruction files
|
|
102
|
-
cat "${context.projectPath}/CLAUDE.md" 2>/dev/null | head -200
|
|
103
|
-
cat "${context.projectPath}/.codex/config.toml" 2>/dev/null || cat "${context.projectPath}/Agents.md" 2>/dev/null | head -200
|
|
104
|
-
cat "${context.projectPath}/Gemini.md" 2>/dev/null || cat "${context.projectPath}/.gemini/config.md" 2>/dev/null | head -200
|
|
105
|
-
\`\`\`
|
|
106
|
-
|
|
107
|
-
Also check the global instruction files:
|
|
108
|
-
\`\`\`bash
|
|
109
|
-
cat ~/.claude/CLAUDE.md 2>/dev/null | head -100
|
|
110
|
-
cat ~/.codex/config.toml 2>/dev/null | head -100
|
|
111
|
-
\`\`\`
|
|
112
|
-
|
|
113
|
-
**Extract factual claims** from each file:
|
|
114
|
-
- Tools/MCP servers referenced
|
|
115
|
-
- Services referenced (Linear, GitHub, Jira, etc.)
|
|
116
|
-
- Infrastructure references (IPs, ports, hostnames)
|
|
117
|
-
- Project names and repo paths
|
|
118
|
-
- Retired/deprecated items mentioned
|
|
119
|
-
- Workflow steps or mandatory gates
|
|
120
|
-
|
|
121
|
-
**Compare across files.** Report contradictions:
|
|
122
|
-
- Tool X mentioned in CLAUDE.md but not in Agents.md
|
|
123
|
-
- Service Y marked as "retired" in one file but still referenced in another
|
|
124
|
-
- Different IPs or ports for the same service
|
|
125
|
-
- Workflow steps that differ between agents
|
|
126
|
-
|
|
127
|
-
**Format findings as a table:**
|
|
128
|
-
| Claim | CLAUDE.md | Agents.md | Gemini.md | Issue |
|
|
129
|
-
|-------|-----------|-----------|-----------|-------|
|
|
130
|
-
| Linear usage | "retired 2026-03-13" | "track in INGEST project" | not mentioned | Stale reference in Agents.md |
|
|
131
|
-
` : '<!-- drift check skipped -->'}
|
|
132
|
-
${sections.issues ? `### 1.4: Issue Landscape (main context, parallel)
|
|
133
|
-
|
|
134
|
-
**Vault issues:**
|
|
135
|
-
\`\`\`bash
|
|
136
|
-
# All open issues
|
|
137
|
-
grep -rl "status: backlog\\|status: todo\\|status: in-progress" /Volumes/DATA/GitHub/DocVault/Projects/<name>/Issues/*.md 2>/dev/null
|
|
138
|
-
\`\`\`
|
|
139
|
-
|
|
140
|
-
For each open issue, read frontmatter to extract: id, title, status, priority, created date.
|
|
141
|
-
|
|
142
|
-
**GitHub issues:**
|
|
143
|
-
\`\`\`bash
|
|
144
|
-
gh issue list --repo <owner>/<repo> --state open --json number,title,labels,createdAt --limit 30 2>/dev/null
|
|
145
|
-
\`\`\`
|
|
146
|
-
|
|
147
|
-
**Cross-reference with recent work:**
|
|
148
|
-
\`\`\`bash
|
|
149
|
-
git log --oneline -30 --no-merges
|
|
150
|
-
\`\`\`
|
|
151
|
-
|
|
152
|
-
Identify:
|
|
153
|
-
- **Stale issues**: open for >30 days with no recent commits referencing them
|
|
154
|
-
- **Done but not closed**: issues whose work appears in git log but status is still open
|
|
155
|
-
- **Orphan GitHub issues**: GitHub issues with no corresponding vault issue (or vice versa)
|
|
156
|
-
` : '<!-- issue scan skipped -->'}
|
|
157
|
-
|
|
158
|
-
### 1.5: Index Health (always runs)
|
|
159
|
-
|
|
160
|
-
\`\`\`
|
|
161
|
-
mcp__claude-context__get_indexing_status(path="${context.projectPath}")
|
|
162
|
-
\`\`\`
|
|
163
|
-
|
|
164
|
-
If stale (>24h), trigger re-index:
|
|
165
|
-
\`\`\`
|
|
166
|
-
mcp__claude-context__index_codebase(path="${context.projectPath}")
|
|
167
|
-
\`\`\`
|
|
168
|
-
|
|
169
|
-
Check CGC:
|
|
170
|
-
\`\`\`
|
|
171
|
-
mcp__code-graph-context__get_repository_stats(repo_path="/workspace/<name>")
|
|
172
|
-
\`\`\`
|
|
173
|
-
|
|
174
|
-
If CGC function count seems low (<50 for medium+ projects), flag for re-index.
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
## Phase 2: Synthesis
|
|
179
|
-
|
|
180
|
-
Wait for all scans to complete. Combine results into a structured report.
|
|
181
|
-
|
|
182
|
-
### Terminal Summary (display to user, <40 lines)
|
|
183
|
-
|
|
184
|
-
\`\`\`
|
|
185
|
-
# Audit — <ProjectName> (<date>)
|
|
186
|
-
|
|
187
|
-
${sections.code ? `## Code Health
|
|
188
|
-
| Category | Count | Top Finding |
|
|
189
|
-
|----------|-------|-------------|
|
|
190
|
-
| Dead code | N | <most impactful unused symbol> |
|
|
191
|
-
| Complexity | N hotspots | <highest CCN function> |
|
|
192
|
-
| Conventions | N issues | <most common violation> |
|
|
193
|
-
` : ''}
|
|
194
|
-
${sections.security ? `## Security
|
|
195
|
-
**Codacy SRM:** N Critical, N High | N Overdue
|
|
196
|
-
<List Critical/Overdue items if any>
|
|
197
|
-
**Code Quality:** N Error-level issues
|
|
198
|
-
**Last Review:** <date> (<N days ago>)
|
|
199
|
-
<If >30 days: "⚠ Stale — schedule a new security review">
|
|
200
|
-
` : ''}
|
|
201
|
-
${sections.drift ? `## Instruction File Drift
|
|
202
|
-
<N contradictions found across CLAUDE.md / Agents.md / Gemini.md>
|
|
203
|
-
<List each contradiction as a one-liner>
|
|
204
|
-
<If clean: "All instruction files consistent.">
|
|
205
|
-
` : ''}
|
|
206
|
-
${sections.issues ? `## Issues
|
|
207
|
-
| Status | Count |
|
|
208
|
-
|--------|-------|
|
|
209
|
-
| In Progress | N |
|
|
210
|
-
| Backlog | N |
|
|
211
|
-
| Stale (>30d) | N |
|
|
212
|
-
| Done-not-closed | N |
|
|
213
|
-
` : ''}
|
|
214
|
-
## Index Health
|
|
215
|
-
| Tool | Status | Details |
|
|
216
|
-
|------|--------|---------|
|
|
217
|
-
| claude-context | Fresh/Stale | N files |
|
|
218
|
-
| CGC | Running/Down | N functions |
|
|
219
|
-
|
|
220
|
-
## Recommended Actions
|
|
221
|
-
1. <highest priority action>
|
|
222
|
-
2. <next>
|
|
223
|
-
3. <next>
|
|
224
|
-
\`\`\`
|
|
225
|
-
|
|
226
|
-
### Full Report (write to DocVault)
|
|
227
|
-
|
|
228
|
-
Write the complete report to:
|
|
229
|
-
\`\`\`
|
|
230
|
-
/Volumes/DATA/GitHub/DocVault/Projects/<name>/audit/<YYYY-MM-DD>-<HHMMSS>.md
|
|
231
|
-
\`\`\`
|
|
232
|
-
|
|
233
|
-
Include YAML frontmatter:
|
|
234
|
-
\`\`\`yaml
|
|
235
|
-
---
|
|
236
|
-
tags: [audit-report, <tag>]
|
|
237
|
-
project: <name>
|
|
238
|
-
date: <YYYY-MM-DD>
|
|
239
|
-
focus: ${focus}
|
|
240
|
-
---
|
|
241
|
-
\`\`\`
|
|
242
|
-
|
|
243
|
-
The full report includes all raw findings (not just the summary). Commit to DocVault:
|
|
244
|
-
\`\`\`bash
|
|
245
|
-
cd /Volumes/DATA/GitHub/DocVault && mkdir -p "Projects/<name>/audit" && git add "Projects/<name>/audit/" && git commit -m "audit: <project> <date>" && git push origin main
|
|
246
|
-
\`\`\`
|
|
247
|
-
|
|
248
|
-
---
|
|
249
|
-
|
|
250
|
-
## Rules
|
|
251
|
-
|
|
252
|
-
- **Parallel by default.** All scans that can run simultaneously should.
|
|
253
|
-
- **Graceful degradation.** If CGC is down, Codacy fails, or a file is missing — note it and continue. Never block the audit on a single failing check.
|
|
254
|
-
- **Facts, not opinions.** Report what the tools find. Don't editorialize.
|
|
255
|
-
- **Actionable output.** Every finding should map to a concrete next step.
|
|
256
|
-
- **Don't fix during audit.** The audit reports; the user decides what to fix. Exception: if the user says "fix it" after seeing results, then proceed.
|
|
257
|
-
- **Instruction drift is advisory.** Report contradictions but don't auto-sync files — each agent reads slightly different formats.`
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
];
|
|
261
|
-
return messages;
|
|
262
|
-
}
|
|
263
|
-
export const auditPrompt = {
|
|
264
|
-
prompt,
|
|
265
|
-
handler
|
|
266
|
-
};
|
|
267
|
-
//# sourceMappingURL=audit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/prompts/audit.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,GAAW;IACrB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,uRAAuR;IACpS,SAAS,EAAE;QACT;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,0LAA0L;YACvM,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,KAAK,UAAU,OAAO,CAAC,IAAyB,EAAE,OAAoB;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IAElC,MAAM,QAAQ,GAAG;QACf,IAAI,EAAE,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM;QACzC,QAAQ,EAAE,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,UAAU;QACjD,KAAK,EAAE,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO;QAC3C,MAAM,EAAE,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ;KAC9C,CAAC;IAEF,MAAM,QAAQ,GAAoB;QAChC;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,sCAAsC,KAAK;;;aAG5C,OAAO,CAAC,WAAW;EAC9B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;EAmBlE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;;;;;gBAKF,OAAO,CAAC,WAAW;;;;;;;;;;CAUlC,CAAC,CAAC,CAAC,4BAA4B;EAC9B,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BrB,CAAC,CAAC,CAAC,gCAAgC;EAClC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;;;;;;OAMZ,OAAO,CAAC,WAAW;OACnB,OAAO,CAAC,WAAW,4CAA4C,OAAO,CAAC,WAAW;OAClF,OAAO,CAAC,WAAW,mCAAmC,OAAO,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B/E,CAAC,CAAC,CAAC,8BAA8B;EAChC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CAwBnB,CAAC,CAAC,CAAC,6BAA6B;;;;;iDAKgB,OAAO,CAAC,WAAW;;;;;4CAKxB,OAAO,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;EAqB7D,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;;;;;;CAMjB,CAAC,CAAC,CAAC,EAAE;EACJ,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;;;;;;CAMrB,CAAC,CAAC,CAAC,EAAE;EACJ,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;;;;CAIlB,CAAC,CAAC,CAAC,EAAE;EACJ,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;;;;;;;CAOnB,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;SA0BG,KAAK;;;;;;;;;;;;;;;;;;oIAkBsH;aAC7H;SACF;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C,MAAM;IACN,OAAO;CACR,CAAC"}
|
package/dist/prompts/prime.d.ts
DELETED