@pupt/cli 0.0.1 → 2.3.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 (259) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +54 -29
  3. package/dist/annotations/annotation-analyzer.d.ts +17 -0
  4. package/dist/annotations/annotation-analyzer.d.ts.map +1 -0
  5. package/dist/annotations/annotation-analyzer.js +145 -0
  6. package/dist/annotations/annotation-analyzer.js.map +1 -0
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +435 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/commands/add.d.ts +5 -0
  12. package/dist/commands/add.d.ts.map +1 -0
  13. package/dist/commands/add.js +164 -0
  14. package/dist/commands/add.js.map +1 -0
  15. package/dist/commands/annotate.d.ts +2 -0
  16. package/dist/commands/annotate.d.ts.map +1 -0
  17. package/dist/commands/annotate.js +99 -0
  18. package/dist/commands/annotate.js.map +1 -0
  19. package/dist/commands/base-command.d.ts +23 -0
  20. package/dist/commands/base-command.d.ts.map +1 -0
  21. package/dist/commands/base-command.js +41 -0
  22. package/dist/commands/base-command.js.map +1 -0
  23. package/dist/commands/cache.d.ts +9 -0
  24. package/dist/commands/cache.d.ts.map +1 -0
  25. package/dist/commands/cache.js +31 -0
  26. package/dist/commands/cache.js.map +1 -0
  27. package/dist/commands/config.d.ts +8 -0
  28. package/dist/commands/config.d.ts.map +1 -0
  29. package/dist/commands/config.js +93 -0
  30. package/dist/commands/config.js.map +1 -0
  31. package/dist/commands/edit.d.ts +2 -0
  32. package/dist/commands/edit.d.ts.map +1 -0
  33. package/dist/commands/edit.js +35 -0
  34. package/dist/commands/edit.js.map +1 -0
  35. package/dist/commands/help.d.ts +2 -0
  36. package/dist/commands/help.d.ts.map +1 -0
  37. package/dist/commands/help.js +26 -0
  38. package/dist/commands/help.js.map +1 -0
  39. package/dist/commands/history.d.ts +12 -0
  40. package/dist/commands/history.d.ts.map +1 -0
  41. package/dist/commands/history.js +317 -0
  42. package/dist/commands/history.js.map +1 -0
  43. package/dist/commands/init.d.ts +2 -0
  44. package/dist/commands/init.d.ts.map +1 -0
  45. package/dist/commands/init.js +137 -0
  46. package/dist/commands/init.js.map +1 -0
  47. package/dist/commands/install.d.ts +16 -0
  48. package/dist/commands/install.d.ts.map +1 -0
  49. package/dist/commands/install.js +263 -0
  50. package/dist/commands/install.js.map +1 -0
  51. package/dist/commands/review.d.ts +3 -0
  52. package/dist/commands/review.d.ts.map +1 -0
  53. package/dist/commands/review.js +160 -0
  54. package/dist/commands/review.js.map +1 -0
  55. package/dist/commands/run.d.ts +32 -0
  56. package/dist/commands/run.d.ts.map +1 -0
  57. package/dist/commands/run.js +367 -0
  58. package/dist/commands/run.js.map +1 -0
  59. package/dist/commands/uninstall.d.ts +2 -0
  60. package/dist/commands/uninstall.d.ts.map +1 -0
  61. package/dist/commands/uninstall.js +45 -0
  62. package/dist/commands/uninstall.js.map +1 -0
  63. package/dist/commands/update.d.ts +2 -0
  64. package/dist/commands/update.d.ts.map +1 -0
  65. package/dist/commands/update.js +113 -0
  66. package/dist/commands/update.js.map +1 -0
  67. package/dist/config/config-manager.d.ts +19 -0
  68. package/dist/config/config-manager.d.ts.map +1 -0
  69. package/dist/config/config-manager.js +221 -0
  70. package/dist/config/config-manager.js.map +1 -0
  71. package/dist/config/global-paths.d.ts +5 -0
  72. package/dist/config/global-paths.d.ts.map +1 -0
  73. package/dist/config/global-paths.js +16 -0
  74. package/dist/config/global-paths.js.map +1 -0
  75. package/dist/config/migration.d.ts +12 -0
  76. package/dist/config/migration.d.ts.map +1 -0
  77. package/dist/config/migration.js +270 -0
  78. package/dist/config/migration.js.map +1 -0
  79. package/dist/history/enhanced-history-manager.d.ts +27 -0
  80. package/dist/history/enhanced-history-manager.d.ts.map +1 -0
  81. package/dist/history/enhanced-history-manager.js +116 -0
  82. package/dist/history/enhanced-history-manager.js.map +1 -0
  83. package/dist/history/history-manager.d.ts +43 -0
  84. package/dist/history/history-manager.d.ts.map +1 -0
  85. package/dist/history/history-manager.js +229 -0
  86. package/dist/history/history-manager.js.map +1 -0
  87. package/dist/index.d.ts +6 -0
  88. package/dist/index.d.ts.map +1 -0
  89. package/dist/index.js +6 -0
  90. package/dist/index.js.map +1 -0
  91. package/dist/prompts/input-types/file-search-prompt.d.ts +11 -0
  92. package/dist/prompts/input-types/file-search-prompt.d.ts.map +1 -0
  93. package/dist/prompts/input-types/file-search-prompt.js +53 -0
  94. package/dist/prompts/input-types/file-search-prompt.js.map +1 -0
  95. package/dist/prompts/input-types/review-file-prompt.d.ts +3 -0
  96. package/dist/prompts/input-types/review-file-prompt.d.ts.map +1 -0
  97. package/dist/prompts/input-types/review-file-prompt.js +9 -0
  98. package/dist/prompts/input-types/review-file-prompt.js.map +1 -0
  99. package/dist/schemas/config-schema.d.ts +1637 -0
  100. package/dist/schemas/config-schema.d.ts.map +1 -0
  101. package/dist/schemas/config-schema.js +136 -0
  102. package/dist/schemas/config-schema.js.map +1 -0
  103. package/dist/search/search-engine.d.ts +8 -0
  104. package/dist/search/search-engine.d.ts.map +1 -0
  105. package/dist/search/search-engine.js +53 -0
  106. package/dist/search/search-engine.js.map +1 -0
  107. package/dist/services/git-service.d.ts +28 -0
  108. package/dist/services/git-service.d.ts.map +1 -0
  109. package/dist/services/git-service.js +157 -0
  110. package/dist/services/git-service.js.map +1 -0
  111. package/dist/services/input-collector.d.ts +9 -0
  112. package/dist/services/input-collector.d.ts.map +1 -0
  113. package/dist/services/input-collector.js +162 -0
  114. package/dist/services/input-collector.js.map +1 -0
  115. package/dist/services/logging-service.d.ts +49 -0
  116. package/dist/services/logging-service.d.ts.map +1 -0
  117. package/dist/services/logging-service.js +203 -0
  118. package/dist/services/logging-service.js.map +1 -0
  119. package/dist/services/module-cache.d.ts +42 -0
  120. package/dist/services/module-cache.d.ts.map +1 -0
  121. package/dist/services/module-cache.js +205 -0
  122. package/dist/services/module-cache.js.map +1 -0
  123. package/dist/services/module-entry-builder.d.ts +20 -0
  124. package/dist/services/module-entry-builder.d.ts.map +1 -0
  125. package/dist/services/module-entry-builder.js +71 -0
  126. package/dist/services/module-entry-builder.js.map +1 -0
  127. package/dist/services/output-capture-service.d.ts +28 -0
  128. package/dist/services/output-capture-service.d.ts.map +1 -0
  129. package/dist/services/output-capture-service.js +348 -0
  130. package/dist/services/output-capture-service.js.map +1 -0
  131. package/dist/services/package-manager.d.ts +18 -0
  132. package/dist/services/package-manager.d.ts.map +1 -0
  133. package/dist/services/package-manager.js +141 -0
  134. package/dist/services/package-manager.js.map +1 -0
  135. package/dist/services/pattern-detector.d.ts +15 -0
  136. package/dist/services/pattern-detector.d.ts.map +1 -0
  137. package/dist/services/pattern-detector.js +228 -0
  138. package/dist/services/pattern-detector.js.map +1 -0
  139. package/dist/services/prompt-resolver.d.ts +32 -0
  140. package/dist/services/prompt-resolver.d.ts.map +1 -0
  141. package/dist/services/prompt-resolver.js +73 -0
  142. package/dist/services/prompt-resolver.js.map +1 -0
  143. package/dist/services/pupt-prompt-source.d.ts +16 -0
  144. package/dist/services/pupt-prompt-source.d.ts.map +1 -0
  145. package/dist/services/pupt-prompt-source.js +74 -0
  146. package/dist/services/pupt-prompt-source.js.map +1 -0
  147. package/dist/services/pupt-service.d.ts +33 -0
  148. package/dist/services/pupt-service.d.ts.map +1 -0
  149. package/dist/services/pupt-service.js +119 -0
  150. package/dist/services/pupt-service.js.map +1 -0
  151. package/dist/services/review-data-builder.d.ts +25 -0
  152. package/dist/services/review-data-builder.d.ts.map +1 -0
  153. package/dist/services/review-data-builder.js +333 -0
  154. package/dist/services/review-data-builder.js.map +1 -0
  155. package/dist/services/suggestion-generator.d.ts +11 -0
  156. package/dist/services/suggestion-generator.d.ts.map +1 -0
  157. package/dist/services/suggestion-generator.js +158 -0
  158. package/dist/services/suggestion-generator.js.map +1 -0
  159. package/dist/services/ui-service.d.ts +49 -0
  160. package/dist/services/ui-service.d.ts.map +1 -0
  161. package/dist/services/ui-service.js +196 -0
  162. package/dist/services/ui-service.js.map +1 -0
  163. package/dist/types/annotations.d.ts +50 -0
  164. package/dist/types/annotations.d.ts.map +1 -0
  165. package/dist/types/annotations.js +2 -0
  166. package/dist/types/annotations.js.map +1 -0
  167. package/dist/types/config.d.ts +110 -0
  168. package/dist/types/config.d.ts.map +1 -0
  169. package/dist/types/config.js +12 -0
  170. package/dist/types/config.js.map +1 -0
  171. package/dist/types/history.d.ts +36 -0
  172. package/dist/types/history.d.ts.map +1 -0
  173. package/dist/types/history.js +2 -0
  174. package/dist/types/history.js.map +1 -0
  175. package/dist/types/patterns.d.ts +25 -0
  176. package/dist/types/patterns.d.ts.map +1 -0
  177. package/dist/types/patterns.js +2 -0
  178. package/dist/types/patterns.js.map +1 -0
  179. package/dist/types/prompt.d.ts +29 -0
  180. package/dist/types/prompt.d.ts.map +1 -0
  181. package/dist/types/prompt.js +24 -0
  182. package/dist/types/prompt.js.map +1 -0
  183. package/dist/types/review.d.ts +81 -0
  184. package/dist/types/review.d.ts.map +1 -0
  185. package/dist/types/review.js +2 -0
  186. package/dist/types/review.js.map +1 -0
  187. package/dist/ui/console-ui.d.ts +30 -0
  188. package/dist/ui/console-ui.d.ts.map +1 -0
  189. package/dist/ui/console-ui.js +88 -0
  190. package/dist/ui/console-ui.js.map +1 -0
  191. package/dist/ui/interactive-search.d.ts +8 -0
  192. package/dist/ui/interactive-search.d.ts.map +1 -0
  193. package/dist/ui/interactive-search.js +29 -0
  194. package/dist/ui/interactive-search.js.map +1 -0
  195. package/dist/utils/annotation-migration.d.ts +12 -0
  196. package/dist/utils/annotation-migration.d.ts.map +1 -0
  197. package/dist/utils/annotation-migration.js +88 -0
  198. package/dist/utils/annotation-migration.js.map +1 -0
  199. package/dist/utils/date-formatter.d.ts +10 -0
  200. package/dist/utils/date-formatter.d.ts.map +1 -0
  201. package/dist/utils/date-formatter.js +46 -0
  202. package/dist/utils/date-formatter.js.map +1 -0
  203. package/dist/utils/editor.d.ts +14 -0
  204. package/dist/utils/editor.d.ts.map +1 -0
  205. package/dist/utils/editor.js +52 -0
  206. package/dist/utils/editor.js.map +1 -0
  207. package/dist/utils/errors.d.ts +58 -0
  208. package/dist/utils/errors.d.ts.map +1 -0
  209. package/dist/utils/errors.js +275 -0
  210. package/dist/utils/errors.js.map +1 -0
  211. package/dist/utils/git-info.d.ts +10 -0
  212. package/dist/utils/git-info.d.ts.map +1 -0
  213. package/dist/utils/git-info.js +44 -0
  214. package/dist/utils/git-info.js.map +1 -0
  215. package/dist/utils/gitignore.d.ts +10 -0
  216. package/dist/utils/gitignore.d.ts.map +1 -0
  217. package/dist/utils/gitignore.js +72 -0
  218. package/dist/utils/gitignore.js.map +1 -0
  219. package/dist/utils/logger.d.ts +39 -0
  220. package/dist/utils/logger.d.ts.map +1 -0
  221. package/dist/utils/logger.js +143 -0
  222. package/dist/utils/logger.js.map +1 -0
  223. package/dist/utils/platform.d.ts +9 -0
  224. package/dist/utils/platform.d.ts.map +1 -0
  225. package/dist/utils/platform.js +45 -0
  226. package/dist/utils/platform.js.map +1 -0
  227. package/dist/utils/project-root.d.ts +22 -0
  228. package/dist/utils/project-root.d.ts.map +1 -0
  229. package/dist/utils/project-root.js +226 -0
  230. package/dist/utils/project-root.js.map +1 -0
  231. package/dist/utils/prompt-dir-resolver.d.ts +5 -0
  232. package/dist/utils/prompt-dir-resolver.d.ts.map +1 -0
  233. package/dist/utils/prompt-dir-resolver.js +25 -0
  234. package/dist/utils/prompt-dir-resolver.js.map +1 -0
  235. package/dist/utils/security.d.ts +5 -0
  236. package/dist/utils/security.d.ts.map +1 -0
  237. package/dist/utils/security.js +57 -0
  238. package/dist/utils/security.js.map +1 -0
  239. package/dist/utils/tool-detection.d.ts +14 -0
  240. package/dist/utils/tool-detection.d.ts.map +1 -0
  241. package/dist/utils/tool-detection.js +43 -0
  242. package/dist/utils/tool-detection.js.map +1 -0
  243. package/package.json +79 -7
  244. package/prompts/prompts/ad-hoc-long.prompt +60 -0
  245. package/prompts/prompts/ad-hoc.prompt +29 -0
  246. package/prompts/prompts/code-review.prompt +99 -0
  247. package/prompts/prompts/debugging-error-message.prompt +81 -0
  248. package/prompts/prompts/fix-github-actions.prompt +62 -0
  249. package/prompts/prompts/fix-test-errors.prompt +73 -0
  250. package/prompts/prompts/git-commit-comment.prompt +61 -0
  251. package/prompts/prompts/implementation-phase.prompt +53 -0
  252. package/prompts/prompts/implementation-plan.prompt +101 -0
  253. package/prompts/prompts/new-feature.prompt +89 -0
  254. package/prompts/prompts/new-project.prompt +9 -0
  255. package/prompts/prompts/one-shot-change.prompt +79 -0
  256. package/prompts/prompts/pupt-prompt-improvement.prompt +270 -0
  257. package/prompts/prompts/simple-test.prompt +8 -0
  258. package/prompts/prompts/update-design.prompt +71 -0
  259. package/prompts/prompts/update-documentation.prompt +6 -0
