vibe-fabric 0.3.2 → 0.4.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.
Files changed (77) hide show
  1. package/.claude/prompts/analyze/assess.md +208 -0
  2. package/.claude/prompts/analyze/synthesize.md +239 -0
  3. package/.claude/prompts/analyze/task-analyze-repo.md +260 -0
  4. package/.claude/prompts/gaps/assess.md +203 -0
  5. package/.claude/prompts/gaps/synthesize.md +180 -0
  6. package/.claude/prompts/gaps/task-analyze-module.md +198 -0
  7. package/.claude/prompts/prd/assess.md +156 -0
  8. package/.claude/prompts/prd/synthesize.md +191 -0
  9. package/.claude/prompts/prd/task-capture-feature.md +133 -0
  10. package/.claude/prompts/prd/task-deprecate.md +84 -0
  11. package/.claude/prompts/prd/task-document-code.md +110 -0
  12. package/.claude/prompts/prd/task-fix-format.md +102 -0
  13. package/.claude/prompts/prd/task-update-status.md +89 -0
  14. package/.claude/prompts/scope/assess.md +201 -0
  15. package/.claude/prompts/scope/synthesize.md +270 -0
  16. package/.claude/prompts/scope/task-analyze-prd.md +125 -0
  17. package/.claude/prompts/scope/task-check-deps.md +188 -0
  18. package/.claude/prompts/scope/task-create-scope.md +207 -0
  19. package/.claude/prompts/scope/task-recommend.md +146 -0
  20. package/.claude/prompts/scope/task-review-scope.md +191 -0
  21. package/.claude/prompts/scope/task-validate.md +203 -0
  22. package/dist/cli/commands/analyze.d.ts +33 -0
  23. package/dist/cli/commands/analyze.d.ts.map +1 -0
  24. package/dist/cli/commands/analyze.js +243 -0
  25. package/dist/cli/commands/analyze.js.map +1 -0
  26. package/dist/cli/commands/config/get.d.ts +9 -0
  27. package/dist/cli/commands/config/get.d.ts.map +1 -0
  28. package/dist/cli/commands/config/get.js +69 -0
  29. package/dist/cli/commands/config/get.js.map +1 -0
  30. package/dist/cli/commands/config/list.d.ts +24 -0
  31. package/dist/cli/commands/config/list.d.ts.map +1 -0
  32. package/dist/cli/commands/config/list.js +146 -0
  33. package/dist/cli/commands/config/list.js.map +1 -0
  34. package/dist/cli/commands/config/set.d.ts +14 -0
  35. package/dist/cli/commands/config/set.d.ts.map +1 -0
  36. package/dist/cli/commands/config/set.js +111 -0
  37. package/dist/cli/commands/config/set.js.map +1 -0
  38. package/dist/cli/commands/repo/list.d.ts +26 -0
  39. package/dist/cli/commands/repo/list.d.ts.map +1 -0
  40. package/dist/cli/commands/repo/list.js +197 -0
  41. package/dist/cli/commands/repo/list.js.map +1 -0
  42. package/dist/cli/commands/repo/remove.d.ts +29 -0
  43. package/dist/cli/commands/repo/remove.d.ts.map +1 -0
  44. package/dist/cli/commands/repo/remove.js +219 -0
  45. package/dist/cli/commands/repo/remove.js.map +1 -0
  46. package/dist/cli/commands/report.d.ts +16 -0
  47. package/dist/cli/commands/report.d.ts.map +1 -0
  48. package/dist/cli/commands/report.js +160 -0
  49. package/dist/cli/commands/report.js.map +1 -0
  50. package/dist/cli/index.js +14 -0
  51. package/dist/cli/index.js.map +1 -1
  52. package/dist/core/config.d.ts +25 -0
  53. package/dist/core/config.d.ts.map +1 -1
  54. package/dist/core/config.js +77 -0
  55. package/dist/core/config.js.map +1 -1
  56. package/dist/core/project.d.ts.map +1 -1
  57. package/dist/core/project.js +49 -1
  58. package/dist/core/project.js.map +1 -1
  59. package/dist/core/repo/templates/claude-agents.d.ts.map +1 -1
  60. package/dist/core/repo/templates/claude-agents.js +136 -28
  61. package/dist/core/repo/templates/claude-agents.js.map +1 -1
  62. package/dist/core/repo/templates/claude-prompts.d.ts +1 -1
  63. package/dist/core/repo/templates/claude-prompts.d.ts.map +1 -1
  64. package/dist/core/repo/templates/claude-prompts.js +412 -157
  65. package/dist/core/repo/templates/claude-prompts.js.map +1 -1
  66. package/dist/core/repo/templates/claude-scripts.d.ts.map +1 -1
  67. package/dist/core/repo/templates/claude-scripts.js +555 -94
  68. package/dist/core/repo/templates/claude-scripts.js.map +1 -1
  69. package/dist/core/report.d.ts +25 -0
  70. package/dist/core/report.d.ts.map +1 -0
  71. package/dist/core/report.js +702 -0
  72. package/dist/core/report.js.map +1 -0
  73. package/dist/types/report.d.ts +158 -0
  74. package/dist/types/report.d.ts.map +1 -0
  75. package/dist/types/report.js +7 -0
  76. package/dist/types/report.js.map +1 -0
  77. package/package.json +2 -1
