@dedesfr/prompter 0.9.0 → 1.1.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 (225) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +105 -77
  3. package/dist/cli/index.js +25 -1
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +35 -9
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/login.d.ts +4 -0
  9. package/dist/commands/login.d.ts.map +1 -0
  10. package/dist/commands/login.js +56 -0
  11. package/dist/commands/login.js.map +1 -0
  12. package/dist/commands/logout.d.ts +4 -0
  13. package/dist/commands/logout.d.ts.map +1 -0
  14. package/dist/commands/logout.js +14 -0
  15. package/dist/commands/logout.js.map +1 -0
  16. package/dist/commands/update.d.ts +0 -2
  17. package/dist/commands/update.d.ts.map +1 -1
  18. package/dist/commands/update.js +19 -48
  19. package/dist/commands/update.js.map +1 -1
  20. package/dist/commands/whoami.d.ts +4 -0
  21. package/dist/commands/whoami.d.ts.map +1 -0
  22. package/dist/commands/whoami.js +42 -0
  23. package/dist/commands/whoami.js.map +1 -0
  24. package/dist/core/auth-store.d.ts +10 -0
  25. package/dist/core/auth-store.d.ts.map +1 -0
  26. package/dist/core/auth-store.js +39 -0
  27. package/dist/core/auth-store.js.map +1 -0
  28. package/dist/core/config.d.ts +0 -7
  29. package/dist/core/config.d.ts.map +1 -1
  30. package/dist/core/config.js +0 -128
  31. package/dist/core/config.js.map +1 -1
  32. package/dist/core/registry.d.ts +18 -0
  33. package/dist/core/registry.d.ts.map +1 -0
  34. package/dist/core/registry.js +94 -0
  35. package/dist/core/registry.js.map +1 -0
  36. package/package.json +7 -1
  37. package/AGENTS.md +0 -123
  38. package/CLAUDE.md +0 -17
  39. package/build.js +0 -20
  40. package/convex-setup.md +0 -403
  41. package/dist/core/prompt-templates.d.ts +0 -23
  42. package/dist/core/prompt-templates.d.ts.map +0 -1
  43. package/dist/core/prompt-templates.js +0 -3485
  44. package/dist/core/prompt-templates.js.map +0 -1
  45. package/prompt/ai-humanizer.md +0 -45
  46. package/prompt/api-contract-generator.md +0 -234
  47. package/prompt/apply.md +0 -17
  48. package/prompt/archive.md +0 -21
  49. package/prompt/design-system.md +0 -210
  50. package/prompt/document-explainer.md +0 -149
  51. package/prompt/epic-generator.md +0 -198
  52. package/prompt/epic-single.md +0 -47
  53. package/prompt/erd-generator.md +0 -130
  54. package/prompt/fsd-generator.md +0 -157
  55. package/prompt/prd-agent-generator.md +0 -147
  56. package/prompt/prd-generator.md +0 -195
  57. package/prompt/product-brief.md +0 -289
  58. package/prompt/proposal.md +0 -22
  59. package/prompt/qa-test-scenario.md +0 -133
  60. package/prompt/skill-creator.md +0 -350
  61. package/prompt/story-generator.md +0 -278
  62. package/prompt/story-single.md +0 -70
  63. package/prompt/tdd-generator.md +0 -294
  64. package/prompt/tdd-lite-generator.md +0 -224
  65. package/prompt/wireframe-generator.md +0 -219
  66. package/skills/ai-context-generator/SKILL.md +0 -54
  67. package/skills/ai-context-generator/references/AGENTS.template.md +0 -83
  68. package/skills/ai-context-generator/references/CLAUDE.template.md +0 -39
  69. package/skills/ai-context-generator/references/behavioral-guidelines.md +0 -71
  70. package/skills/ai-context-generator/references/discovery-checklist.md +0 -40
  71. package/skills/ai-context-generator/references/examples/AGENTS.good.md +0 -103
  72. package/skills/ai-context-generator/references/extraction-checklist.md +0 -23
  73. package/skills/ai-context-generator/references/overlays/laravel.md +0 -44
  74. package/skills/ai-humanizer/SKILL.md +0 -50
  75. package/skills/api-contract-generator/SKILL.md +0 -243
  76. package/skills/apply/SKILL.md +0 -23
  77. package/skills/archive/SKILL.md +0 -27
  78. package/skills/cerebro/SKILL.md +0 -187
  79. package/skills/cerebro/references/agents.md +0 -213
  80. package/skills/code-review/SKILL.md +0 -373
  81. package/skills/code-review/assets/report-template-agent.md +0 -212
  82. package/skills/code-review/assets/report-template-compact.md +0 -81
  83. package/skills/code-review/assets/report-template-full.md +0 -264
  84. package/skills/code-review/assets/report-template-human.md +0 -168
  85. package/skills/code-review/references/universal-patterns.md +0 -495
  86. package/skills/design-md/README.md +0 -34
  87. package/skills/design-md/SKILL.md +0 -172
  88. package/skills/design-md/examples/DESIGN.md +0 -154
  89. package/skills/design-system/SKILL.md +0 -216
  90. package/skills/design-system-generator/SKILL.md +0 -324
  91. package/skills/design-system-generator/assets/design-system-template.md +0 -348
  92. package/skills/design-system-generator/references/extraction-patterns.md +0 -321
  93. package/skills/doc-builder/SKILL.md +0 -115
  94. package/skills/doc-builder/references/ui-patterns.md +0 -394
  95. package/skills/document-explainer/SKILL.md +0 -155
  96. package/skills/document-translator/SKILL.md +0 -58
  97. package/skills/enhance/SKILL.md +0 -47
  98. package/skills/enhance-prompt/README.md +0 -34
  99. package/skills/enhance-prompt/SKILL.md +0 -204
  100. package/skills/enhance-prompt/references/KEYWORDS.md +0 -114
  101. package/skills/epic-generator/SKILL.md +0 -204
  102. package/skills/epic-single/SKILL.md +0 -63
  103. package/skills/erd-generator/SKILL.md +0 -138
  104. package/skills/feature-planner/SKILL.md +0 -305
  105. package/skills/feature-planner/assets/implementation-plan-template.md +0 -85
  106. package/skills/frontend-design/LICENSE.txt +0 -177
  107. package/skills/frontend-design/SKILL.md +0 -42
  108. package/skills/fsd-generator/SKILL.md +0 -163
  109. package/skills/gamma-builder/SKILL.md +0 -134
  110. package/skills/laravel-code-review/SKILL.md +0 -383
  111. package/skills/laravel-code-review/assets/report-template-agent.md +0 -195
  112. package/skills/laravel-code-review/assets/report-template-compact.md +0 -79
  113. package/skills/laravel-code-review/assets/report-template-full.md +0 -253
  114. package/skills/laravel-code-review/assets/report-template-human.md +0 -159
  115. package/skills/laravel-code-review/references/laravel-patterns.md +0 -571
  116. package/skills/laravel-code-review/references/php84-features.md +0 -442
  117. package/skills/mcp-builder/LICENSE.txt +0 -202
  118. package/skills/mcp-builder/SKILL.md +0 -236
  119. package/skills/mcp-builder/reference/evaluation.md +0 -602
  120. package/skills/mcp-builder/reference/mcp_best_practices.md +0 -249
  121. package/skills/mcp-builder/reference/node_mcp_server.md +0 -970
  122. package/skills/mcp-builder/reference/python_mcp_server.md +0 -719
  123. package/skills/mcp-builder/scripts/connections.py +0 -151
  124. package/skills/mcp-builder/scripts/evaluation.py +0 -373
  125. package/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
  126. package/skills/mcp-builder/scripts/requirements.txt +0 -2
  127. package/skills/meeting-notes/SKILL.md +0 -159
  128. package/skills/meeting-notes/evals/evals.json +0 -23
  129. package/skills/prd-agent-generator/SKILL.md +0 -132
  130. package/skills/prd-generator/SKILL.md +0 -211
  131. package/skills/product-brief/SKILL.md +0 -141
  132. package/skills/project-orchestrator/SKILL.md +0 -487
  133. package/skills/project-orchestrator/assets/caddy-vps-setup.md +0 -180
  134. package/skills/project-orchestrator/assets/plan-summary-template.md +0 -159
  135. package/skills/prompter-specs/SKILL.md +0 -115
  136. package/skills/prompter-workflow/SKILL.md +0 -166
  137. package/skills/prompter-workflow/evals/evals.json +0 -89
  138. package/skills/proposal/SKILL.md +0 -28
  139. package/skills/qa-test-scenario/SKILL.md +0 -149
  140. package/skills/skill-creator/SKILL.md +0 -173
  141. package/skills/sph-generator/SKILL.md +0 -488
  142. package/skills/story-generator/SKILL.md +0 -285
  143. package/skills/story-single/SKILL.md +0 -86
  144. package/skills/tdd-generator/SKILL.md +0 -300
  145. package/skills/tdd-lite-generator/SKILL.md +0 -230
  146. package/skills/ui-ux-pro/SKILL.md +0 -199
  147. package/skills/ui-ux-pro/assets/design-spec-template.md +0 -173
  148. package/skills/ui-ux-pro/references/component-patterns.md +0 -255
  149. package/skills/ui-ux-pro/references/design-principles.md +0 -167
  150. package/skills/wireframe-generator/SKILL.md +0 -227
  151. package/src/cli/index.ts +0 -223
  152. package/src/commands/archive.ts +0 -302
  153. package/src/commands/change.ts +0 -292
  154. package/src/commands/config.ts +0 -233
  155. package/src/commands/guide.ts +0 -50
  156. package/src/commands/init.ts +0 -597
  157. package/src/commands/list.ts +0 -194
  158. package/src/commands/show.ts +0 -138
  159. package/src/commands/spec.ts +0 -251
  160. package/src/commands/update.ts +0 -129
  161. package/src/commands/upgrade.ts +0 -30
  162. package/src/commands/validate.ts +0 -326
  163. package/src/core/artifact-graph/graph.ts +0 -167
  164. package/src/core/artifact-graph/index.ts +0 -44
  165. package/src/core/artifact-graph/instruction-loader.ts +0 -302
  166. package/src/core/artifact-graph/resolver.ts +0 -226
  167. package/src/core/artifact-graph/schema.ts +0 -124
  168. package/src/core/artifact-graph/state.ts +0 -64
  169. package/src/core/artifact-graph/types.ts +0 -65
  170. package/src/core/completions/command-registry.ts +0 -382
  171. package/src/core/completions/completion-provider.ts +0 -128
  172. package/src/core/completions/generators/bash-generator.ts +0 -191
  173. package/src/core/completions/generators/fish-generator.ts +0 -188
  174. package/src/core/completions/generators/powershell-generator.ts +0 -223
  175. package/src/core/completions/generators/zsh-generator.ts +0 -281
  176. package/src/core/completions/templates/bash-templates.ts +0 -24
  177. package/src/core/completions/templates/fish-templates.ts +0 -40
  178. package/src/core/completions/templates/powershell-templates.ts +0 -25
  179. package/src/core/completions/templates/zsh-templates.ts +0 -36
  180. package/src/core/completions/types.ts +0 -90
  181. package/src/core/config-schema.ts +0 -230
  182. package/src/core/config.ts +0 -181
  183. package/src/core/configurators/slash/antigravity.ts +0 -10
  184. package/src/core/configurators/slash/base.ts +0 -109
  185. package/src/core/configurators/slash/claude.ts +0 -10
  186. package/src/core/configurators/slash/codex.ts +0 -10
  187. package/src/core/configurators/slash/droid.ts +0 -10
  188. package/src/core/configurators/slash/forge.ts +0 -10
  189. package/src/core/configurators/slash/github-copilot.ts +0 -10
  190. package/src/core/configurators/slash/index.ts +0 -10
  191. package/src/core/configurators/slash/kilocode.ts +0 -10
  192. package/src/core/configurators/slash/opencode.ts +0 -10
  193. package/src/core/configurators/slash/registry.ts +0 -51
  194. package/src/core/converters/json-converter.ts +0 -62
  195. package/src/core/global-config.ts +0 -136
  196. package/src/core/parsers/change-parser.ts +0 -234
  197. package/src/core/parsers/markdown-parser.ts +0 -237
  198. package/src/core/parsers/requirement-blocks.ts +0 -234
  199. package/src/core/prompt-templates.ts +0 -3504
  200. package/src/core/schemas/base.schema.ts +0 -20
  201. package/src/core/schemas/change.schema.ts +0 -42
  202. package/src/core/schemas/index.ts +0 -20
  203. package/src/core/schemas/spec.schema.ts +0 -17
  204. package/src/core/skill-discovery.ts +0 -68
  205. package/src/core/specs-apply.ts +0 -483
  206. package/src/core/styles/palette.ts +0 -8
  207. package/src/core/templates/agents-template.ts +0 -459
  208. package/src/core/templates/claude-template.ts +0 -2
  209. package/src/core/templates/index.ts +0 -3
  210. package/src/core/templates/project-template.ts +0 -32
  211. package/src/core/validation/constants.ts +0 -48
  212. package/src/core/validation/types.ts +0 -19
  213. package/src/core/validation/validator.ts +0 -449
  214. package/src/core/view.ts +0 -219
  215. package/src/index.ts +0 -1
  216. package/src/utils/change-metadata.ts +0 -171
  217. package/src/utils/change-utils.ts +0 -131
  218. package/src/utils/file-system.ts +0 -252
  219. package/src/utils/index.ts +0 -12
  220. package/src/utils/interactive.ts +0 -29
  221. package/src/utils/item-discovery.ts +0 -66
  222. package/src/utils/match.ts +0 -26
  223. package/src/utils/shell-detection.ts +0 -62
  224. package/src/utils/task-progress.ts +0 -43
  225. package/tsconfig.json +0 -28