@@ -0,0 +1,29 @@
1
+ {/* Converted from ad-hoc.md */}
2
+ <Prompt name="ad-hoc" description="Ad Hoc" tags={[]}>
3
+ <Role>
4
+ You are a versatile AI assistant capable of handling various technical and non-technical tasks. Adapt your expertise based on the specific request.
5
+ </Role>
6
+
7
+ <Task>
8
+ <Ask.Text name="prompt" label="Prompt:" />
9
+ </Task>
10
+
11
+ <Constraint>
12
+ - Provide accurate, helpful, and actionable responses
13
+ - Use appropriate formatting (code blocks, lists, tables) based on content type
14
+ </Constraint>
15
+
16
+ <WhenUncertain action="ask" />
17
+
18
+ <Format>
19
+ Match the response format to the task type - use structured output for technical tasks, narrative for explanations, and step-by-step instructions for procedures.
20
+ </Format>
21
+
22
+ <Constraint>
23
+ Stay focused on the specific request without adding unnecessary information unless it directly supports the main objective.
24
+ </Constraint>
25
+
26
+ <SuccessCriteria>
27
+ <Criterion>The response directly addresses the user's request with appropriate depth and format for the task at hand.</Criterion>
28
+ </SuccessCriteria>
29
+ </Prompt>
@@ -0,0 +1,99 @@
1
+ {/* Converted from code-review.md */}
2
+ <Prompt name="code-review" description="Code Review" tags={[]}>
3
+
4
+ <Role preset="engineer" extend expertise="code review, identifying AI-generated code issues, maintainability, correctness">
5
+ You are a meticulous code reviewer with expertise in identifying both human and AI-generated code issues, focusing on maintainability, correctness, and common LLM coding mistakes.
6
+ </Role>
7
+
8
+ <Task>
9
+ Perform a comprehensive multi-pass code review identifying issues and improvement opportunities. Write the code review to <Ask.ReviewFile name="outputFile" label="Output file:" />.
10
+ </Task>
11
+
12
+ <Constraints extend>
13
+ - **Pass 1 - Critical Issues**: Security, correctness, data loss risks
14
+ - **Pass 2 - Code Quality**:
15
+ <Ask.Editor name="codeReviewConcerns" label="Code review concerns (press enter to open editor):" />
16
+ - **Pass 3 - LLM-Specific Issues**:
17
+ - Hallucinated APIs or methods that don't exist
18
+ - Incorrect error handling patterns
19
+ - Overly complex solutions to simple problems
20
+ - Inconsistent code style within same file
21
+ - Copy-paste errors and duplicated logic
22
+ - Missing edge case handling
23
+
24
+ - Create file inventory first, categorizing files as:
25
+ - Production code (src/)
26
+ - Test code (test/, *.test.*, *.spec.*)
27
+ - Configuration (config files, build scripts)
28
+ - Apply different standards based on file type:
29
+ - Production code: Strict type safety, no 'any' types
30
+ - Test code: 'any' types acceptable for mocks, relaxed standards
31
+ - Configuration: Focus on security and correctness
32
+ - For each issue found:
33
+ - Verify it's a real issue considering the file context
34
+ - Assess actual impact on system
35
+ - Provide specific fix with code example
36
+ - Group similar issues for batch remediation
37
+ </Constraints>
38
+
39
+ <Format>
40
+ ```markdown
41
+ # Code Review Report - <DateTime />
42
+
43
+ ## Executive Summary
44
+ - Files reviewed: X
45
+ - Critical issues: X
46
+ - High priority issues: X
47
+ - Medium priority issues: X
48
+ - Low priority issues: X
49
+
50
+ ## Critical Issues (Fix Immediately)
51
+ ### 1. [Issue Title]
52
+ - **Files**: [List affected files]
53
+ - **Description**: [What and why it's critical]
54
+ - **Example**: `path/to/file.js:123`
55
+ ```javascript
56
+ // Problem code
57
+ ```
58
+ - **Fix**:
59
+ ```javascript
60
+ // Corrected code
61
+ ```
62
+
63
+ ## High Priority Issues (Fix Soon)
64
+ [Same format as critical]
65
+
66
+ ## Medium Priority Issues (Technical Debt)
67
+ [Same format, grouped by theme]
68
+
69
+ ## Low Priority Issues (Nice to Have)
70
+ [Brief list with file references]
71
+
72
+ ## Positive Findings
73
+ - [Good patterns to replicate elsewhere]
74
+
75
+ ## Recommendations
76
+ 1. [Highest impact improvement]
77
+ 2. [Next priority]
78
+ ...
79
+ ```
80
+ </Format>
81
+
82
+ <Constraint>
83
+ - Don't flag test utilities for production code issues
84
+ - Test files have different standards: 'any' types, mocks, and test helpers are acceptable
85
+ - Consider project conventions before suggesting changes
86
+ - Check if the issue is actually problematic in its context
87
+ - Focus on measurable improvements
88
+ - Distinguish must-fix from nice-to-have
89
+ - CRITICAL: Don't recommend unnecessary libraries - check if existing solutions work first
90
+ </Constraint>
91
+
92
+ <SuccessCriteria>
93
+ <Criterion>All significant issues caught and correctly prioritized</Criterion>
94
+ <Criterion>Fixes are specific and implementable</Criterion>
95
+ <Criterion>Report enables systematic remediation</Criterion>
96
+ <Criterion>No false positives that waste developer time</Criterion>
97
+ </SuccessCriteria>
98
+
99
+ </Prompt>
@@ -0,0 +1,81 @@
1
+ {/* Converted from debugging-error-message.md */}
2
+ <Prompt name="debugging-error-message" description="Debugging Error Message" tags={[]}>
3
+
4
+ <Role preset="engineer" expertise="error analysis, debugging, root cause identification, systematic problem-solving" />
5
+
6
+ <Task>
7
+ Diagnose and fix all errors that occur when <Ask.Text name="errorCondition" label="Error condition:" />.
8
+ </Task>
9
+
10
+ <Constraints extend>
11
+ - First, reproduce the error condition exactly as described
12
+ - Capture complete error output including stack traces
13
+ - For multiple errors, create a prioritized list (fix blocking errors first)
14
+ - For each error apply this debugging process:
15
+ 1. **Understand**: Read error message and stack trace completely
16
+ 2. **Locate**: Find exact file, line, and surrounding context
17
+ 3. **Analyze**: Determine what the code is trying to do vs. what's happening
18
+ 4. **Trace**: Follow data flow to find where things go wrong
19
+ 5. **Fix**: Address root cause, not symptoms
20
+ 6. **Verify**: Confirm this specific error is resolved
21
+ 7. **Test**: Ensure fix doesn't break other functionality
22
+ - After all fixes, reproduce original condition to verify resolution
23
+ - Document any assumptions or environmental dependencies
24
+ </Constraints>
25
+
26
+ <Format>
27
+ ```markdown
28
+ ## Error Analysis for: {inputs.errorCondition}
29
+
30
+ ### Complete Error Output
31
+ ```
32
+ <Ask.Editor name="errorText" label="Error text (press enter to open editor):" />
33
+ ```
34
+
35
+ ### Error Inventory
36
+ 1. [Error Type]: [File:Line] - [Brief description]
37
+ 2. [Continue for all errors...]
38
+
39
+ ### Root Cause Analysis
40
+
41
+ #### Error 1: [Error type]
42
+ - **Symptom**: [What's visibly wrong]
43
+ - **Location**: [Specific file:line]
44
+ - **Root Cause**: [Why it's happening]
45
+ - **Code Context**: [Relevant code snippet]
46
+ - **Fix Applied**: [Specific changes made]
47
+ - **Verification**: [How confirmed it's fixed]
48
+
49
+ ### Final Verification
50
+ - Command run: [exact command]
51
+ - Result: [success/failure]
52
+ - All errors resolved: [yes/no]
53
+ ```
54
+ </Format>
55
+
56
+ <Examples>
57
+ <Example>
58
+ ```
59
+ Error 1: TypeError: Cannot read property 'name' of undefined
60
+ Location: src/user.js:42
61
+ Root Cause: API returns null for deleted users, code assumes user always exists
62
+ Fix: Added null check before accessing user.name
63
+ Verification: Error no longer occurs, added test case for null user
64
+ ```
65
+ </Example>
66
+ </Examples>
67
+
68
+ <Constraint>
69
+ - Fix root causes, not symptoms
70
+ - Don't suppress errors with try-catch unless that's the correct solution
71
+ - Preserve all intended functionality
72
+ - Make focused changes that don't introduce new issues
73
+ </Constraint>
74
+
75
+ <SuccessCriteria>
76
+ <Criterion>Original error condition no longer produces any errors</Criterion>
77
+ <Criterion>All fixes address root causes</Criterion>
78
+ <Criterion>No new errors introduced</Criterion>
79
+ <Criterion>Clear documentation of what was wrong and how it was fixed</Criterion>
80
+ </SuccessCriteria>
81
+ </Prompt>
@@ -0,0 +1,62 @@
1
+ {/* Converted from fix-github-actions.md */}
2
+ <Prompt name="fix-github-actions" description="Fix GitHub Actions" tags={[]}>
3
+ <Role preset="devops" extend expertise="GitHub Actions, CI/CD pipelines, cross-platform compatibility">
4
+ You are a DevOps engineer specializing in GitHub Actions, CI/CD pipelines, and cross-platform compatibility issues.
5
+ </Role>
6
+
7
+ <Task>
8
+ Analyze and fix all failing GitHub Actions workflow jobs, ensuring reliable CI/CD pipeline operation.
9
+ </Task>
10
+
11
+ <Constraints extend>
12
+ - Use `gh run list --limit 1` to find the latest workflow run
13
+ - Use `gh run view` with the run ID to see all jobs
14
+ - For each failed job, use `gh run view` with the run ID and `--log-failed` to get error details
15
+ - Categorize failures: environment, dependencies, tests, build, deployment
16
+ - For each error:
17
+ 1. Identify if it's environment-specific (OS, versions)
18
+ 2. Check if it's a flaky test or real failure
19
+ 3. Determine if it's a workflow configuration issue
20
+ 4. Test the fix locally when possible
21
+ 5. Consider cross-platform compatibility
22
+ - Create fixes that work across all environments
23
+ - Add appropriate error handling and retries for transient failures
24
+ </Constraints>
25
+
26
+ <Format>
27
+ 1. Workflow run summary (ID, jobs, success/failure status)
28
+ 2. Categorized error list with job names
29
+ 3. For each error:
30
+ - Job name and step that failed
31
+ - Error message and likely cause
32
+ - Proposed fix with explanation
33
+ - Local verification method
34
+ 4. Summary of all changes made
35
+ </Format>
36
+
37
+ <Examples>
38
+ <Example>
39
+ ```
40
+ Job: test-ubuntu / Step: Run tests
41
+ Error: Cannot find module 'xyz'
42
+ Cause: Package not installed in CI environment
43
+ Fix: Add 'xyz' to package.json dependencies
44
+ Local verification: npm ci && npm test
45
+ ```
46
+ </Example>
47
+ </Examples>
48
+
49
+ <Constraint>
50
+ - Fixes must work on all platforms (Ubuntu, macOS, Windows)
51
+ - Don't disable failing tests to make CI pass
52
+ - Preserve existing CI/CD functionality
53
+ - Consider impact on build time and resource usage
54
+ </Constraint>
55
+
56
+ <SuccessCriteria>
57
+ <Criterion>All GitHub Actions jobs pass on next run</Criterion>
58
+ <Criterion>No reduction in test coverage or quality checks</Criterion>
59
+ <Criterion>Fixes are robust against common CI/CD issues</Criterion>
60
+ <Criterion>Clear documentation of what was fixed and why</Criterion>
61
+ </SuccessCriteria>
62
+ </Prompt>
@@ -0,0 +1,73 @@
1
+ {/* Converted from fix-test-errors.md */}
2
+ <Prompt name="fix-lint-build-test-errors" description="Fix Lint, Build, Test Errors" tags={[]}>
3
+ <Role preset="engineer" extend expertise="debugging, testing, JavaScript/TypeScript, build tools">
4
+ You are a debugging expert with deep knowledge of JavaScript/TypeScript, testing frameworks, and build tools.
5
+ </Role>
6
+
7
+ <Task>
8
+ Systematically identify and fix all build, lint, and test errors in the codebase.
9
+ </Task>
10
+
11
+ <Constraints extend>
12
+ - IMPORTANT: Before making ANY changes, understand the CONTEXT of why tests might be failing
13
+ - Check recent changes, removed features, or intentional modifications
14
+ - Run commands in this exact order: `npm run build`, `npm run lint`, `npm test`
15
+ - Capture ALL error output completely (stdout and stderr)
16
+ - Categorize errors by type: syntax, type, lint, test assertion, runtime
17
+ - For each error:
18
+ 1. Identify the specific file and line number
19
+ 2. Understand what the code is trying to do
20
+ 3. CRITICAL: Determine if the test is failing because:
21
+ - The implementation is wrong (fix the implementation)
22
+ - The test is outdated (update the test to match new requirements)
23
+ - A feature was intentionally removed (remove the corresponding test)
24
+ 4. Fix the root cause with minimal code changes
25
+ 5. Verify the specific error is resolved
26
+ - After fixing all errors, run ALL commands again to verify
27
+ - MANDATORY: Show complete test output proving "0 failing" before declaring success
28
+ - If new errors appear, repeat the process
29
+ - Continue until all commands pass with zero errors
30
+ </Constraints>
31
+
32
+ <Format>
33
+ 1. Context analysis (recent changes, removed features)
34
+ 2. Initial error inventory (categorized list)
35
+ 3. For each error:
36
+ - Error type and location
37
+ - Root cause analysis
38
+ - Decision: Fix implementation OR Update test OR Remove test
39
+ - Fix applied with justification
40
+ - Verification result
41
+ 4. Final status report with COMPLETE command outputs showing:
42
+ - npm run build: "Compiled successfully"
43
+ - npm run lint: "0 errors, 0 warnings"
44
+ - npm test: Full output with "0 failing"
45
+ </Format>
46
+
47
+ <Examples>
48
+ <Example>
49
+ ```
50
+ Error 1: TypeError at src/utils/helper.ts:23
51
+ Root cause: Function expects string but receives undefined when config.name is not set
52
+ Fix: Add default parameter value
53
+ Verification: Error resolved, test now passes
54
+ ```
55
+ </Example>
56
+ </Examples>
57
+
58
+ <Constraint>
59
+ - NEVER skip tests with .skip() or xit()
60
+ - NEVER remove failing tests
61
+ - NEVER suppress errors with ignore comments
62
+ - Fix root causes, not symptoms
63
+ - Preserve all existing functionality
64
+ </Constraint>
65
+
66
+ <SuccessCriteria>
67
+ <Criterion>`npm run build` exits with code 0</Criterion>
68
+ <Criterion>`npm run lint` reports 0 errors and 0 warnings</Criterion>
69
+ <Criterion>`npm test` shows all tests passing (100% pass rate)</Criterion>
70
+ <Criterion>No unhandled errors or warnings in output</Criterion>
71
+ <Criterion>All original tests still present and passing</Criterion>
72
+ </SuccessCriteria>
73
+ </Prompt>
@@ -0,0 +1,61 @@
1
+ {/* Converted from git-commit-comment.md */}
2
+ <Prompt name="git-commit-comment" description="Git Commit Comment" tags={["git", "commit", "version-control"]}>
3
+ <Role preset="engineer" extend expertise="git, conventional commits">
4
+ You are a Git commit message expert who follows conventional commit standards and creates clear, descriptive commit messages that accurately reflect the changes made.
5
+ </Role>
6
+
7
+ <Task>
8
+ Analyze recent changes since the last commit and generate a properly formatted conventional commit message with the git command to execute.
9
+ </Task>
10
+
11
+ <Constraints extend>
12
+ 1. **Analyze recent work**:
13
+ - Review pt history to understand recent activities
14
+ - Check git status for current changes
15
+ - Review git diff for uncommitted changes
16
+ - Identify the primary purpose of these changes
17
+
18
+ 2. **Follow Conventional Commits format**:
19
+ - Type: feat, fix, docs, style, refactor, test, chore, perf, ci, build, revert
20
+ - Scope (optional): Component or area affected
21
+ - Description: Clear, imperative mood, lowercase
22
+ - Body (if needed): Explain what and why, not how
23
+
24
+ 3. **Generate ready-to-use git command**:
25
+ - Provide complete git commit command
26
+ - Properly escape for shell execution
27
+ - Include multi-line format if body is needed
28
+ </Constraints>
29
+
30
+ <Format>
31
+ 1. Analyze recent changes
32
+ 2. Determine appropriate commit type and scope
33
+ 3. Write clear commit message
34
+ 4. Output the complete git commit command
35
+ </Format>
36
+
37
+ <Examples>
38
+ <Example>
39
+ ```bash
40
+ git commit -m "feat(template): add git commit comment prompt
41
+
42
+ Creates a prompt that analyzes recent changes and generates
43
+ conventional commit messages. Helps maintain consistent commit
44
+ formatting across the project."
45
+ ```
46
+ </Example>
47
+ </Examples>
48
+
49
+ <Constraint>
50
+ - Subject line: 50 characters or less
51
+ - Use imperative mood
52
+ - Focus on the most significant change
53
+ - Output must be a ready-to-execute command
54
+ </Constraint>
55
+
56
+ <SuccessCriteria>
57
+ <Criterion>The command can be directly copied and pasted</Criterion>
58
+ <Criterion>Message follows conventional commit standards</Criterion>
59
+ <Criterion>Clearly describes what changed and why</Criterion>
60
+ </SuccessCriteria>
61
+ </Prompt>
@@ -0,0 +1,53 @@
1
+ {/* Converted from implementation-phase.md */}
2
+ <Prompt name="implement-phase" description="Implement Phase" tags={[]}>
3
+
4
+ <Role preset="engineer" extend expertise="test-driven development, clean code practices">
5
+ You are a senior software engineer implementing features according to a detailed implementation plan, with expertise in test-driven development and clean code practices.
6
+ </Role>
7
+
8
+ <Task>
9
+ Implement Phase <Ask.Text name="phase" label="Phase:" /> from <Ask.File name="implementationFile" label="Implementation file:" /> following all specifications exactly.
10
+ </Task>
11
+
12
+ <Constraints extend>
13
+ - Read and understand the full phase requirements before starting
14
+ - Implement features incrementally, testing after each change
15
+ - Write tests BEFORE implementing features (TDD approach)
16
+ - Achieve minimum 80% code coverage with meaningful tests
17
+ - Run `npm run build`, `npm run lint`, and `npm test` after implementation
18
+ - Fix ALL errors completely - "minimal changes" means fixing root causes without adding unnecessary code
19
+ - CRITICAL: After running tests, verify the EXACT output shows "0 failing" before proceeding
20
+ - If ANY tests fail, you MUST fix them completely - do not report success with failing tests
21
+ - Copy and paste the full test output showing all tests passing before completing
22
+ - Verify the implementation matches the specification exactly
23
+ </Constraints>
24
+
25
+ <Format>
26
+ 1. First, summarize what Phase {inputs.phase} requires
27
+ 2. Implement features with appropriate tests
28
+ 3. Run all verification commands and fix any issues
29
+ 4. MANDATORY: Show the complete output from `npm test` demonstrating all tests pass
30
+ 5. Provide a status report including:
31
+ - Summary of implemented functionality
32
+ - Exact test results showing "0 failing"
33
+ - How users can verify it works (specific commands/steps)
34
+ - Any deviations from the plan and why
35
+ - Next phase number and brief description
36
+ </Format>
37
+
38
+ <Constraint>
39
+ - Do NOT skip tests or use `.skip()`
40
+ - Do NOT suppress linting errors with ignore comments
41
+ - If tests fail after fixes, investigate root cause rather than making superficial changes
42
+ - If blocked, report the specific issue rather than proceeding with partial implementation
43
+ </Constraint>
44
+
45
+ <SuccessCriteria>
46
+ <Criterion>All tests pass (100% success rate)</Criterion>
47
+ <Criterion>Build completes without errors</Criterion>
48
+ <Criterion>Linting passes without warnings</Criterion>
49
+ <Criterion>Code coverage ≥ 80%</Criterion>
50
+ <Criterion>Implementation exactly matches phase specification</Criterion>
51
+ <Criterion>Clear user-facing functionality description provided</Criterion>
52
+ </SuccessCriteria>
53
+ </Prompt>
@@ -0,0 +1,101 @@
1
+ {/* Converted from implementation-plan.md */}
2
+ <Prompt name="implementation-plan" description="Implementation Plan" tags={[]}>
3
+
4
+ <Role preset="architect" extend expertise="test-driven development, modular design">
5
+ You are a senior software architect creating detailed implementation plans that balance pragmatism with best practices, specializing in test-driven development and modular design.
6
+ </Role>
7
+
8
+ <Task>
9
+ Create a comprehensive, phased implementation plan for the design specified in <Ask.File name="designFile" label="Design file:" />.
10
+ </Task>
11
+
12
+ <Constraints extend>
13
+ - Analyze the design document completely before planning
14
+ - Break implementation into logical phases
15
+ - The first phase should be a MVP and subsiquent phases should add incremental features
16
+ - For example, if the feature is a new HTML page, the first phase should implement the HTML page and then add features to it in future phases
17
+ - Each phase must:
18
+ - Deliver functionality in a way that the user can verify that the functionality works, beyond just running tests
19
+ - Include specific test scenarios (unit and integration)
20
+ - Build on previous phases without breaking them
21
+ - Take roughly equal effort (1-3 days each)
22
+ - For each phase specify:
23
+ - Clear objectives and success criteria
24
+ - Test files to create/modify with example test cases
25
+ - Implementation files to create/modify
26
+ - Dependencies on external libraries or earlier phases
27
+ - User-facing verification steps
28
+ - Identify opportunities for:
29
+ - Code reuse and shared utilities
30
+ - External libraries that solve common problems
31
+ - Refactoring to reduce duplication
32
+ </Constraints>
33
+
34
+ <Format>
35
+ Write the impleementation plan <Ask.ReviewFile name="planFile" label="Plan file:" />. Use this template for the implementation plan:
36
+
37
+ ```markdown
38
+ # Implementation Plan for [Feature Name]
39
+
40
+ ## Overview
41
+ [Brief summary of what will be built]
42
+
43
+ ## Phase Breakdown
44
+
45
+ ### Phase 1: [Foundation/Core Setup]
46
+ </Format>
47
+
48
+ <Task>
49
+ [What this phase accomplishes]
50
+ **Duration**: X days
51
+
52
+ **Tests to Write First**:
53
+ - `test/[filename].test.ts`: [Test description]
54
+ ```typescript
55
+ // Example test case
56
+ ```
57
+
58
+ **Implementation**:
59
+ - `src/[filename].ts`: [What to implement]
60
+ ```typescript
61
+ // Key interfaces/structures
62
+ ```
63
+
64
+ **Dependencies**:
65
+ - External: [npm packages needed]
66
+ - Internal: [files from previous phases]
67
+
68
+ **Verification**:
69
+ 1. Run: `[specific command]`
70
+ 2. Expected output: [what user should see]
71
+
72
+ ### Phase 2: [Feature Name]
73
+ [Same structure as Phase 1]
74
+
75
+ ## Common Utilities Needed
76
+ - [Utility name]: [Purpose and where used]
77
+
78
+ ## External Libraries Assessment
79
+ - [Task]: Consider using [library] because [reason]
80
+
81
+ ## Risk Mitigation
82
+ - [Potential risk]: [Mitigation strategy]
83
+ ```
84
+ </Task>
85
+
86
+ <Constraint>
87
+ - Each phase must be independently testable
88
+ - No phase should break existing functionality
89
+ - Prefer proven libraries over custom implementations
90
+ - Keep phases focused on single concerns
91
+ </Constraint>
92
+
93
+ <SuccessCriteria>
94
+ <Criterion>Plan is clear enough for any developer to implement</Criterion>
95
+ <Criterion>Phases have balanced complexity and effort</Criterion>
96
+ <Criterion>All design requirements are addressed</Criterion>
97
+ <Criterion>Test strategy ensures quality and maintainability</Criterion>
98
+ <Criterion>Human reviewer can understand plan without reading code examples</Criterion>
99
+ </SuccessCriteria>
100
+
101
+ </Prompt>
@@ -0,0 +1,89 @@
1
+ {/* Converted from new-feature.md */}
2
+ <Prompt name="new-feature" description="New Feature" tags={[]}>
3
+
4
+ <Role preset="architect" extend>
5
+ You are a senior software architect designing features that are elegant, maintainable, and aligned with existing system architecture.
6
+ </Role>
7
+
8
+ <Task>
9
+ Design new features based on provided objectives and requirements stated below.
10
+ </Task>
11
+
12
+ <Constraints extend>
13
+ - Review existing codebase architecture before designing
14
+ - Ensure design aligns with current patterns and conventions
15
+ - Consider both technical implementation and user experience
16
+ - Address all requirements comprehensively
17
+ - Identify potential challenges and mitigation strategies
18
+ - Keep scope manageable and incrementally deliverable
19
+ </Constraints>
20
+
21
+ <Format>
22
+ Create design document with these sections and write it to <Ask.ReviewFile name="outputFile" label="Output file:" />:
23
+
24
+ ```markdown
25
+ # Feature Design: [Feature Name]
26
+
27
+ ## Overview
28
+ - **User Value**: [What users gain]
29
+ - **Technical Value**: [What developers/system gains]
30
+
31
+ ## Requirements
32
+ <Ask.Editor name="requirements" label="Requirements (press enter to open editor):" />
33
+
34
+ ## Proposed Solution
35
+
36
+ ### User Interface/API
37
+ [How users will interact with this feature]
38
+
39
+ ### Technical Architecture
40
+ - **Components**: [New modules/classes needed]
41
+ - **Data Model**: [Any data structure changes]
42
+ - **Integration Points**: [How it connects to existing code]
43
+
44
+ ### Implementation Approach
45
+ 1. [High-level step 1]
46
+ 2. [High-level step 2]
47
+ ...
48
+
49
+ ## Acceptance Criteria
50
+ - [ ] [Specific measurable criterion]
51
+ - [ ] [Another criterion]
52
+ ...
53
+
54
+ ## Technical Considerations
55
+ - **Performance**: [Impact and mitigation]
56
+ - **Security**: [Considerations and measures]
57
+ - **Compatibility**: [Backward compatibility notes]
58
+ - **Testing**: [Testing strategy]
59
+
60
+ ## Risks and Mitigation
61
+ - **Risk**: [Potential issue]
62
+ **Mitigation**: [How to address]
63
+
64
+ ## Future Enhancements
65
+ [Features that could build on this]
66
+
67
+ ## Implementation Estimate
68
+ - Development: X-Y days
69
+ - Testing: X days
70
+ - Total: X-Y days
71
+ ```
72
+ </Format>
73
+
74
+ <Constraint>
75
+ - Design must be implementable within reasonable timeframe
76
+ - Cannot break existing functionality
77
+ - Must follow project coding standards
78
+ - Should reuse existing code where possible
79
+ </Constraint>
80
+
81
+ <SuccessCriteria>
82
+ <Criterion>All requirements addressed in design</Criterion>
83
+ <Criterion>Technical approach is clear and feasible</Criterion>
84
+ <Criterion>Risks are identified with mitigation strategies</Criterion>
85
+ <Criterion>Design document is complete and reviewable</Criterion>
86
+ <Criterion>Implementation path is clear to developers</Criterion>
87
+ </SuccessCriteria>
88
+
89
+ </Prompt>
@@ -0,0 +1,9 @@
1
+ {/* Converted from new-project.md */}
2
+ <Prompt name="new-project" description="New Project" tags={[]}>
3
+ <Section>
4
+ Create a design for a new project called <Ask.Text name="projectName" label="Project name:" />. The project is written in <Ask.Text name="programmingLanguage" label="Programming language:" />. The purpose of the project is to: <Ask.Text name="projectPurpose" label="Project purpose:" />. The requirements for the project are:
5
+ <Ask.Editor name="requirements" label="Requirements (press enter to open editor):" />
6
+
7
+ The design will use the current directory as the base for the project, do not create a directory under this one. The design should include scaffolding for the project for building, linting, testing, and code coverage. My preferred tools are: <Ask.Text name="preferredTools" label="Preferred tools:" />. Create the design in <Ask.Text name="designFile" label="Design file:" />. List all the tools that will be used for the scaffolding near the top of the file. Make sure the design file is easy for a human to read and edit, but it should include sufficient detail for AI tooling to create an implementation plan.
8
+ </Section>
9
+ </Prompt>