@@ -75,4 +75,81 @@ export function isVibeProject(dirPath) {
75
75
  export function getConfigPath(projectPath) {
76
76
  return path.join(projectPath, CONFIG_FILE_NAME);
77
77
  }
78
+ /**
79
+ * Get a config value by dot-notation key
80
+ * @param config - The configuration object
81
+ * @param key - Dot-notation key (e.g., "project.name", "repos")
82
+ * @returns The value at the key, or undefined if not found
83
+ */
84
+ export function getConfigValue(config, key) {
85
+ const parts = key.split('.');
86
+ let current = config;
87
+ for (const part of parts) {
88
+ if (current === null || current === undefined)
89
+ return undefined;
90
+ if (typeof current !== 'object')
91
+ return undefined;
92
+ current = current[part];
93
+ }
94
+ return current;
95
+ }
96
+ /**
97
+ * Set a config value by dot-notation key
98
+ * @param config - The configuration object to modify
99
+ * @param key - Dot-notation key (e.g., "project.name")
100
+ * @param value - The value to set
101
+ * @returns The modified config
102
+ */
103
+ export function setConfigValue(config, key, value) {
104
+ const parts = key.split('.');
105
+ const lastPart = parts.pop();
106
+ let current = config;
107
+ for (const part of parts) {
108
+ if (!(part in current) || typeof current[part] !== 'object') {
109
+ current[part] = {};
110
+ }
111
+ current = current[part];
112
+ }
113
+ current[lastPart] = value;
114
+ return config;
115
+ }
116
+ /**
117
+ * Parse a string value to appropriate type
118
+ * @param value - The string value to parse
119
+ * @returns The parsed value (boolean, number, or string)
120
+ */
121
+ export function parseValue(value) {
122
+ // Boolean
123
+ if (value.toLowerCase() === 'true')
124
+ return true;
125
+ if (value.toLowerCase() === 'false')
126
+ return false;
127
+ // Number (only if it's a valid number and not empty)
128
+ const trimmed = value.trim();
129
+ if (trimmed !== '') {
130
+ const num = Number(trimmed);
131
+ if (!isNaN(num))
132
+ return num;
133
+ }
134
+ // String (return as-is)
135
+ return value;
136
+ }
137
+ /**
138
+ * Get all valid config keys (for validation and autocomplete)
139
+ */
140
+ export function getValidConfigKeys() {
141
+ return [
142
+ 'project',
143
+ 'project.name',
144
+ 'project.version',
145
+ 'project.created',
146
+ 'project.type',
147
+ 'project.description',
148
+ 'project.description.summary',
149
+ 'project.description.goals',
150
+ 'project.description.constraints',
151
+ 'project.description.targetUsers',
152
+ 'repos',
153
+ ];
154
+ }
78
155
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/core/project.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,UAAU,GAAG,KAAK,GAC/B,OAAO,CAAC,IAAI,CAAC,CAiCf;AAiFD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAW5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWhE"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/core/project.ts"],"names":[],"mappings":"AA6BA;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,UAAU,GAAG,KAAK,GAC/B,OAAO,CAAC,IAAI,CAAC,CAoCf;AAiFD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAW5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWhE"}
@@ -1,8 +1,13 @@
1
- import { mkdir, writeFile } from 'fs/promises';
1
+ import { mkdir, writeFile, readdir, copyFile } from 'fs/promises';
2
2
  import { existsSync } from 'fs';
3
3
  import path from 'path';
4
+ import { fileURLToPath } from 'url';
4
5
  import { saveConfig } from './config.js';