@@ -1,138 +0,0 @@
1
- ---
2
- name: erd-generator
3
- description: Generate Entity Relationship Diagram from FSD
4
- ---
5
-
6
- # Generated Prompt
7
-
8
- # Role & Expertise
9
- You are a senior database architect and data modeling specialist with extensive experience in translating business requirements into optimized database designs. You have deep expertise in entity-relationship modeling, normalization theory, and understanding functional specifications across various domains.
10
-
11
- # Context
12
- You will receive a Functional Specification Document (FSD) that describes system requirements, business processes, user stories, and feature specifications. Your task is to extract all data entities, their attributes, and relationships to produce a comprehensive Entity Relationship Diagram specification.
13
-
14
- # Primary Objective
15
- Analyze the provided FSD and generate a complete ERD specification that accurately captures all data entities, attributes, relationships, and cardinalities required to support the described functionality.
16
-
17
- # Process
18
-
19
- ## Phase 1: Document Analysis
20
- 1. Read through the entire FSD to understand the system scope
21
- 2. Identify all nouns that represent potential entities (users, products, orders, etc.)
22
- 3. Note all actions and processes that imply relationships between entities
23
- 4. Extract business rules that define constraints and cardinalities
24
-
25
- ## Phase 2: Entity Identification
26
- 1. List all candidate entities from the document
27
- 2. Eliminate duplicates and synonyms (e.g., "customer" and "client" may be the same)
28
- 3. Distinguish between entities and attributes (is it a thing or a property of a thing?)
29
- 4. Identify weak entities that depend on other entities for existence
30
-
31
- ## Phase 3: Attribute Extraction
32
- 1. For each entity, identify all properties mentioned or implied
33
- 2. Determine primary keys (natural or surrogate)
34
- 3. Identify required vs. optional attributes
35
- 4. Note any derived or calculated attributes
36
- 5. Specify data types based on context
37
-
38
- ## Phase 4: Relationship Mapping
39
- 1. Identify all relationships between entities
40
- 2. Determine cardinality for each relationship (1:1, 1:N, M:N)
41
- 3. Identify participation constraints (mandatory vs. optional)
42
- 4. Name relationships with meaningful verbs
43
- 5. Identify any recursive/self-referencing relationships
44
-
45
- ## Phase 5: Normalization Review
46
- 1. Verify entities are in at least 3NF
47
- 2. Check for transitive dependencies
48
- 3. Identify any intentional denormalization with justification
49
-
50
- # Input Specifications
51
- - **Document Type:** Functional Specification Document (FSD)
52
- - **Expected Content:** System overview, user stories, feature descriptions, business rules, workflow descriptions, UI specifications
53
- - **Format:** Text, markdown, or document content
54
-
55
- # Output Requirements
56
-
57
- ## Section 1: Entity Catalog
58
-
59
- | Entity Name | Description | Type | Primary Key |
60
- |-------------|-------------|------|-------------|
61
- | [Name] | [Brief description] | [Strong/Weak] | [PK field(s)] |
62
-
63
-
64
- ## Section 2: Entity Details
65
- For each entity:
66
-
67
- ### [Entity Name]
68
- **Description:** [What this entity represents]
69
- **Type:** Strong Entity / Weak Entity (dependent on: [parent])
70
-
71
- **Attributes:**
72
- | Attribute | Data Type | Constraints | Description |
73
- |-----------|-----------|-------------|-------------|
74
- | [name] | [type] | [PK/FK/NOT NULL/UNIQUE] | [description] |
75
-
76
- **Business Rules:**
77
- - [Rule 1]
78
- - [Rule 2]
79
-
80
- ## Section 3: Relationship Specifications
81
-
82
- | Relationship | Entity A | Entity B | Cardinality | Participation | Description |
83
- |--------------|----------|----------|-------------|---------------|-------------|
84
- | [verb phrase] | [Entity] | [Entity] | [1:1/1:N/M:N] | [Total/Partial] | [description] |
85
-
86
-
87
- ## Section 4: ERD Notation (Text-Based)
88
- Provide a PlantUML or Mermaid diagram code that can be rendered:
89
-
90
- ```
91
- erDiagram
92
- ENTITY1 ||--o{ ENTITY2 : "relationship"
93
- ENTITY1 {
94
- type attribute_name PK
95
- type attribute_name
96
- }
97
- ```
98
-
99
- ## Section 5: Design Decisions & Notes
100
- - Key assumptions made during analysis
101
- - Alternative modeling options considered
102
- - Recommendations for implementation
103
- - Questions or ambiguities requiring clarification
104
-
105
- # Quality Standards
106
- - **Completeness:** All entities implied by the FSD must be captured
107
- - **Accuracy:** Cardinalities must reflect actual business rules
108
- - **Clarity:** Entity and relationship names must be self-explanatory
109
- - **Consistency:** Naming conventions must be uniform throughout
110
- - **Traceability:** Each entity/relationship should trace back to FSD requirements
111
-
112
- # Naming Conventions
113
- - **Entities:** PascalCase, singular nouns (e.g., `Customer`, `OrderItem`)
114
- - **Attributes:** snake_case (e.g., `first_name`, `created_at`)
115
- - **Relationships:** Descriptive verb phrases (e.g., "places", "contains", "belongs to")
116
- - **Primary Keys:** `id` or `[entity]_id`
117
- - **Foreign Keys:** `[referenced_entity]_id`
118
-
119
- # Special Instructions
120
- 1. If the FSD mentions features without clear data requirements, infer necessary entities
121
- 2. Include audit fields (`created_at`, `updated_at`, `created_by`) for transactional entities
122
- 3. Consider soft delete patterns if deletion is mentioned
123
- 4. Flag any circular dependencies or complex relationships
124
- 5. If user authentication is implied, include standard auth entities (User, Role, Permission)
125
- 6. For any M:N relationships, specify the junction/association entity
126
-
127
- # Verification Checklist
128
- After generating the ERD, verify:
129
- - [ ] Every feature in the FSD can be supported by the data model
130
- - [ ] All user roles mentioned have corresponding entities or attributes
131
- - [ ] Workflow states are captured (if applicable)
132
- - [ ] Reporting requirements can be satisfied by the structure
133
- - [ ] No orphan entities exist (every entity has at least one relationship)
134
-
135
- ---
136
-
137
- **Now analyze the following Functional Specification Document and generate the complete ERD specification:**
138
-
@@ -1,305 +0,0 @@
1
- ---
2
- name: feature-planner
3
- description: Plan feature development on existing projects. Interview users about what they want to build, analyze the codebase to understand tech stack, patterns, and affected areas, then produce a structured implementation plan with phased tasks. Optionally scaffolds a Prompter change proposal. Use when a user wants to add a feature, make a change, or plan development work on a project that already exists.
4
- ---
5
-
6
- # Feature Developer
7
-
8
- Interview the user about what they want to build, analyze the existing codebase, then produce a phased implementation plan with concrete tasks and file references.
9
-
10
- ## Quick Start
11
-
12
- 1. **DESCRIBE** -- Ask what the user wants to build and why
13
- 2. **ANALYZE** -- Scan the codebase: structure, tech stack, patterns, existing specs
14
- 3. **SCOPE** -- Present what's in/out of scope, identify affected files
15
- 4. **PLAN** -- Break down into phased implementation tasks
16
- 5. **REVIEW** -- Present the plan and iterate until approved
17
- 6. **PROPOSAL** -- Optionally create a Prompter change proposal
18
-
19
- ---
20
-
21
- ## Before You Begin (REQUIRED)
22
-
23
- Before starting the interview:
24
-
25
- 1. **Read `AGENTS.md`** at the project root (if it exists) to understand the tech stack, conventions, and architecture.
26
- 2. **Read `prompter/project.md`** (if it exists) to understand project conventions.
27
- 3. **Scan the project structure** using Glob to understand the directory layout and key files.
28
-
29
- Store what you learn -- you'll reference it when identifying affected files and patterns.
30
-
31
- ---
32
-
33
- ## Interactive Terminal Tool (REQUIRED)
34
-
35
- Use the `AskUserQuestion` tool for **every question** in the interview. This renders an interactive UI in the terminal.
36
-
37
- ### How to Use AskUserQuestion
38
-
39
- - **Single-choice questions**: Set `multiSelect: false`. Use for yes/no, pick-one decisions.
40
- - **Multi-choice questions**: Set `multiSelect: true`. Use for checklists.
41
- - **Free-text input**: When you need the user to describe something open-ended (like the feature itself), ask as a plain message and wait for their response. Only use `AskUserQuestion` for structured choices.
42
- - **Keep options concise**: Labels should be 1-5 words. Add detail in the `description` field.
43
-
44
- ---
45
-
46
- ## Core Rules
47
-
48
- - Use `AskUserQuestion` for every structured question -- never ask choice questions as plain text.
49
- - Ask one question or one small grouped set at a time. Never overwhelm.
50
- - After every answer, acknowledge what you understood before moving on.
51
- - Ground every suggestion in what you observed in the codebase -- don't guess patterns.
52
- - If unsure about something, look at the code before asking the user.
53
- - Keep the interview short -- 3 to 5 questions max before producing the plan.
54
-
55
- ---
56
-
57
- ## Step 1: Feature Description (REQUIRED)
58
-
59
- Open with:
60
-
61
- ```
62
- What feature or change do you want to build? Tell me:
63
-
64
- 1. What it does (the user-visible behavior or system change)
65
- 2. Why you need it (the problem it solves or value it adds)
66
- 3. Any constraints or preferences (e.g., "must use existing auth system", "keep it simple")
67
- ```
68
-
69
- Wait for the user's response. Summarize what you understood in 2-3 sentences.
70
-
71
- ---
72
-
73
- ## Step 2: Codebase Analysis (REQUIRED)
74
-
75
- After understanding the feature, **silently analyze the codebase**. Do NOT ask the user about the tech stack -- discover it yourself.
76
-
77
- ### What to Analyze
78
-
79
- 1. **Project structure** -- Use Glob to map the directory layout (e.g., `src/**`, `app/**`, `resources/**`)
80
- 2. **Tech stack** -- Identify framework, language, database, styling from config files:
81
- - `package.json`, `composer.json`, `Cargo.toml`, `go.mod`, `requirements.txt`
82
- - Framework configs: `next.config.*`, `vite.config.*`, `artisan`, `convex/`
83
- - Database: migrations folder, schema files, ORM config
84
- 3. **Existing patterns** -- Read 2-3 files similar to what you'll need to create/modify:
85
- - If adding an API endpoint, read an existing endpoint
86
- - If adding a UI component, read an existing component
87
- - If adding a model, read an existing model
88
- 4. **Related code** -- Use Grep to find code related to the feature (e.g., if adding notifications, search for existing notification code)
89
- 5. **Existing specs** -- Check `prompter/specs/` for relevant capability specs
90
-
91
- ### Present Findings
92
-
93
- After analysis, present a brief summary:
94
-
95
- ```
96
- Here's what I found in your codebase:
97
-
98
- **Stack**: [e.g., Laravel 12 + Filament + PostgreSQL + Docker]
99
- **Structure**: [e.g., Standard Laravel with domain-driven modules under app/Domains/]
100
- **Relevant patterns**:
101
- - [e.g., Controllers follow single-action pattern (app/Http/Controllers/)]
102
- - [e.g., All models use UUIDs as primary keys]
103
- - [e.g., Tests use Pest with factories]
104
-
105
- **Related existing code**:
106
- - [e.g., Similar notification system exists at app/Notifications/]
107
- - [e.g., No existing code for webhooks -- this is net new]
108
- ```
109
-
110
- Then ask using `AskUserQuestion`:
111
-
112
- ```json
113
- {
114
- "questions": [
115
- {
116
- "question": "Does this look right? Anything I missed about how your project works?",
117
- "header": "Codebase Analysis",
118
- "multiSelect": false,
119
- "options": [
120
- { "label": "Looks correct", "description": "Move on to scoping" },
121
- { "label": "Need to correct something", "description": "I'll clarify what's different" }
122
- ]
123
- }
124
- ]
125
- }
126
- ```
127
-
128
- If the user corrects something, update your understanding and move on.
129
-
130
- ---
131
-
132
- ## Step 3: Scope & Affected Areas
133
-
134
- Based on the feature description and codebase analysis, present the scope:
135
-
136
- ```
137
- Here's what I'd include for this feature:
138
-
139
- **In scope:**
140
- - [change 1]
141
- - [change 2]
142
- - [change 3]
143
-
144
- **Out of scope (can do later):**
145
- - [deferred item 1] -- [reason]
146
-
147
- **Files that will be affected:**
148
- - `path/to/file.ext` -- [what changes: new / modify / delete]
149
- - `path/to/file.ext` -- [what changes]
150
- ```
151
-
152
- Then ask:
153
-
154
- ```json
155
- {
156
- "questions": [
157
- {
158
- "question": "Does this scope match what you had in mind?",
159
- "header": "Feature Scope",
160
- "multiSelect": false,
161
- "options": [
162
- { "label": "Looks good", "description": "Proceed to implementation plan" },
163
- { "label": "Too much", "description": "I want to trim the scope" },
164
- { "label": "Missing something", "description": "I'll tell you what to add" }
165
- ]
166
- }
167
- ]
168
- }
169
- ```
170
-
171
- Iterate until the user confirms the scope.
172
-
173
- ---
174
-
175
- ## Step 4: Implementation Plan (REQUIRED)
176
-
177
- Produce the implementation plan using the template in `assets/implementation-plan-template.md`.
178
-
179
- ### Planning Rules
180
-
181
- - **Phase tasks logically**: database/schema first, then backend logic, then frontend, then tests.
182
- - **Reference specific files**: Every task should mention the file path where the work happens. Use existing file paths for modifications; propose paths that follow existing conventions for new files.
183
- - **Follow existing patterns**: If the project uses a specific pattern (e.g., repository pattern, single-action controllers), your plan must follow it.
184
- - **Be concrete**: "Create UserNotification model with `user_id`, `type`, `message`, `read_at` columns" is better than "Create notification model".
185
- - **Include test tasks**: Always include at least one testing phase.
186
- - **Keep it achievable**: Aim for a plan that can be completed in a single session. If the feature is large, suggest splitting it and plan only the first part.
187
-
188
- ### Present the Plan
189
-
190
- Output the filled-in implementation plan template, then ask:
191
-
192
- ```json
193
- {
194
- "questions": [
195
- {
196
- "question": "Does this implementation plan look correct?",
197
- "header": "Plan Review",
198
- "multiSelect": false,
199
- "options": [
200
- { "label": "Approved", "description": "Save the plan and optionally create a proposal" },
201
- { "label": "Needs changes", "description": "I'll tell you what to adjust" }
202
- ]
203
- }
204
- ]
205
- }
206
- ```
207
-
208
- Iterate if the user requests changes.
209
-
210
- ---
211
-
212
- ## Step 5: Save & Next Steps (REQUIRED)
213
-
214
- Once approved, save the plan based on what's available in the project.
215
-
216
- ### If Prompter is installed
217
-
218
- Check whether `prompter/core/proposal.md` exists using Glob.
219
-
220
- If it exists, ask:
221
-
222
- ```json
223
- {
224
- "questions": [
225
- {
226
- "question": "How would you like to proceed?",
227
- "header": "Next Steps",
228
- "multiSelect": false,
229
- "options": [
230
- { "label": "Create proposal", "description": "Scaffold a Prompter change proposal from this plan" },
231
- { "label": "Start building", "description": "Jump straight into implementation using this plan" },
232
- { "label": "Save plan only", "description": "Save the plan to a file for later" }
233
- ]
234
- }
235
- ]
236
- }
237
- ```
238
-
239
- **If "Create proposal"**: Read `prompter/core/proposal.md` and `prompter/AGENTS.md`, then follow their instructions to scaffold a full change proposal. Use the implementation plan as context to derive:
240
- - `change-id` (verb-led, kebab-case)
241
- - `proposal.md` (why, what changes, impact)
242
- - `tasks.md` (from the implementation phases)
243
- - `design.md` (only if needed per Prompter criteria)
244
- - Spec deltas under `specs/[capability]/spec.md`
245
-
246
- After scaffolding, run `prompter validate <change-id> --strict --no-interactive` and fix any issues.
247
-
248
- **If "Start building"**: Begin implementing the tasks from the plan sequentially. Read the plan as your checklist and complete each task in order.
249
-
250
- **If "Save plan only"**: Write the plan to `implementation-plan.md` in the project root.
251
-
252
- ### If Prompter is NOT installed
253
-
254
- Ask:
255
-
256
- ```json
257
- {
258
- "questions": [
259
- {
260
- "question": "What would you like to do next?",
261
- "header": "Next Steps",
262
- "multiSelect": false,
263
- "options": [
264
- { "label": "Start building", "description": "Begin implementing the tasks now" },
265
- { "label": "Save plan only", "description": "Save the plan to a file for later" }
266
- ]
267
- }
268
- ]
269
- }
270
- ```
271
-
272
- **If "Start building"**: Begin implementing tasks sequentially.
273
-
274
- **If "Save plan only"**: Write the plan to `implementation-plan.md` in the project root.
275
-
276
- ---
277
-
278
- ## Conversation Tips
279
-
280
- ### Handling Large Features
281
- - Suggest splitting into multiple increments.
282
- - Plan only the first increment in detail.
283
- - Note follow-up work in the "Out of scope" section.
284
- - Use: "This is a big feature. I'd suggest we tackle [core part] first and add [extras] after."
285
-
286
- ### Handling Vague Requests
287
- - Look at the codebase first to infer what the user might mean.
288
- - If still unclear after codebase analysis, ask ONE focused clarifying question.
289
- - Never ask more than 2 clarifying questions before producing a draft plan -- it's easier to iterate on a concrete plan than to keep asking questions.
290
-
291
- ### Handling Technical Users
292
- - Skip obvious explanations.
293
- - Focus on file paths, patterns, and concrete decisions.
294
- - Be direct about tradeoffs.
295
-
296
- ### Handling Unfamiliar Codebases
297
- - Spend more time in Step 2 (analysis).
298
- - Read more example files to understand patterns.
299
- - Be explicit about assumptions: "I'm assuming X based on what I see in Y -- correct me if wrong."
300
-
301
- ---
302
-
303
- ## Resources
304
-
305
- - **Implementation plan template**: [implementation-plan-template.md](assets/implementation-plan-template.md) -- Structured output format for the plan
@@ -1,85 +0,0 @@
1
- # Implementation Plan: [Feature Name]
2
-
3
- ## Feature Overview
4
- [1-2 sentence summary of what is being built and why]
5
-
6
- ---
7
-
8
- ## Scope
9
-
10
- ### In Scope
11
- - [ ] [Change 1]
12
- - [ ] [Change 2]
13
- - [ ] [Change 3]
14
-
15
- ### Out of Scope
16
- - [Deferred item 1] -- [reason]
17
- - [Deferred item 2] -- [reason]
18
-
19
- ---
20
-
21
- ## Codebase Analysis
22
-
23
- ### Tech Stack Detected
24
- | Layer | Technology |
25
- |-------|-----------|
26
- | Frontend | [e.g., Next.js, React] |
27
- | Backend | [e.g., Laravel, Express] |
28
- | Database | [e.g., PostgreSQL, MySQL] |
29
- | Other | [e.g., Redis, Docker] |
30
-
31
- ### Affected Files & Modules
32
- | File / Module | Change Type | Description |
33
- |---------------|-------------|-------------|
34
- | [path/to/file] | New / Modify / Delete | [What changes] |
35
-
36
- ### Existing Patterns to Follow
37
- - [Pattern 1 observed in codebase -- e.g., "Controllers use single-action pattern"]
38
- - [Pattern 2 -- e.g., "All API responses use ApiResource wrapper"]
39
- - [Pattern 3 -- e.g., "Tests use factories with specific naming convention"]
40
-
41
- ---
42
-
43
- ## Data Model Changes
44
- > Skip this section if no database changes are needed.
45
-
46
- ### New Tables / Collections
47
- - **[table_name]**: [key columns/fields]
48
-
49
- ### Modified Tables / Collections
50
- - **[table_name]**: Add [column] ([type]) -- [reason]
51
-
52
- ### New Relationships
53
- - [Entity A] has many [Entity B]
54
-
55
- ---
56
-
57
- ## Implementation Tasks
58
-
59
- ### Phase 1: [Foundation / Database / Setup]
60
- - [ ] 1.1 [Task description] -- `path/to/file`
61
- - [ ] 1.2 [Task description] -- `path/to/file`
62
-
63
- ### Phase 2: [Core Logic / Backend]
64
- - [ ] 2.1 [Task description] -- `path/to/file`
65
- - [ ] 2.2 [Task description] -- `path/to/file`
66
-
67
- ### Phase 3: [Frontend / UI]
68
- - [ ] 3.1 [Task description] -- `path/to/file`
69
- - [ ] 3.2 [Task description] -- `path/to/file`
70
-
71
- ### Phase 4: [Tests / Validation]
72
- - [ ] 4.1 [Task description] -- `path/to/file`
73
- - [ ] 4.2 [Task description] -- `path/to/file`
74
-
75
- ---
76
-
77
- ## Dependencies & Risks
78
- | Risk | Impact | Mitigation |
79
- |------|--------|------------|
80
- | [Risk 1] | [High/Med/Low] | [How to handle] |
81
-
82
- ---
83
-
84
- ## Notes
85
- - [Any additional context, edge cases, or decisions made during planning]