@vfarcic/dot-ai 0.76.0 → 0.78.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -7
- package/dist/core/claude.d.ts.map +1 -1
- package/dist/core/claude.js +21 -6
- package/dist/tools/recommend.d.ts.map +1 -1
- package/dist/tools/recommend.js +0 -3
- package/package.json +1 -1
- package/prompts/intent-analysis.md +25 -58
- package/shared-prompts/prd-create.md +15 -72
- package/shared-prompts/prd-done.md +11 -1
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@ DevOps AI Toolkit is an AI-powered development productivity platform that enhanc
|
|
|
34
34
|
### Kubernetes Deployment Intelligence
|
|
35
35
|
🔍 **Smart Discovery**: Automatically finds all available resources and operators in your cluster
|
|
36
36
|
🧠 **Semantic Capability Management**: Discovers what each resource actually does for intelligent matching
|
|
37
|
-
🤖 **AI Recommendations**:
|
|
37
|
+
🤖 **AI Recommendations**: Smart intent clarification gathers missing context, then provides deployment suggestions tailored to your specific cluster setup with enhanced semantic understanding
|
|
38
38
|
🔧 **Operator-Aware**: Leverages custom operators and CRDs when available
|
|
39
39
|
🚀 **Complete Workflow**: From discovery to deployment with automated Kubernetes integration
|
|
40
40
|
|
|
@@ -196,18 +196,25 @@ claude # or your preferred MCP-enabled AI tool
|
|
|
196
196
|
```
|
|
197
197
|
User: I want to deploy a web application to my cluster
|
|
198
198
|
|
|
199
|
-
Agent: I'll help you deploy a web application. Let me get recommendations
|
|
200
|
-
[Uses recommend tool]
|
|
199
|
+
Agent: I'll help you deploy a web application. Let me get recommendations. First, a few questions to provide better suggestions:
|
|
201
200
|
|
|
202
|
-
|
|
201
|
+
What type of web application is this? Is it for development or production?
|
|
202
|
+
Does it need external access?
|
|
203
|
+
[Uses recommend tool for clarification]
|
|
204
|
+
|
|
205
|
+
User: It's a production Node.js API that needs external access
|
|
206
|
+
|
|
207
|
+
Agent: Perfect! Based on your production requirements, I found 3 deployment options.
|
|
208
|
+
Let's use the Production Web Stack with external access.
|
|
203
209
|
What's your application name and container image?
|
|
210
|
+
[Uses recommend tool with refined intent]
|
|
204
211
|
|
|
205
|
-
User: App name is "myapp" and image is "
|
|
212
|
+
User: App name is "myapp" and image is "myapp:v1.0.0"
|
|
206
213
|
|
|
207
|
-
Agent:
|
|
214
|
+
Agent: Excellent! Generating production-ready manifests and deploying...
|
|
208
215
|
[Uses chooseSolution, answerQuestion, generateManifests, deployManifests]
|
|
209
216
|
|
|
210
|
-
Agent: ✅ Successfully deployed! Your
|
|
217
|
+
Agent: ✅ Successfully deployed! Your production API is running with external access.
|
|
211
218
|
```
|
|
212
219
|
|
|
213
220
|
**Example: Capability Management**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/core/claude.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AACpD,MAAM,MAAM,qBAAqB,GAC7B,0BAA0B,GAC1B,uBAAuB,GACvB,0BAA0B,GAC1B,qBAAqB,GACrB,0BAA0B,CAAC;AAE/B,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,0BAA0B,EAAE,wBAAwB,EAAE,CAAC;IACvD,iBAAiB,EAAE;QACjB,oBAAoB,EAAE,WAAW,CAAC;QAClC,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,aAAa,EAAE;QACb,kBAAkB,EAAE,MAAM,CAAC;QAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;CACH;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,SAAS,CAAU;gBAEf,MAAM,EAAE,MAAM;IAY1B,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,SAAS;IAKjB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+BrB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/core/claude.ts"],"names":[],"mappings":"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"}
|
package/dist/core/claude.js
CHANGED
|
@@ -146,19 +146,34 @@ ${response.content}`;
|
|
|
146
146
|
this.conversationHistory.push({ role: 'user', content: message });
|
|
147
147
|
// Use real Claude API if we have a real API key, otherwise fall back to mocks
|
|
148
148
|
if (this.apiKey.startsWith('sk-ant-') && this.client) {
|
|
149
|
-
// Make real API call to Claude
|
|
150
|
-
const
|
|
149
|
+
// Make real API call to Claude with streaming
|
|
150
|
+
const stream = await this.client.messages.create({
|
|
151
151
|
model: 'claude-sonnet-4-20250514', // Latest Claude Sonnet 4 - check for newer versions periodically
|
|
152
152
|
max_tokens: 64000,
|
|
153
153
|
messages: [{ role: 'user', content: message }],
|
|
154
|
-
stream:
|
|
154
|
+
stream: true // Enable streaming by default to support long operations (>10 minutes)
|
|
155
155
|
});
|
|
156
|
-
|
|
156
|
+
let content = '';
|
|
157
|
+
let input_tokens = 0;
|
|
158
|
+
let output_tokens = 0;
|
|
159
|
+
for await (const chunk of stream) {
|
|
160
|
+
if (chunk.type === 'message_start') {
|
|
161
|
+
input_tokens = chunk.message.usage.input_tokens;
|
|
162
|
+
}
|
|
163
|
+
else if (chunk.type === 'content_block_delta') {
|
|
164
|
+
if (chunk.delta.type === 'text_delta') {
|
|
165
|
+
content += chunk.delta.text;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
else if (chunk.type === 'message_delta') {
|
|
169
|
+
output_tokens = chunk.usage.output_tokens;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
157
172
|
const response = {
|
|
158
173
|
content,
|
|
159
174
|
usage: {
|
|
160
|
-
input_tokens
|
|
161
|
-
output_tokens
|
|
175
|
+
input_tokens,
|
|
176
|
+
output_tokens
|
|
162
177
|
}
|
|
163
178
|
};
|
|
164
179
|
this.conversationHistory.push({ role: 'assistant', content: response.content });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recommend.d.ts","sourceRoot":"","sources":["../../src/tools/recommend.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAQhD,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,0BAA0B,+JAA+J,CAAC;AAGvM,eAAO,MAAM,2BAA2B;;;CAGvC,CAAC;AA2EF;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EACzC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"recommend.d.ts","sourceRoot":"","sources":["../../src/tools/recommend.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAQhD,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,0BAA0B,+JAA+J,CAAC;AAGvM,eAAO,MAAM,2BAA2B;;;CAGvC,CAAC;AA2EF;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EACzC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC,CAoQxD"}
|
package/dist/tools/recommend.js
CHANGED
|
@@ -176,12 +176,9 @@ async function handleRecommendTool(args, dotAI, logger, requestId) {
|
|
|
176
176
|
analysisResult.overallAssessment.enhancementPotential !== 'LOW') {
|
|
177
177
|
// Convert analysis to structured questions for client agent
|
|
178
178
|
const questions = analysisResult.clarificationOpportunities
|
|
179
|
-
.filter((opp) => opp.impactLevel === 'HIGH' || opp.impactLevel === 'MEDIUM')
|
|
180
|
-
.slice(0, 5) // Limit to 5 most important questions
|
|
181
179
|
.map((opp, index) => ({
|
|
182
180
|
id: `clarification-${index + 1}`,
|
|
183
181
|
question: opp.suggestedQuestions?.[0] || `Can you provide more details about ${opp.missingContext.toLowerCase()}?`,
|
|
184
|
-
category: opp.category,
|
|
185
182
|
reasoning: opp.reasoning,
|
|
186
183
|
examples: opp.suggestedQuestions?.slice(1) || []
|
|
187
184
|
}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vfarcic/dot-ai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.78.0",
|
|
4
4
|
"description": "AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Intent Analysis for Clarification
|
|
1
|
+
# Intent Analysis for Comprehensive Clarification
|
|
2
2
|
|
|
3
|
-
You are an expert Kubernetes deployment consultant analyzing user intents to identify opportunities for clarification that would lead to better deployment recommendations.
|
|
3
|
+
You are an expert Kubernetes deployment consultant analyzing user intents to identify ALL opportunities for clarification that would lead to better deployment recommendations.
|
|
4
4
|
|
|
5
5
|
## User Intent
|
|
6
6
|
{intent}
|
|
@@ -10,53 +10,24 @@ You are an expert Kubernetes deployment consultant analyzing user intents to ide
|
|
|
10
10
|
|
|
11
11
|
## Analysis Framework
|
|
12
12
|
|
|
13
|
-
Analyze the user's intent
|
|
13
|
+
Analyze the user's intent comprehensively to identify **every piece of missing context** that could improve the quality and relevance of deployment recommendations. Be thorough - explore all aspects that could influence the deployment, regardless of traditional categories.
|
|
14
14
|
|
|
15
|
-
###
|
|
15
|
+
### Exploration Principles
|
|
16
16
|
|
|
17
|
-
**
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
17
|
+
**Comprehensive Context Discovery**: Identify ALL information that would help create the perfect solution for this specific intent. Consider:
|
|
18
|
+
- What would you need to know to build the ideal deployment?
|
|
19
|
+
- What domain-specific requirements might apply?
|
|
20
|
+
- What user-specific context is missing?
|
|
21
|
+
- What technical decisions haven't been made?
|
|
22
|
+
- What operational considerations are unexplored?
|
|
22
23
|
|
|
23
|
-
**
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
24
|
+
**Adaptive Questioning**: Let the intent guide your analysis:
|
|
25
|
+
- **Vague intents** require extensive exploration of possibilities
|
|
26
|
+
- **Specific intents** need targeted questions about remaining gaps
|
|
27
|
+
- **Technical intents** may need domain expertise questions
|
|
28
|
+
- **Business intents** may need operational and compliance questions
|
|
28
29
|
|
|
29
|
-
**
|
|
30
|
-
- Environment targets (development, staging, production)
|
|
31
|
-
- High availability and disaster recovery needs
|
|
32
|
-
- Monitoring and observability requirements
|
|
33
|
-
- Backup and maintenance procedures
|
|
34
|
-
|
|
35
|
-
**4. SECURITY & COMPLIANCE**
|
|
36
|
-
- Authentication and authorization requirements
|
|
37
|
-
- Data classification and encryption needs
|
|
38
|
-
- Compliance frameworks (GDPR, HIPAA, SOC2, PCI-DSS)
|
|
39
|
-
- Network security policies and isolation requirements
|
|
40
|
-
|
|
41
|
-
**5. ORGANIZATIONAL ALIGNMENT**
|
|
42
|
-
- Team responsibilities and ownership models
|
|
43
|
-
- Existing infrastructure integration points
|
|
44
|
-
- Budget and resource constraints
|
|
45
|
-
- Timeline and rollout preferences
|
|
46
|
-
|
|
47
|
-
### Opportunity Assessment
|
|
48
|
-
|
|
49
|
-
For each category, evaluate:
|
|
50
|
-
- **Missing Context**: What specific information is absent?
|
|
51
|
-
- **Impact Level**: How much would this information improve recommendations?
|
|
52
|
-
- **Question Potential**: Can this be addressed with a clear, actionable question?
|
|
53
|
-
- **Pattern Alignment**: Does this relate to organizational patterns or standards?
|
|
54
|
-
|
|
55
|
-
### Question Generation Priorities
|
|
56
|
-
|
|
57
|
-
**HIGH PRIORITY**: Missing context that would fundamentally change the recommended solution
|
|
58
|
-
**MEDIUM PRIORITY**: Information that would optimize the deployment for the user's environment
|
|
59
|
-
**LOW PRIORITY**: Nice-to-have details that provide minor refinements
|
|
30
|
+
**No Self-Censoring**: Don't limit yourself to "high-impact" questions. Generate questions for every aspect that could be relevant. Users can decide what matters to them.
|
|
60
31
|
|
|
61
32
|
## Organizational Pattern Integration
|
|
62
33
|
|
|
@@ -69,16 +40,14 @@ Use the provided organizational patterns to inform your analysis:
|
|
|
69
40
|
## Analysis Guidelines
|
|
70
41
|
|
|
71
42
|
**DO NOT suggest clarification for:**
|
|
72
|
-
- Information that is clearly
|
|
73
|
-
- Standard
|
|
74
|
-
- Details that don't significantly impact solution recommendations
|
|
75
|
-
- Overly technical specifics that most users wouldn't know
|
|
43
|
+
- Information that is clearly and explicitly stated in the intent
|
|
44
|
+
- Standard configurations that have sensible defaults AND the user hasn't indicated special requirements
|
|
76
45
|
|
|
77
46
|
**DO suggest clarification for:**
|
|
78
|
-
-
|
|
79
|
-
-
|
|
47
|
+
- Any missing context that could influence the solution approach
|
|
48
|
+
- Ambiguous requirements that could lead to multiple valid interpretations
|
|
49
|
+
- Missing information that only the user would know
|
|
80
50
|
- Organizational-specific requirements that align with provided patterns
|
|
81
|
-
- Performance, security, or compliance needs that aren't specified
|
|
82
51
|
|
|
83
52
|
## Response Format
|
|
84
53
|
|
|
@@ -88,9 +57,7 @@ Respond with ONLY a JSON object in this exact format:
|
|
|
88
57
|
{
|
|
89
58
|
"clarificationOpportunities": [
|
|
90
59
|
{
|
|
91
|
-
"category": "TECHNICAL_SPECIFICATIONS|ARCHITECTURAL_CONTEXT|OPERATIONAL_REQUIREMENTS|SECURITY_COMPLIANCE|ORGANIZATIONAL_ALIGNMENT",
|
|
92
60
|
"missingContext": "Specific description of what context is missing",
|
|
93
|
-
"impactLevel": "HIGH|MEDIUM|LOW",
|
|
94
61
|
"reasoning": "Why this clarification would improve recommendations",
|
|
95
62
|
"suggestedQuestions": [
|
|
96
63
|
"Specific question that could gather this information",
|
|
@@ -114,9 +81,9 @@ Respond with ONLY a JSON object in this exact format:
|
|
|
114
81
|
|
|
115
82
|
## Important Notes
|
|
116
83
|
|
|
117
|
-
-
|
|
84
|
+
- Generate questions for **every piece of missing context** that could improve recommendations
|
|
118
85
|
- Consider the **user's perspective** - suggest questions they can actually answer
|
|
119
|
-
- **
|
|
120
|
-
- **Leverage organizational patterns** to identify governance and compliance opportunities
|
|
86
|
+
- **Be comprehensive** - explore all aspects that could influence the deployment
|
|
87
|
+
- **Leverage organizational patterns** to identify governance and compliance opportunities
|
|
121
88
|
- **Be practical** - ensure suggested questions are actionable and specific
|
|
122
|
-
- **
|
|
89
|
+
- **Always include an open-ended question** as the final clarification opportunity to capture anything else the user might want to share
|
|
@@ -8,11 +8,10 @@ category: project-management
|
|
|
8
8
|
|
|
9
9
|
## Instructions
|
|
10
10
|
|
|
11
|
-
You are helping create a
|
|
11
|
+
You are helping create a Product Requirements Document (PRD) for a new feature. This process involves two main components:
|
|
12
12
|
|
|
13
13
|
1. **GitHub Issue**: Short, immutable concept description that links to the detailed PRD
|
|
14
|
-
2. **PRD File**: Project management document with milestone tracking, progress logs, and
|
|
15
|
-
3. **Documentation Updates**: Actual user-facing content written directly into documentation files with PRD traceability comments
|
|
14
|
+
2. **PRD File**: Project management document with milestone tracking, progress logs, and implementation plan
|
|
16
15
|
|
|
17
16
|
## Process
|
|
18
17
|
|
|
@@ -30,55 +29,8 @@ Create the PRD file using the actual GitHub issue ID: `prds/[issue-id]-[feature-
|
|
|
30
29
|
### Step 4: Update GitHub Issue with PRD Link
|
|
31
30
|
Add the PRD file link to the GitHub issue description now that the filename is known.
|
|
32
31
|
|
|
33
|
-
### Step 5:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
**A. Discover All Documentation Files**
|
|
37
|
-
```bash
|
|
38
|
-
# Find all documentation files (adapt for your project's documentation format)
|
|
39
|
-
find . -name "*.md" -not -path "*/node_modules/*" | sort
|
|
40
|
-
|
|
41
|
-
# Or for other formats:
|
|
42
|
-
find . -name "*.rst" -o -name "*.txt" -o -name "*.adoc" | sort
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**B. Identify Feature/Capability References**
|
|
46
|
-
```bash
|
|
47
|
-
# Search for existing feature lists and capability references
|
|
48
|
-
grep -r -i "capability\|feature\|guide.*\|provides.*\|main.*\|Key.*Features" docs/ README*
|
|
49
|
-
|
|
50
|
-
# Look for documentation indexes and cross-reference patterns
|
|
51
|
-
grep -r "- \*\*\[.*\]\|### .*Guide\|## Documentation" docs/ README*
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
**C. Use Task Tool for Pattern Analysis**
|
|
55
|
-
Use the Task tool to analyze ALL discovered files to understand:
|
|
56
|
-
- Current documentation structure and patterns
|
|
57
|
-
- Consistent section naming conventions
|
|
58
|
-
- How features are introduced and described
|
|
59
|
-
- Whether there are verification/setup patterns for features
|
|
60
|
-
- Cross-reference architecture between docs
|
|
61
|
-
- Tone and style consistency
|
|
62
|
-
- Documentation indexes/lists that should include new content
|
|
63
|
-
|
|
64
|
-
### Step 6: Plan Complete Documentation Changes
|
|
65
|
-
Based on the analysis, create comprehensive checklist of ALL documentation files that need updates:
|
|
66
|
-
|
|
67
|
-
**Create systematic checklist:**
|
|
68
|
-
- [ ] New documentation files to create
|
|
69
|
-
- [ ] Existing files with capability/feature lists that need updates
|
|
70
|
-
- [ ] Documentation indexes (like README.md sections) that should include new content
|
|
71
|
-
- [ ] Setup/configuration guides that need new sections
|
|
72
|
-
- [ ] Cross-reference sections ("See Also") that should link to new content
|
|
73
|
-
- [ ] Any files that mention related functionality and should acknowledge new capability
|
|
74
|
-
|
|
75
|
-
**Document the rationale for each update to ensure nothing is missed.**
|
|
76
|
-
|
|
77
|
-
### Step 7: Write Documentation Content First
|
|
78
|
-
Create/update ALL user-facing documentation content with `<!-- PRD-[issue-id] -->` comments for traceability, following established patterns.
|
|
79
|
-
|
|
80
|
-
### Step 8: Create PRD as Project Tracker
|
|
81
|
-
Work through the PRD template focusing on project management, milestone tracking, and references to the documentation content.
|
|
32
|
+
### Step 5: Create PRD as a Project Management Document
|
|
33
|
+
Work through the PRD template focusing on project management, milestone tracking, and implementation planning. Documentation updates should be included as part of the implementation milestones.
|
|
82
34
|
|
|
83
35
|
**Key Principle**: Focus on 5-10 major milestones rather than exhaustive task lists. Each milestone should represent meaningful progress that can be clearly validated.
|
|
84
36
|
|
|
@@ -133,26 +85,17 @@ Work through the PRD template focusing on project management, milestone tracking
|
|
|
133
85
|
|
|
134
86
|
## Discussion Guidelines
|
|
135
87
|
|
|
136
|
-
###
|
|
137
|
-
1. **
|
|
138
|
-
2. **User
|
|
139
|
-
3. **
|
|
140
|
-
4. **
|
|
141
|
-
5. **
|
|
142
|
-
6. **
|
|
143
|
-
7. **
|
|
144
|
-
8. **
|
|
145
|
-
9. **
|
|
146
|
-
10. **
|
|
147
|
-
|
|
148
|
-
### Content Creation Process:
|
|
149
|
-
1. **Analyze Documentation Architecture**: Use Task tool to understand existing patterns across ALL docs
|
|
150
|
-
2. **Map Complete Documentation Changes**: Identify all files that need updates (don't miss any!)
|
|
151
|
-
3. **Write User-Facing Content**: Create actual documentation content with examples following established patterns
|
|
152
|
-
4. **Add Traceability**: Include `<!-- PRD-[issue-id] -->` comments in documentation
|
|
153
|
-
5. **Update ALL Affected Files**: Ensure every file mentioned in PRD documentation map gets updated
|
|
154
|
-
6. **Plan Implementation**: Break down development tasks that enable documented functionality
|
|
155
|
-
7. **Validation Strategy**: Ensure all documented claims can be automatically tested
|
|
88
|
+
### PRD Planning Questions
|
|
89
|
+
1. **Problem Understanding**: "What specific problem does this feature solve for users?"
|
|
90
|
+
2. **User Impact**: "Walk me through the complete user journey — what will change for them?"
|
|
91
|
+
3. **Technical Scope**: "What are the core technical changes required?"
|
|
92
|
+
4. **Documentation Impact**: "Which existing docs need updates? What new docs are needed?"
|
|
93
|
+
5. **Integration Points**: "How does this feature integrate with existing systems?"
|
|
94
|
+
6. **Success Criteria**: "How will we know this feature is working well?"
|
|
95
|
+
7. **Implementation Phases**: "How can we deliver value incrementally?"
|
|
96
|
+
8. **Risk Assessment**: "What are the main risks and how do we mitigate them?"
|
|
97
|
+
9. **Dependencies**: "What other systems or features does this depend on?"
|
|
98
|
+
10. **Validation Strategy**: "How will we test and validate the implementation?"
|
|
156
99
|
|
|
157
100
|
### Discussion Tips:
|
|
158
101
|
- **Clarify ambiguity**: If something isn't clear, ask follow-up questions until you understand
|
|
@@ -62,11 +62,21 @@ Complete the PRD implementation workflow including branch management, pull reque
|
|
|
62
62
|
- Look for actionable suggestions about code quality, security, performance, or maintainability
|
|
63
63
|
- Check for recommendations about test coverage, error handling, or architectural improvements
|
|
64
64
|
- Review suggestions for refactoring, type safety, or code organization
|
|
65
|
+
- [ ] **Present code review findings**: ALWAYS summarize automated review feedback for the user (unless there are no findings)
|
|
66
|
+
- **Categorize findings**: Critical, Important, Optional based on impact
|
|
67
|
+
- **Provide specific examples**: Quote actual suggestions and their locations
|
|
68
|
+
- **Explain assessment**: Why each category was assigned and which items should be addressed
|
|
69
|
+
- **User decision**: Let user decide which optional improvements to implement before merge
|
|
65
70
|
- [ ] **Assess feedback priority**: Categorize review feedback
|
|
66
71
|
- **Critical**: Security issues, breaking changes, test failures - MUST address before merge
|
|
67
72
|
- **Important**: Code quality, maintainability, performance - SHOULD address for production readiness
|
|
68
73
|
- **Optional**: Style preferences, minor optimizations - MAY address based on project standards
|
|
69
|
-
- [ ] **Wait for
|
|
74
|
+
- [ ] **Wait for ALL reviews to complete**: Do NOT merge if any reviews are pending or in progress, including:
|
|
75
|
+
- **Automated code reviews** (CodeRabbit, CodeQL, etc.) - Must wait until complete even if CI passes
|
|
76
|
+
- **Security analysis** - Must complete and pass
|
|
77
|
+
- **CI/CD processes** - All builds and tests must pass
|
|
78
|
+
- **Human reviews** - If requested reviewers haven't approved
|
|
79
|
+
- **CRITICAL**: Never skip automated code reviews - they provide valuable feedback even when CI passes
|
|
70
80
|
- [ ] **Address review feedback**: Make required changes from code review (both automated and human)
|
|
71
81
|
- Create additional commits on the feature branch to address feedback
|
|
72
82
|
- Update tests if needed to cover suggested improvements
|