5
6
  import { generatePlanningHubCommands, ensureCustomCommandsDir } from './commands.js';
7
+ // Get the package root directory
8
+ const __filename = fileURLToPath(import.meta.url);
9
+ const __dirname = path.dirname(__filename);
10
+ const PACKAGE_ROOT = path.resolve(__dirname, '../..');
6
11
  /**
7
12
  * Planning hub directory structure
8
13
  */
@@ -48,6 +53,8 @@ export async function createPlanningHub(projectPath, projectName, projectType) {
48
53
  await ensureCustomCommandsDir(projectPath);
49
54
  // Copy vibe-runner.py to .claude/scripts/
50
55
  await createRunnerScript(projectPath);
56
+ // Copy prompt templates to .claude/prompts/
57
+ await copyPromptTemplates(projectPath);
51
58
  }
52
59
  /**
53
60
  * Create initial files for the planning hub
@@ -807,4 +814,45 @@ if __name__ == "__main__":
807
814
  const scriptPath = path.join(projectPath, '.claude', 'scripts', 'vibe-runner.py');
808
815
  await writeFile(scriptPath, runnerScript, 'utf-8');
809
816
  }
817
+ /**
818
+ * Copy prompt templates from the package to a new project.
819
+ *
820
+ * Copies all prompt templates from .claude/prompts/ in the package
821
+ * to the target project's .claude/prompts/ directory.
822
+ */
823
+ async function copyPromptTemplates(projectPath) {
824
+ const sourceDir = path.join(PACKAGE_ROOT, '.claude', 'prompts');
825
+ const targetDir = path.join(projectPath, '.claude', 'prompts');
826
+ // Check if source directory exists
827
+ if (!existsSync(sourceDir)) {
828
+ // If running from source (not installed), the prompts may be at a different location
829
+ // For development, skip silently
830
+ return;
831
+ }
832
+ // Get all operation directories (prd, scope, gaps, analyze)
833
+ const operations = await readdir(sourceDir);
834
+ for (const operation of operations) {
835
+ const operationSourceDir = path.join(sourceDir, operation);
836
+ const operationTargetDir = path.join(targetDir, operation);
837
+ // Skip if not a directory
838
+ try {
839
+ const entries = await readdir(operationSourceDir);
840
+ // Create target operation directory
841
+ await mkdir(operationTargetDir, { recursive: true });
842
+ // Copy all files in this operation directory
843
+ for (const entry of entries) {
844
+ const sourceFile = path.join(operationSourceDir, entry);
845
+ const targetFile = path.join(operationTargetDir, entry);
846
+ // Only copy .md files
847
+ if (entry.endsWith('.md')) {
848
+ await copyFile(sourceFile, targetFile);
849
+ }
850
+ }
851
+ }
852
+ catch {
853
+ // Skip if not a directory or can't read
854
+ continue;
855
+ }
856
+ }
857
+ }
810
858
  //# sourceMappingURL=project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/core/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAErF;;GAEG;AACH,MAAM,mBAAmB,GAAG;IAC1B,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,mBAAmB;IACnB,kBAAkB;IAClB,uBAAuB;IACvB,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAAmB,EACnB,WAAmB,EACnB,WAAgC;IAEhC,4CAA4C;IAC5C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,4BAA4B;IAC5B,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC5C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,wBAAwB;IACxB,MAAM,MAAM,GAAW;QACrB,OAAO,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACjC,IAAI,EAAE,WAAW;SAClB;QACD,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,MAAM,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEtC,uBAAuB;IACvB,MAAM,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAEnD,4CAA4C;IAC5C,MAAM,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAE3C,0CAA0C;IAC1C,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,WAAmB,EAAE,WAAmB;IACxE,qCAAqC;IACrC,MAAM,QAAQ,GAAG,KAAK,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BlC,CAAC;IAEA,kCAAkC;IAClC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;CAenB,CAAC;IAEA,YAAY;IACZ,MAAM,QAAQ,GAAG,KAAK,WAAW;;;;;;;;;;;;;;;;;;iBAkBlB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACtD,CAAC;IAEA,cAAc;IACd,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1E,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,IAAI,WAAW,GAAG,OAAO,CAAC;IAE1B,OAAO,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACjD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,IAAI,WAAW,GAAG,SAAS,CAAC;IAE5B,OAAO,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACjD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC;YAC3D,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IACnD,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyoBtB,CAAC;IAEA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAClF,MAAM,SAAS,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/core/project.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-agents.d.ts","sourceRoot":"","sources":["../../../../src/core/repo/templates/claude-agents.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,YAAY,EAAE,YAAY,EA4KtC,CAAC"}
