@iservu-inc/adf-cli 0.14.1 → 0.14.3
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/CHANGELOG.md +11 -0
- package/README.md +13 -13
- package/bin/adf.js +43 -26
- package/conductor/product-guidelines.md +1 -1
- package/conductor/product.md +2 -3
- package/conductor/tracks/bootstrap_agents_20260111/plan.md +5 -0
- package/lib/ai/ai-client.js +80 -35
- package/lib/ai/ai-config.js +203 -112
- package/lib/commands/config.js +15 -5
- package/lib/commands/deploy.js +5 -2
- package/lib/commands/init.js +14 -4
- package/lib/frameworks/interviewer.js +3 -3
- package/lib/frameworks/output-generators.js +7 -7
- package/lib/frameworks/questions.js +3 -3
- package/lib/generators/agents-md-generator.js +3 -3
- package/lib/generators/antigravity-generator.js +3 -3
- package/lib/generators/cursor-generator.js +3 -3
- package/lib/generators/deepagent-generator.js +5 -5
- package/lib/generators/gemini-cli-generator.js +5 -5
- package/lib/generators/index.js +15 -0
- package/lib/generators/vscode-generator.js +3 -3
- package/lib/generators/windsurf-generator.js +3 -3
- package/lib/templates/scripts/analyze-docs.js +14 -13
- package/lib/templates/scripts/config-helpers.js +1 -1
- package/lib/templates/shared/agents/analyst.md +1 -1
- package/lib/templates/shared/agents/architect.md +1 -1
- package/lib/templates/shared/agents/dev.md +1 -1
- package/lib/templates/shared/agents/pm.md +2 -2
- package/lib/templates/shared/agents/qa.md +1 -1
- package/lib/templates/shared/agents/sm.md +3 -3
- package/lib/templates/shared/memory/constitution.md +2 -2
- package/lib/templates/shared/templates/README.md +14 -14
- package/lib/templates/shared/templates/prd-template.md +1 -1
- package/lib/templates/shared/templates/spec-template.md +1 -1
- package/lib/utils/context-manager.js +11 -10
- package/lib/utils/framework-detector.js +5 -5
- package/lib/utils/project-detector.js +7 -7
- package/package.json +5 -5
|
@@ -123,7 +123,7 @@ ${validation || 'See PRP for validation criteria'}
|
|
|
123
123
|
|
|
124
124
|
---
|
|
125
125
|
|
|
126
|
-
*Generated by ADF CLI v${this.getADFVersion()} from
|
|
126
|
+
*Generated by ADF CLI v${this.getADFVersion()} from Rapid (Agent-Native) framework*
|
|
127
127
|
*This is a .cursor/rules file. The legacy .cursorrules file is deprecated.*
|
|
128
128
|
`;
|
|
129
129
|
}
|
|
@@ -201,7 +201,7 @@ ${this.extractSection(plan, 'Code Style') || this.extractSection(plan, 'Coding S
|
|
|
201
201
|
|
|
202
202
|
---
|
|
203
203
|
|
|
204
|
-
*Generated by ADF CLI v${this.getADFVersion()} from Balanced framework*
|
|
204
|
+
*Generated by ADF CLI v${this.getADFVersion()} from Balanced (OpenSpec) framework*
|
|
205
205
|
*This is a .cursor/rules file. The legacy .cursorrules file is deprecated.*
|
|
206
206
|
`;
|
|
207
207
|
}
|
|
@@ -288,7 +288,7 @@ ${this.extractSection(architecture, 'System Overview') || this.extractSection(ar
|
|
|
288
288
|
|
|
289
289
|
---
|
|
290
290
|
|
|
291
|
-
*Generated by ADF CLI v${this.getADFVersion()} from
|
|
291
|
+
*Generated by ADF CLI v${this.getADFVersion()} from Comprehensive (Agent-Native) framework*
|
|
292
292
|
*This is a .cursor/rules file. The legacy .cursorrules file is deprecated.*
|
|
293
293
|
`;
|
|
294
294
|
}
|
|
@@ -109,9 +109,9 @@ Each agent file contains role-specific instructions and context.
|
|
|
109
109
|
*/
|
|
110
110
|
getWorkflowDescription() {
|
|
111
111
|
const descriptions = {
|
|
112
|
-
'rapid': '
|
|
113
|
-
'balanced': 'Specification-driven development (
|
|
114
|
-
'comprehensive': 'Enterprise-grade with full
|
|
112
|
+
'rapid': 'Rapid Development (Agent-Native)',
|
|
113
|
+
'balanced': 'Specification-driven development (OpenSpec)',
|
|
114
|
+
'comprehensive': 'Enterprise-grade with full Agent-Native documentation'
|
|
115
115
|
};
|
|
116
116
|
return descriptions[this.framework] || 'Standard development workflow';
|
|
117
117
|
}
|
|
@@ -122,8 +122,8 @@ Each agent file contains role-specific instructions and context.
|
|
|
122
122
|
getFrameworkName() {
|
|
123
123
|
const names = {
|
|
124
124
|
'rapid': 'Rapid Development (PRP)',
|
|
125
|
-
'balanced': 'Balanced (
|
|
126
|
-
'comprehensive': '
|
|
125
|
+
'balanced': 'Balanced (OpenSpec)',
|
|
126
|
+
'comprehensive': 'Comprehensive (Agent-Native)'
|
|
127
127
|
};
|
|
128
128
|
return names[this.framework] || this.framework;
|
|
129
129
|
}
|
|
@@ -169,14 +169,14 @@ ${outputSummary ? `\n${outputSummary}` : ''}
|
|
|
169
169
|
- Focus on getting something working quickly
|
|
170
170
|
- Agents: Developer, QA`,
|
|
171
171
|
|
|
172
|
-
'balanced': `**Balanced (
|
|
172
|
+
'balanced': `**Balanced (OpenSpec)** - Specification-driven development
|
|
173
173
|
- Standard project approach with detailed specs
|
|
174
174
|
- ~30+ questions for comprehensive requirements
|
|
175
175
|
- Balance between speed and thoroughness
|
|
176
176
|
- Agents: Analyst, PM, Developer, QA`,
|
|
177
177
|
|
|
178
|
-
'comprehensive': `**
|
|
179
|
-
- Full
|
|
178
|
+
'comprehensive': `**Comprehensive (Agent-Native)** - Enterprise-grade development
|
|
179
|
+
- Full Agent-Native Architecture Documentation
|
|
180
180
|
- ~40+ questions for complete understanding
|
|
181
181
|
- Detailed planning and architectural decisions
|
|
182
182
|
- Agents: Analyst, PM, Architect, SM, Developer, QA`
|
|
@@ -219,8 +219,8 @@ ${outputSummary ? `\n${outputSummary}` : ''}
|
|
|
219
219
|
getFrameworkName() {
|
|
220
220
|
const names = {
|
|
221
221
|
'rapid': 'Rapid Development (PRP)',
|
|
222
|
-
'balanced': 'Balanced (
|
|
223
|
-
'comprehensive': '
|
|
222
|
+
'balanced': 'Balanced (OpenSpec)',
|
|
223
|
+
'comprehensive': 'Comprehensive (Agent-Native)'
|
|
224
224
|
};
|
|
225
225
|
return names[this.framework] || this.framework;
|
|
226
226
|
}
|
package/lib/generators/index.js
CHANGED
|
@@ -57,6 +57,21 @@ async function generateAll(sessionPath, projectPath, framework, options = {}) {
|
|
|
57
57
|
generated.vscode = vscodePaths;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
+
if (options.tool === 'kiro' || options.all) {
|
|
61
|
+
const kiro = new KiroGenerator(sessionPath, projectPath, framework);
|
|
62
|
+
await kiro.generate();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (options.tool === 'trae' || options.all) {
|
|
66
|
+
const trae = new TraeGenerator(sessionPath, projectPath, framework);
|
|
67
|
+
await trae.generate();
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (options.tool === 'codex-cli' || options.all) {
|
|
71
|
+
const codex = new CodexCLIGenerator(sessionPath, projectPath, framework);
|
|
72
|
+
await codex.generate();
|
|
73
|
+
}
|
|
74
|
+
|
|
60
75
|
return generated;
|
|
61
76
|
}
|
|
62
77
|
|
|
@@ -119,7 +119,7 @@ Full PRP: \`.adf/sessions/${this.getSessionId()}/outputs/prp.md\`
|
|
|
119
119
|
|
|
120
120
|
---
|
|
121
121
|
|
|
122
|
-
*Generated by ADF CLI v${this.getADFVersion()} from
|
|
122
|
+
*Generated by ADF CLI v${this.getADFVersion()} from Rapid (Agent-Native) framework*
|
|
123
123
|
`;
|
|
124
124
|
}
|
|
125
125
|
|
|
@@ -202,7 +202,7 @@ ${this.extractSection(plan, 'Testing') || '- Comprehensive test coverage\n- Unit
|
|
|
202
202
|
|
|
203
203
|
---
|
|
204
204
|
|
|
205
|
-
*Generated by ADF CLI v${this.getADFVersion()} from Balanced framework*
|
|
205
|
+
*Generated by ADF CLI v${this.getADFVersion()} from Balanced (OpenSpec) framework*
|
|
206
206
|
`;
|
|
207
207
|
}
|
|
208
208
|
|
|
@@ -289,7 +289,7 @@ ${this.extractSection(prd, 'Performance') || '- Optimize critical paths\n- Monit
|
|
|
289
289
|
|
|
290
290
|
---
|
|
291
291
|
|
|
292
|
-
*Generated by ADF CLI v${this.getADFVersion()} from
|
|
292
|
+
*Generated by ADF CLI v${this.getADFVersion()} from Comprehensive (Agent-Native) framework*
|
|
293
293
|
`;
|
|
294
294
|
}
|
|
295
295
|
|
|
@@ -89,7 +89,7 @@ ${sections['5._validation'] || sections['validation'] || 'See prp.md for validat
|
|
|
89
89
|
|
|
90
90
|
---
|
|
91
91
|
|
|
92
|
-
*Generated by ADF CLI v${this.getADFVersion()} from
|
|
92
|
+
*Generated by ADF CLI v${this.getADFVersion()} from Rapid (Agent-Native) framework*
|
|
93
93
|
`;
|
|
94
94
|
}
|
|
95
95
|
|
|
@@ -137,7 +137,7 @@ ${this.extractSection(specification, 'Architecture') || 'See specification.md'}
|
|
|
137
137
|
|
|
138
138
|
---
|
|
139
139
|
|
|
140
|
-
*Generated by ADF CLI v${this.getADFVersion()} from Balanced framework*
|
|
140
|
+
*Generated by ADF CLI v${this.getADFVersion()} from Balanced (OpenSpec) framework*
|
|
141
141
|
`;
|
|
142
142
|
}
|
|
143
143
|
|
|
@@ -180,7 +180,7 @@ ${this.extractSection(this.outputs.architecture || '', 'System Overview') || 'Se
|
|
|
180
180
|
|
|
181
181
|
---
|
|
182
182
|
|
|
183
|
-
*Generated by ADF CLI v${this.getADFVersion()} from
|
|
183
|
+
*Generated by ADF CLI v${this.getADFVersion()} from Comprehensive (Agent-Native) framework*
|
|
184
184
|
`;
|
|
185
185
|
}
|
|
186
186
|
|
|
@@ -235,19 +235,20 @@ class DocumentAnalyzer {
|
|
|
235
235
|
};
|
|
236
236
|
|
|
237
237
|
for (const doc of this.analysis.documents) {
|
|
238
|
-
// BMAD indicators
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
238
|
+
// Agent-Native (Legacy BMAD) indicators
|
|
239
|
+
if (doc.keywords.includes('bmad-method')) frameworkIndicators.bmad += 5;
|
|
240
|
+
if (doc.keywords.includes('agent-native')) frameworkIndicators.bmad += 5;
|
|
241
|
+
if (doc.keywords.includes('analyst-agent')) frameworkIndicators.bmad += 2;
|
|
242
|
+
if (doc.keywords.includes('pm-agent')) frameworkIndicators.bmad += 2;
|
|
243
|
+
if (doc.keywords.includes('architect-agent')) frameworkIndicators.bmad += 2;
|
|
244
|
+
if (doc.keywords.includes('sm-agent')) frameworkIndicators.bmad += 2;
|
|
245
|
+
if (doc.keywords.includes('qa-commands')) frameworkIndicators.bmad += 3;
|
|
246
|
+
if (doc.type === 'prd') frameworkIndicators.bmad += 1;
|
|
247
|
+
if (doc.type === 'story' && doc.size > 5000) frameworkIndicators.bmad += 2; // Large stories with context
|
|
248
|
+
|
|
249
|
+
// Specification-Driven (Legacy Spec-Kit) indicators
|
|
250
|
+
if (doc.keywords.includes('spec-kit')) frameworkIndicators.specKit += 5;
|
|
251
|
+
if (doc.keywords.includes('specification-driven')) frameworkIndicators.specKit += 5; if (doc.keywords.includes('constitutional')) frameworkIndicators.specKit += 3;
|
|
251
252
|
if (doc.type === 'constitution') frameworkIndicators.specKit += 4;
|
|
252
253
|
if (doc.type === 'spec') frameworkIndicators.specKit += 2;
|
|
253
254
|
if (doc.metadata.status && doc.metadata.status.match(/draft|review|approved/i)) frameworkIndicators.specKit += 1;
|
|
@@ -250,7 +250,7 @@ The implementation will:
|
|
|
250
250
|
4. Iterate until all validation passes
|
|
251
251
|
`;
|
|
252
252
|
|
|
253
|
-
//
|
|
253
|
+
// OpenSpec commands
|
|
254
254
|
commands['specify'] = `# /specify - Create Specification
|
|
255
255
|
|
|
256
256
|
**Description**: Create detailed feature specification
|
|
@@ -118,7 +118,7 @@ You are a Senior Full-Stack Developer focused on implementing features from deta
|
|
|
118
118
|
### Core Commands
|
|
119
119
|
|
|
120
120
|
```bash
|
|
121
|
-
/implement <story-id> # Implement a
|
|
121
|
+
/implement <story-id> # Implement a feature from requirements
|
|
122
122
|
/test # Run tests and analyze results
|
|
123
123
|
/review # Perform self-code-review
|
|
124
124
|
/commit # Create well-formatted commit
|
|
@@ -50,7 +50,7 @@ You are a Product Manager focused on creating comprehensive Product Requirements
|
|
|
50
50
|
|
|
51
51
|
## Primary Responsibilities
|
|
52
52
|
|
|
53
|
-
### 1. PRD Creation (Path A:
|
|
53
|
+
### 1. PRD Creation (Path A: Agent-Native)
|
|
54
54
|
|
|
55
55
|
**Create comprehensive Product Requirements Document**:
|
|
56
56
|
- Executive Summary
|
|
@@ -672,4 +672,4 @@ PRD complete. Ready for architect review.
|
|
|
672
672
|
|
|
673
673
|
**Agent Version**: 1.0.0
|
|
674
674
|
**Framework**: AgentDevFramework
|
|
675
|
-
**Methodology**:
|
|
675
|
+
**Methodology**: Agent-Native + Agile Best Practices
|
|
@@ -537,4 +537,4 @@ Recommendation: Implement rate limiting and CAPTCHA before beginning development
|
|
|
537
537
|
|
|
538
538
|
**Agent Version**: 1.0.0
|
|
539
539
|
**Framework**: AgentDevFramework
|
|
540
|
-
**Methodology**:
|
|
540
|
+
**Methodology**: Agent-Native + Risk-Based Testing Best Practices
|
|
@@ -67,7 +67,7 @@ You are Samira, a Scrum Master focused on creating implementation-ready stories
|
|
|
67
67
|
|
|
68
68
|
## Story Creation Workflow
|
|
69
69
|
|
|
70
|
-
### 1. Context Gathering (Path A:
|
|
70
|
+
### 1. Context Gathering (Path A: Agent-Native)
|
|
71
71
|
|
|
72
72
|
```
|
|
73
73
|
1. Read Planning Phase Outputs
|
|
@@ -77,7 +77,7 @@ You are Samira, a Scrum Master focused on creating implementation-ready stories
|
|
|
77
77
|
- Related stories
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
-
### 2. Task Breakdown (
|
|
80
|
+
### 2. Task Breakdown (Level 2: Balanced (OpenSpec))
|
|
81
81
|
|
|
82
82
|
```
|
|
83
83
|
1. Read Change Context
|
|
@@ -785,4 +785,4 @@ Would you like me to:
|
|
|
785
785
|
|
|
786
786
|
**Agent Version**: 1.0.0
|
|
787
787
|
**Framework**: AgentDevFramework
|
|
788
|
-
**Methodology**:
|
|
788
|
+
**Methodology**: Agent-Native + Agile Best Practices
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Development Constitution
|
|
2
2
|
|
|
3
|
-
This document defines the immutable principles governing all development in this project. These principles synthesize best practices from
|
|
3
|
+
This document defines the immutable principles governing all development in this project. These principles synthesize best practices from Agent-Native and OpenSpec methodologies.
|
|
4
4
|
|
|
5
5
|
## Article 1: Specification-First Development
|
|
6
6
|
|
|
@@ -287,6 +287,6 @@ This constitution is enforced through:
|
|
|
287
287
|
|
|
288
288
|
**Version**: 1.0.0
|
|
289
289
|
**Last Updated**: 2025-01-XX
|
|
290
|
-
**Source**: Synthesized from
|
|
290
|
+
**Source**: Synthesized from Agent-Native and OpenSpec methodologies
|
|
291
291
|
|
|
292
292
|
**Living Document**: This constitution evolves with project needs while maintaining core principles.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Template Library
|
|
2
2
|
|
|
3
|
-
This directory contains all templates for the AgentDevFramework, synthesizing best practices from
|
|
3
|
+
This directory contains all templates for the AgentDevFramework, synthesizing best practices from Agent-Native and OpenSpec methodologies.
|
|
4
4
|
|
|
5
5
|
## Template Categories
|
|
6
6
|
|
|
7
|
-
###
|
|
7
|
+
### Rapid (Agent-Native) Templates
|
|
8
8
|
|
|
9
9
|
**Philosophy**: One-pass implementation success through comprehensive context and validation
|
|
10
10
|
|
|
@@ -50,7 +50,7 @@ This directory contains all templates for the AgentDevFramework, synthesizing be
|
|
|
50
50
|
- **Complexity**: Low-Medium
|
|
51
51
|
- **Best For**: Quick feature implementation with validation
|
|
52
52
|
|
|
53
|
-
###
|
|
53
|
+
### Comprehensive (Agent-Native) Templates
|
|
54
54
|
|
|
55
55
|
#### `prd-template.md` - Product Requirements Document
|
|
56
56
|
- **Use For**: Comprehensive product requirements
|
|
@@ -64,7 +64,7 @@ This directory contains all templates for the AgentDevFramework, synthesizing be
|
|
|
64
64
|
- **Best For**: Story-driven development, team handoffs
|
|
65
65
|
- **Includes**: Context, acceptance criteria, technical approach, validation
|
|
66
66
|
|
|
67
|
-
###
|
|
67
|
+
### OpenSpec Templates
|
|
68
68
|
|
|
69
69
|
#### `spec-template.md` - Formal Specification
|
|
70
70
|
- **Use For**: Detailed specifications with validation checkpoints
|
|
@@ -88,13 +88,13 @@ This directory contains all templates for the AgentDevFramework, synthesizing be
|
|
|
88
88
|
|
|
89
89
|
| Template | Workflow Level | Use Case | Time | Validation | Complexity |
|
|
90
90
|
|----------|---------------|----------|------|------------|-----------|
|
|
91
|
-
| **prp_task.md** | Level 1 (Rapid) | Sprint tasks, bug fixes | 5-10 min | Inline | Low |
|
|
92
|
-
| **prp-template.md** | Level 1 (Rapid) | Quick features | 10-20 min | Basic | Low-Med |
|
|
91
|
+
| **prp_task.md** | Level 1 (Rapid (Agent-Native)) | Sprint tasks, bug fixes | 5-10 min | Inline | Low |
|
|
92
|
+
| **prp-template.md** | Level 1 (Rapid (Agent-Native)) | Quick features | 10-20 min | Basic | Low-Med |
|
|
93
93
|
| **prp_spec.md** | Level 1-2 | Rapid prototyping | 20-30 min | L1-L2 | Medium |
|
|
94
|
-
| **prp_base.md** | Level 2 (Balanced) | Feature implementation | 30-45 min | 4-level | Med-High |
|
|
95
|
-
| **spec-template.md** | Level 2 (Balanced) | Formal specifications | 30-60 min | Gates | Medium |
|
|
96
|
-
| **prp_planning.md** | Level 3 (Comprehensive) | PRD with diagrams | 1-2 hours | Pre-impl | High |
|
|
97
|
-
| **prd-template.md** | Level 3 (Comprehensive) | Product requirements | 1-2 hours | - | High |
|
|
94
|
+
| **prp_base.md** | Level 2 (Balanced (OpenSpec)) | Feature implementation | 30-45 min | 4-level | Med-High |
|
|
95
|
+
| **spec-template.md** | Level 2 (Balanced (OpenSpec)) | Formal specifications | 30-60 min | Gates | Medium |
|
|
96
|
+
| **prp_planning.md** | Level 3 (Comprehensive (Agent-Native)) | PRD with diagrams | 1-2 hours | Pre-impl | High |
|
|
97
|
+
| **prd-template.md** | Level 3 (Comprehensive (Agent-Native)) | Product requirements | 1-2 hours | - | High |
|
|
98
98
|
| **story-template.md** | Level 2-3 | Story-driven dev | 30-60 min | Context | Medium |
|
|
99
99
|
|
|
100
100
|
## 4-Level Validation System (From PRPs)
|
|
@@ -171,20 +171,20 @@ bandit -r src/
|
|
|
171
171
|
|
|
172
172
|
## Template Usage by Workflow
|
|
173
173
|
|
|
174
|
-
### Level 1: Rapid
|
|
174
|
+
### Level 1: Rapid (Agent-Native)
|
|
175
175
|
**Templates**: prp_task.md, prp-template.md
|
|
176
176
|
**Time**: 5-20 minutes upfront
|
|
177
177
|
**Best For**: Sprint tasks, bug fixes, solo dev
|
|
178
178
|
|
|
179
|
-
### Level 2:
|
|
179
|
+
### Level 2: Balanced (OpenSpec)
|
|
180
180
|
**Templates**: prp_base.md, prp_spec.md, spec-template.md
|
|
181
181
|
**Time**: 30-60 minutes upfront
|
|
182
182
|
**Best For**: New features, clear scope, teams
|
|
183
183
|
|
|
184
|
-
### Level 3:
|
|
184
|
+
### Level 3: Comprehensive (Agent-Native)
|
|
185
185
|
**Templates**: prp_planning.md, prd-template.md, story-template.md
|
|
186
186
|
**Time**: 1-4 hours upfront
|
|
187
|
-
**Best For**: Complex projects, enterprise,
|
|
187
|
+
**Best For**: Complex projects, enterprise, iterative strategic orchestration
|
|
188
188
|
|
|
189
189
|
## Related Documentation
|
|
190
190
|
|
|
@@ -847,5 +847,5 @@ interface ComponentProps {
|
|
|
847
847
|
|
|
848
848
|
**Framework**: AgentDevFramework-Claude
|
|
849
849
|
**Template Version**: 1.0.0
|
|
850
|
-
**Methodology**:
|
|
850
|
+
**Methodology**: OpenSpec + Constitutional Governance
|
|
851
851
|
**Workflow**: Constitution → Specify → Clarify → Plan → Tasks → Implement
|
|
@@ -92,7 +92,7 @@ For more information, see: AGENTS.md
|
|
|
92
92
|
} else if (framework === 'balanced') {
|
|
93
93
|
content = await this.generateArchitectureFromBalanced(sessionPath);
|
|
94
94
|
} else if (framework === 'comprehensive') {
|
|
95
|
-
content = await this.
|
|
95
|
+
content = await this.generateArchitectureFromComprehensive(sessionPath);
|
|
96
96
|
} else {
|
|
97
97
|
throw new Error(`Unknown framework: ${framework}`);
|
|
98
98
|
}
|
|
@@ -120,7 +120,7 @@ For more information, see: AGENTS.md
|
|
|
120
120
|
|
|
121
121
|
return `# System Architecture
|
|
122
122
|
|
|
123
|
-
**Framework:** Rapid
|
|
123
|
+
**Framework:** Rapid (Agent-Native)
|
|
124
124
|
**Generated:** ${new Date().toISOString()}
|
|
125
125
|
|
|
126
126
|
## Overview
|
|
@@ -250,9 +250,10 @@ See plan.md for deployment strategy and infrastructure requirements.
|
|
|
250
250
|
}
|
|
251
251
|
|
|
252
252
|
/**
|
|
253
|
-
* Generate architecture.md from
|
|
253
|
+
* Generate architecture.md from Comprehensive (Agent-Native) outputs
|
|
254
254
|
*/
|
|
255
|
-
async
|
|
255
|
+
async generateArchitectureFromComprehensive(sessionPath) {
|
|
256
|
+
// Comprehensive framework already has architecture.md, so copy it
|
|
256
257
|
const archPath = path.join(sessionPath, 'outputs', 'architecture.md');
|
|
257
258
|
const prdPath = path.join(sessionPath, 'outputs', 'prd.md');
|
|
258
259
|
|
|
@@ -269,7 +270,7 @@ See plan.md for deployment strategy and infrastructure requirements.
|
|
|
269
270
|
|
|
270
271
|
return `# System Architecture
|
|
271
272
|
|
|
272
|
-
**Framework:**
|
|
273
|
+
**Framework:** Comprehensive (Agent-Native)
|
|
273
274
|
**Generated:** ${new Date().toISOString()}
|
|
274
275
|
|
|
275
276
|
## Enterprise Architecture Overview
|
|
@@ -472,12 +473,12 @@ To be documented as architectural decisions are made.
|
|
|
472
473
|
* Get framework display name
|
|
473
474
|
*/
|
|
474
475
|
getFrameworkName(framework) {
|
|
475
|
-
const
|
|
476
|
-
'rapid': 'Rapid
|
|
477
|
-
'balanced': 'Balanced (
|
|
478
|
-
'comprehensive': '
|
|
476
|
+
const frameworkMap = {
|
|
477
|
+
'rapid': 'Rapid (Agent-Native)',
|
|
478
|
+
'balanced': 'Balanced (OpenSpec)',
|
|
479
|
+
'comprehensive': 'Comprehensive (Agent-Native)'
|
|
479
480
|
};
|
|
480
|
-
return
|
|
481
|
+
return frameworkMap[framework] || framework;
|
|
481
482
|
}
|
|
482
483
|
}
|
|
483
484
|
|
|
@@ -9,7 +9,7 @@ class FrameworkDetector {
|
|
|
9
9
|
/**
|
|
10
10
|
* Detects which frameworks are present in the given project directory.
|
|
11
11
|
* @param {string} projectDir - The project directory to scan.
|
|
12
|
-
* @returns {Promise<string[]>} Array of detected framework IDs ('adf', '
|
|
12
|
+
* @returns {Promise<string[]>} Array of detected framework IDs ('adf', 'agent-native', 'openspec', 'specification-driven').
|
|
13
13
|
*/
|
|
14
14
|
static async detect(projectDir) {
|
|
15
15
|
const detected = [];
|
|
@@ -19,14 +19,14 @@ class FrameworkDetector {
|
|
|
19
19
|
detected.push('adf');
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
// 2. Detect BMAD
|
|
22
|
+
// 2. Detect Agent-Native (Legacy BMAD)
|
|
23
23
|
// Indicators: docs/prd, docs/architecture, stories/
|
|
24
24
|
if (
|
|
25
25
|
await fs.pathExists(path.join(projectDir, 'docs/prd')) ||
|
|
26
26
|
await fs.pathExists(path.join(projectDir, 'docs/architecture')) ||
|
|
27
27
|
await fs.pathExists(path.join(projectDir, 'stories'))
|
|
28
28
|
) {
|
|
29
|
-
detected.push('
|
|
29
|
+
detected.push('agent-native');
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
// 3. Detect OpenSpec
|
|
@@ -38,13 +38,13 @@ class FrameworkDetector {
|
|
|
38
38
|
detected.push('openspec');
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
// 4. Detect Spec-Kit
|
|
41
|
+
// 4. Detect Specification-Driven (Legacy Spec-Kit)
|
|
42
42
|
// Indicators: constitution.md, specification.md
|
|
43
43
|
if (
|
|
44
44
|
await fs.pathExists(path.join(projectDir, 'constitution.md')) ||
|
|
45
45
|
await fs.pathExists(path.join(projectDir, 'specification.md'))
|
|
46
46
|
) {
|
|
47
|
-
detected.push('
|
|
47
|
+
detected.push('specification-driven');
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
return detected;
|
|
@@ -124,16 +124,16 @@ async function getWorkflowRecommendation(projectType) {
|
|
|
124
124
|
|
|
125
125
|
const workflows = {
|
|
126
126
|
rapid: {
|
|
127
|
-
name: 'Level 1: Rapid
|
|
127
|
+
name: 'Level 1: Rapid (Agent-Native)',
|
|
128
128
|
description: '5-15 min planning, fast execution, TDD with 4-level validation'
|
|
129
129
|
},
|
|
130
130
|
balanced: {
|
|
131
|
-
name: 'Level 2:
|
|
132
|
-
description: '30-60 min planning,
|
|
131
|
+
name: 'Level 2: Balanced (OpenSpec)',
|
|
132
|
+
description: '30-60 min planning, iterative spec deltas, team coordination'
|
|
133
133
|
},
|
|
134
134
|
comprehensive: {
|
|
135
|
-
name: 'Level 3:
|
|
136
|
-
description: '1-2 hour planning, full
|
|
135
|
+
name: 'Level 3: Comprehensive (Agent-Native)',
|
|
136
|
+
description: '1-2 hour planning, full agent orchestration, all 6 agents, strategic'
|
|
137
137
|
}
|
|
138
138
|
};
|
|
139
139
|
|
|
@@ -181,8 +181,8 @@ function generateContextFile(data) {
|
|
|
181
181
|
agents: getAgentsForWorkflow(data.workflow),
|
|
182
182
|
templates: {
|
|
183
183
|
prp: getTemplatesForWorkflow(data.workflow),
|
|
184
|
-
|
|
185
|
-
|
|
184
|
+
comprehensive: data.workflow !== 'rapid',
|
|
185
|
+
specification: data.workflow !== 'rapid'
|
|
186
186
|
}
|
|
187
187
|
};
|
|
188
188
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iservu-inc/adf-cli",
|
|
3
|
-
"version": "0.14.
|
|
4
|
-
"description": "CLI tool for AgentDevFramework -
|
|
3
|
+
"version": "0.14.3",
|
|
4
|
+
"description": "CLI tool for AgentDevFramework - Agent-Native development framework with multi-provider AI support",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"adf": "bin/adf.js"
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"ai",
|
|
19
19
|
"development",
|
|
20
20
|
"agent",
|
|
21
|
-
"
|
|
22
|
-
"
|
|
21
|
+
"openspec",
|
|
22
|
+
"agent-native",
|
|
23
23
|
"context-engineering",
|
|
24
24
|
"prp",
|
|
25
25
|
"agentic",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"license": "MIT",
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@anthropic-ai/sdk": "^0.65.0",
|
|
46
|
-
"@google/
|
|
46
|
+
"@google/genai": "^1.35.0",
|
|
47
47
|
"chalk": "^4.1.2",
|
|
48
48
|
"commander": "^11.1.0",
|
|
49
49
|
"dotenv": "^17.2.3",
|