1
+ {"version":3,"file":"claude-agents.d.ts","sourceRoot":"","sources":["../../../../src/core/repo/templates/claude-agents.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,YAAY,EAAE,YAAY,EAwRtC,CAAC"}
@@ -117,25 +117,79 @@ description: Pre-execution research for Ralph autonomous mode
117
117
 
118
118
  # Ralph Research Agent
119
119
 
120
- You prepare context for autonomous execution sessions.
120
+ You prepare comprehensive context for autonomous task execution. Your research
121
+ enables subsequent sessions to execute tasks without needing to re-investigate
122
+ the codebase.
123
+
124
+ ## Context
125
+
126
+ This agent runs ONCE at the start of a Ralph execution loop. The context you
127
+ gather will be saved to the plan file and used by ALL subsequent task sessions.
128
+
129
+ ## Capabilities
130
+
131
+ - Read and analyze plan files
132
+ - Explore codebase structure via maps
133
+ - Search knowledge base for patterns and gotchas
134
+ - Identify key files for each task
135
+ - Detect potential blockers early
121
136
 
122
137
  ## Task
123
138
 
124
- Before each execution session:
125
- 1. Review the current plan state
126
- 2. Identify what was completed in previous sessions
127
- 3. Determine the next logical steps
128
- 4. Gather relevant context (files, KB entries)
129
- 5. Identify potential blockers
139
+ 1. **Read the Plan**
140
+ - Understand all tasks and their order
141
+ - Note dependencies between tasks
142
+ - Identify acceptance criteria
130
143
 
131
- ## Output
144
+ 2. **Analyze Codebase**
145
+ - Read maps in \`vibe/maps/\` for architecture understanding
146
+ - Search \`vibe/knowledge-base/\` for relevant entries
147
+ - Check completed plans for similar work patterns
148
+ - Identify coding conventions and patterns
149
+
150
+ 3. **Map Files to Tasks**
151
+ - For each task, list specific files to read
152
+ - For each task, list files to create or modify
153
+ - Identify shared utilities and types
154
+ - Locate test file conventions
155
+
156
+ 4. **Document Findings**
157
+ - Append "Ralph Research Context" section to plan
158
+ - Include codebase summary, key patterns
159
+ - List files by task
160
+ - Note any potential blockers
161
+
162
+ ## Output Format
163
+
164
+ Append to plan file:
165
+
166
+ \`\`\`markdown
167
+ ## Ralph Research Context
168
+
169
+ ### Codebase Summary
170
+ - [Architecture patterns]
171
+ - [Coding conventions]
172
+ - [Key utilities]
173
+
174
+ ### Key Files by Task
175
+
176
+ **Task 1:**
177
+ - Read: [files]
178
+ - Modify: [files]
179
+ - Test: [test files]
180
+
181
+ [Continue for all tasks...]
182
+
183
+ ### Potential Blockers
184
+ - [Identified risks]
185
+ \`\`\`
186
+
187
+ ## Guidelines
132
188
 
133
- Produce a session brief containing:
134
- - Summary of progress so far
135
- - Next steps to execute
136
- - Required context and files
137
- - Known risks or considerations
138
- - Success criteria for this session
189
+ - Be thorough - task sessions depend on this research
190
+ - Be specific - use actual file paths
191
+ - Be concise - avoid unnecessary prose
192
+ - EXIT immediately when complete
139
193
  `,
140
194
  },
141
195
  // ralph-cleanup-agent.md
@@ -148,25 +202,79 @@ description: Post-execution verification for Ralph autonomous mode
148
202
 
149
203
  # Ralph Cleanup Agent
150
204
 
151
- You verify and clean up after autonomous execution sessions.
205
+ You verify and finalize work after all tasks are complete. This is the last
206
+ phase of a Ralph execution loop.
207
+
208
+ ## Context
209
+
210
+ This agent runs ONCE after all tasks have been executed. You verify the complete
211
+ implementation, run quality checks, and prepare the plan for completion.
212
+
213
+ ## Capabilities
214
+
215
+ - Run test suites and quality checks
216
+ - Verify acceptance criteria
217
+ - Update plan documentation
218
+ - Add knowledge base entries
219
+ - Finalize plan status
152
220
 
153
221
  ## Task
154
222
 
155
- After each execution session:
156
- 1. Verify changes are correct and complete
157
- 2. Run relevant tests
158
- 3. Update progress log
159
- 4. Check acceptance criteria
160
- 5. Prepare handoff notes for next session
223
+ 1. **Run Quality Checks**
224
+ - Execute full test suite: \`npm test\`
225
+ - Run typecheck: \`npm run typecheck\`
226
+ - Run linter: \`npm run lint\`
227
+ - Run build: \`npm run build\`
161
228
 
162
- ## Output
229
+ 2. **Verify Acceptance Criteria**
230
+ - Review each AC from the plan
231
+ - Mark each as verified or note issues
232
+ - Be honest about failures
233
+
234
+ 3. **Review Changes**
235
+ - Check all modified files
236
+ - Remove debug code or console.logs
237
+ - Ensure formatting is consistent
238
+
239
+ 4. **Finalize Documentation**
240
+ - Add completion summary to plan
241
+ - Update plan status to "complete"
242
+ - Create knowledge base entries for learnings
243
+
244
+ ## Output Format
245
+
246
+ Add to plan file:
247
+
248
+ \`\`\`markdown
249
+ ## Completion Summary
250
+
251
+ ### Verification Date
252
+ [Date]
253
+
254
+ ### Quality Checks
255
+ - [x] Tests pass
256
+ - [x] Typecheck passes
257
+ - [x] Lint passes
258
+ - [x] Build succeeds
259
+
260
+ ### Acceptance Criteria
261
+ - [x] AC-1: Verified
262
+ - [x] AC-2: Verified
263
+
264
+ ### Files Changed
265
+ - [List of all files]
266
+
267
+ ### Status
268
+ **COMPLETE**
269
+ \`\`\`
270
+
271
+ ## Guidelines
163
272
 
164
- Produce a session summary containing:
165
- - Changes made in this session
166
- - Test results
167
- - Updated acceptance criteria checklist
168
- - Any issues encountered
169
- - Recommendations for next session
273
+ - Run ALL quality checks
274
+ - Be honest about failures
275
+ - Simple fixes (formatting) can be done
276
+ - Complex issues should be noted, not fixed
277
+ - EXIT immediately when complete
170
278
  `,
171
279
  },
172
280
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"claude-agents.js","sourceRoot":"","sources":["../../../../src/core/repo/templates/claude-agents.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,qBAAqB;IACrB;QACE,IAAI,EAAE,mCAAmC;QACzC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCZ;KACE;IAED,mBAAmB;IACnB;QACE,IAAI,EAAE,iCAAiC;QACvC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCZ;KACE;IAED,gBAAgB;IAChB;QACE,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBZ;KACE;IAED,0BAA0B;IAC1B;QACE,IAAI,EAAE,wCAAwC;QAC9C,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BZ;KACE;IAED,yBAAyB;IACzB;QACE,IAAI,EAAE,uCAAuC;QAC7C,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BZ;KACE;CACF,CAAC"}
1
+ {"version":3,"file":"claude-agents.js","sourceRoot":"","sources":["../../../../src/core/repo/templates/claude-agents.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,qBAAqB;IACrB;QACE,IAAI,EAAE,mCAAmC;QACzC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCZ;KACE;IAED,mBAAmB;IACnB;QACE,IAAI,EAAE,iCAAiC;QACvC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCZ;KACE;IAED,gBAAgB;IAChB;QACE,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBZ;KACE;IAED,0BAA0B;IAC1B;QACE,IAAI,EAAE,wCAAwC;QAC9C,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgFZ;KACE;IAED,yBAAyB;IACzB;QACE,IAAI,EAAE,uCAAuC;QAC7C,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgFZ;KACE;CACF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * .claude/prompts/ templates
2
+ * .claude/prompts/ templates for Ralph autonomous executor
3
3
  */
4
4
  import type { TemplateFile } from './index.js';
5
5
  export declare const claudePrompts: TemplateFile[];
@@ -1 +1 @@
1
- {"version":3,"file":"claude-prompts.d.ts","sourceRoot":"","sources":["../../../../src/core/repo/templates/claude-prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,aAAa,EAAE,YAAY,EAkQvC,CAAC"}
1
+ {"version":3,"file":"claude-prompts.d.ts","sourceRoot":"","sources":["../../../../src/core/repo/templates/claude-prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,aAAa,EAAE,YAAY,EAigBvC,CAAC"}