@iservu-inc/adf-cli 0.2.0 → 0.3.6

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 (33) hide show
  1. package/.project/chats/complete/2025-10-03_AGENTS-MD-AND-TOOL-GENERATORS.md +764 -0
  2. package/.project/chats/current/2025-10-03_AI-PROVIDER-INTEGRATION.md +569 -0
  3. package/.project/chats/current/2025-10-03_FRAMEWORK-UPDATE-SYSTEM.md +497 -0
  4. package/.project/chats/current/SESSION-STATUS.md +127 -0
  5. package/.project/docs/AI-PROVIDER-INTEGRATION.md +600 -0
  6. package/.project/docs/FRAMEWORK-UPDATE-INTEGRATION.md +421 -0
  7. package/.project/docs/FRAMEWORK-UPDATE-SYSTEM.md +832 -0
  8. package/.project/docs/PROJECT-STRUCTURE-EXPLANATION.md +500 -0
  9. package/.project/docs/architecture/SYSTEM-DESIGN.md +122 -1
  10. package/.project/docs/goals/PROJECT-VISION.md +33 -28
  11. package/.project/docs/tool-integrations/RESEARCH-FINDINGS.md +828 -0
  12. package/CHANGELOG.md +325 -0
  13. package/README.md +100 -11
  14. package/bin/adf.js +7 -0
  15. package/lib/ai/ai-client.js +328 -0
  16. package/lib/ai/ai-config.js +398 -0
  17. package/lib/commands/config.js +154 -0
  18. package/lib/commands/deploy.js +122 -3
  19. package/lib/commands/init.js +56 -10
  20. package/lib/frameworks/interviewer.js +89 -11
  21. package/lib/frameworks/progress-tracker.js +8 -1
  22. package/lib/generators/agents-md-generator.js +388 -0
  23. package/lib/generators/cursor-generator.js +374 -0
  24. package/lib/generators/index.js +98 -0
  25. package/lib/generators/tool-config-generator.js +188 -0
  26. package/lib/generators/vscode-generator.js +403 -0
  27. package/lib/generators/windsurf-generator.js +596 -0
  28. package/package.json +15 -3
  29. package/tests/agents-md-generator.test.js +245 -0
  30. package/tests/cursor-generator.test.js +326 -0
  31. package/tests/vscode-generator.test.js +436 -0
  32. package/tests/windsurf-generator.test.js +320 -0
  33. /package/.project/chats/{current → complete}/2025-10-03_ADF-CLI-QUALITY-BASED-PROGRESS-AND-RESUME.md +0 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,331 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.3.6] - 2025-10-04
11
+
12
+ ### ⚙️ New Configuration Command
13
+
14
+ **New `adf config` command:**
15
+ - Centralized configuration management with category-based menu
16
+ - **AI Provider Setup** as first configuration category
17
+ - Green ✓ status indicators for configured items
18
+ - Yellow ○ indicators for unconfigured items
19
+ - Shows current provider name when already configured
20
+ - Easy reconfiguration - run anytime to switch providers or models
21
+ - Extensible design for future configuration categories
22
+
23
+ **AI Configuration Made Optional:**
24
+ - AI configuration now optional during `adf init`
25
+ - Prompt: "Configure AI provider now? (Enables intelligent follow-up questions)"
26
+ - Can skip and configure later with `adf config`
27
+ - Helpful reminder: "💡 You can configure AI later by running: adf config"
28
+ - Interview works with or without AI (graceful degradation)
29
+
30
+ ### 🎯 UX Improvements
31
+
32
+ **User Experience Enhancements:**
33
+ - Added visible "skip" instruction hint to every question
34
+ - Displays `(Type "skip" to skip remaining questions in this block)` below each question
35
+ - Prevents user frustration by making escape route obvious
36
+ - Users no longer need to guess how to skip questions
37
+
38
+ - Improved deployment messaging for clarity
39
+ - Changed confusing "Next Steps" to clear "Requirements Complete!"
40
+ - New prompt: "Automatically deploy to your IDE? (I'll configure everything for you)"
41
+ - Default changed to Yes to encourage automation
42
+ - Removed misleading manual steps that made deployment seem manual
43
+ - Emphasizes that adf-cli does ALL the work automatically
44
+
45
+ **Impact:**
46
+ - More flexible configuration workflow
47
+ - Better user guidance throughout interview process
48
+ - Clearer expectations about automated deployment
49
+ - Reduced confusion and frustration
50
+
51
+ ## [0.3.5] - 2025-10-04
52
+
53
+ ### 🔧 Enhanced AI Configuration
54
+
55
+ **API Key Persistence (.env):**
56
+ - API keys now saved to `.adf/.env` file (project-local, gitignored)
57
+ - Automatic loading on subsequent runs
58
+ - No need to set environment variables manually
59
+ - Multiple provider keys supported in same file
60
+ - Secure storage with clear warnings
61
+
62
+ **Dynamic Model Fetching:**
63
+ - **OpenAI**: Fetches real models from your account API
64
+ - **OpenRouter**: Fetches 100+ available models dynamically
65
+ - **Anthropic/Google**: Uses curated default models
66
+ - Graceful fallback to defaults if API call fails
67
+
68
+ **Autocomplete Model Selection:**
69
+ - Type to filter models in real-time (e.g., type "gpt-4" to see only GPT-4 models)
70
+ - Arrow keys navigate filtered results
71
+ - Shows 10 models at a time for easy browsing
72
+ - Enter to select highlighted model
73
+
74
+ **New Dependencies:**
75
+ - `inquirer-autocomplete-prompt@2.0.1` - Autocomplete functionality
76
+ - `dotenv@17.2.3` - .env file management
77
+ - `node-fetch@2.7.0` - API calls for model fetching
78
+
79
+ **User Experience:**
80
+ ```
81
+ First time:
82
+ ? Enter your API key: [hidden]
83
+ ✓ API key saved to: .adf/.env
84
+ ⠹ Fetching available models...
85
+ ? Select model (type to filter): |
86
+
87
+ Next time (same project):
88
+ ✓ Detected API keys for: Anthropic Claude
89
+ ✓ Using API key from .env file
90
+ ```
91
+
92
+ ## [0.3.4] - 2025-10-04
93
+
94
+ ### 🤖 Multi-Provider AI Integration
95
+
96
+ **Major Enhancement: 4 AI Provider Support**
97
+
98
+ This is a **paradigm shift** - AI connectivity is now **REQUIRED** before the interview starts, enabling real-time answer analysis and intelligent follow-ups.
99
+
100
+ **Supported Providers:**
101
+ - **Anthropic Claude** (Sonnet 4.5, Claude 3.5, Opus)
102
+ - **OpenAI GPT** (GPT-4-turbo, GPT-4o, GPT-4, GPT-3.5-turbo)
103
+ - **Google Gemini** (2.0-flash-exp, 1.5-pro, 1.5-flash)
104
+ - **OpenRouter** (Multi-model access to 100+ models)
105
+
106
+ **AI-Powered Features:**
107
+
108
+ 1. **Real-Time Answer Quality Analysis**
109
+ - AI evaluates every answer for specificity, completeness, clarity, technical depth
110
+ - Provides 0-100 quality score instantly
111
+ - Shows suggestions for improvement
112
+ - Identifies missing elements
113
+
114
+ 2. **Intelligent Follow-Up Questions**
115
+ - AI generates contextual follow-ups based on answer quality
116
+ - Questions are specific to what's missing, not generic
117
+ - Adapts to user's knowledge level and project context
118
+ - Fallback to heuristic follow-ups if AI unavailable
119
+
120
+ 3. **Provider Configuration Wizard**
121
+ - Interactive provider selection
122
+ - API key validation with format checking
123
+ - Model selection per provider
124
+ - Connection testing before interview starts
125
+ - Secure API key handling (never committed)
126
+
127
+ **New Files:**
128
+ - `lib/ai/ai-config.js` - Provider configuration and setup
129
+ - `lib/ai/ai-client.js` - Unified AI client for all providers
130
+
131
+ **New Dependencies:**
132
+ - `@anthropic-ai/sdk@0.32.0` - Anthropic Claude support
133
+ - `@google/generative-ai@0.21.0` - Google Gemini support
134
+ - `openai@4.73.0` - OpenAI GPT support
135
+
136
+ **Interview Flow Changes:**
137
+ ```
138
+ OLD:
139
+ 1. Detect project type
140
+ 2. Select framework
141
+ 3. Start interview
142
+
143
+ NEW:
144
+ 1. Detect project type
145
+ 2. Select framework
146
+ 3. Configure AI Provider (REQUIRED)
147
+ - Select provider
148
+ - Enter API key
149
+ - Test connection
150
+ 4. Start AI-guided interview with real-time analysis
151
+ ```
152
+
153
+ **Graceful Degradation:**
154
+ - If AI analysis fails, automatically falls back to heuristic scoring
155
+ - Interview never blocked by AI issues
156
+ - Clear error messages with troubleshooting guidance
157
+
158
+ ## [0.3.0] - 2025-10-03
159
+
160
+ ### 🚀 MAJOR RELEASE: Tool Configuration Generators
161
+
162
+ This release adds comprehensive tool configuration generation for all major AI coding environments. The ADF CLI now automatically generates optimized configurations for Windsurf, Cursor, VS Code, and the universal AGENTS.md standard.
163
+
164
+ ### Added
165
+
166
+ **Universal Standard:**
167
+ - **AGENTS.md Generator** - Universal AI agent configuration standard
168
+ - Works with OpenAI Codex, Cursor, Windsurf, Google Gemini/Jules, Factory
169
+ - Supported by 20,000+ open-source projects
170
+ - Automatically generated from framework outputs (PRP, Balanced, BMAD)
171
+ - Nested file support for monorepos
172
+
173
+ **Windsurf (Codeium) Generator:**
174
+ - `.windsurfrules` - Legacy format with 12,000 character limit compliance
175
+ - `.windsurf/rules/` - Modern modular rules system
176
+ - `project-context.md` - Project overview and tech stack
177
+ - `architecture.md` - System architecture patterns
178
+ - `coding-standards.md` - Code style and best practices
179
+ - `.windsurf/workflows/` - Cascade AI workflows
180
+ - `review-requirements.md` - Requirements review workflow
181
+ - `implement-feature.md` - Feature implementation workflow (Balanced/BMAD)
182
+
183
+ **Cursor AI Generator:**
184
+ - `.cursor/rules` - Modern primary configuration format
185
+ - `.cursorrules` - Legacy deprecation notice with migration path
186
+ - `.cursor/mcp.json` - Model Context Protocol support (optional, prepared for future)
187
+ - Custom modes: architect, implementer, reviewer
188
+ - Framework-specific context and instructions
189
+
190
+ **VS Code Generator:**
191
+ - `.github/copilot-instructions.md` - GitHub Copilot instructions
192
+ - `.vscode/settings.json` - Custom chat modes
193
+ - Architect mode - Focus on system design
194
+ - Implementer mode - Feature implementation with TDD
195
+ - Reviewer mode - Code review against requirements
196
+ - Preserves existing settings while adding chat modes
197
+ - Language Model API integration ready
198
+
199
+ **Base Architecture:**
200
+ - `ToolConfigGenerator` - Base class with shared utilities
201
+ - Framework output loading (PRP, Balanced, BMAD)
202
+ - Section extraction and parsing
203
+ - Template variable substitution
204
+ - Project metadata detection
205
+
206
+ **Integration:**
207
+ - Enhanced `adf deploy` command to generate all configurations
208
+ - `adf deploy windsurf` - Generates Windsurf configs + AGENTS.md
209
+ - `adf deploy cursor` - Generates Cursor configs + AGENTS.md
210
+ - `adf deploy vscode` - Generates VS Code configs + AGENTS.md
211
+ - AGENTS.md always generated (universal standard)
212
+ - Automatic session detection and framework identification
213
+ - Error recovery with warning messages
214
+
215
+ **Comprehensive Testing:**
216
+ - 24 new unit tests for generators (57 total tests)
217
+ - Test coverage maintained at 78%
218
+ - Tests for all 3 frameworks (PRP, Balanced, BMAD)
219
+ - Tests for all 3 tool generators
220
+ - Template variable substitution tests
221
+ - File preservation tests (VS Code settings)
222
+
223
+ ### New Files
224
+
225
+ **Generators:**
226
+ - `lib/generators/tool-config-generator.js` - Base class for all generators
227
+ - `lib/generators/agents-md-generator.js` - Universal AGENTS.md standard
228
+ - `lib/generators/windsurf-generator.js` - Windsurf configuration generator
229
+ - `lib/generators/cursor-generator.js` - Cursor configuration generator
230
+ - `lib/generators/vscode-generator.js` - VS Code configuration generator
231
+ - `lib/generators/index.js` - Generator exports and unified API
232
+
233
+ **Tests:**
234
+ - `tests/agents-md-generator.test.js` - 5 tests for AGENTS.md
235
+ - `tests/windsurf-generator.test.js` - 7 tests for Windsurf
236
+ - `tests/cursor-generator.test.js` - 6 tests for Cursor
237
+ - `tests/vscode-generator.test.js` - 6 tests for VS Code
238
+
239
+ **Documentation:**
240
+ - `.project/docs/tool-integrations/RESEARCH-FINDINGS.md` - 500+ line research document
241
+ - `.project/docs/tool-integrations/IDE-CUSTOMIZATIONS.md` - Tool customization guide
242
+ - `.project/chats/current/2025-10-03_AGENTS-MD-AND-TOOL-GENERATORS.md` - Session documentation
243
+
244
+ ### Changed
245
+
246
+ **Deploy Command:**
247
+ - Enhanced to call tool-specific generators based on selected tool
248
+ - Added progress messages for each generation phase
249
+ - Improved error handling with graceful fallbacks
250
+ - Displays generated file counts and paths
251
+
252
+ **Framework Support:**
253
+ - All generators support PRP (Rapid) framework
254
+ - All generators support Balanced framework
255
+ - All generators support BMAD (Comprehensive) framework
256
+ - Automatic framework detection from session metadata
257
+
258
+ ### Generated File Structure
259
+
260
+ When running `adf deploy <tool>`, the following files are created:
261
+
262
+ **Always Generated:**
263
+ ```
264
+ AGENTS.md # Universal standard
265
+ ```
266
+
267
+ **Windsurf:**
268
+ ```
269
+ .windsurfrules # Legacy format
270
+ .windsurf/
271
+ ├── rules/
272
+ │ ├── project-context.md
273
+ │ ├── architecture.md
274
+ │ └── coding-standards.md
275
+ └── workflows/
276
+ ├── review-requirements.md
277
+ └── implement-feature.md # Balanced/BMAD only
278
+ ```
279
+
280
+ **Cursor:**
281
+ ```
282
+ .cursor/
283
+ ├── rules # Primary config
284
+ └── mcp.json # Optional (prepared)
285
+ .cursorrules # Deprecation notice
286
+ ```
287
+
288
+ **VS Code:**
289
+ ```
290
+ .github/
291
+ └── copilot-instructions.md # GitHub Copilot
292
+ .vscode/
293
+ └── settings.json # Custom chat modes
294
+ ```
295
+
296
+ ### Technical Details
297
+
298
+ **Template Variables:**
299
+ - `PROJECT_NAME` - Project name from metadata
300
+ - `SESSION_ID` - Unique session identifier
301
+ - `FRAMEWORK` - rapid/balanced/comprehensive
302
+ - Framework-specific variables (PRP_GOAL, CONSTITUTION_PRINCIPLES, PRD_OVERVIEW, etc.)
303
+ - Automatic tech stack extraction
304
+ - Code style and testing approach detection
305
+
306
+ **Character Limits:**
307
+ - Windsurf rules: 12,000 characters per file (enforced via file splitting)
308
+ - Other tools: No enforced limits
309
+
310
+ **Context Awareness:**
311
+ - Architect mode: References architecture and specification
312
+ - Implementer mode: References implementation details and tasks
313
+ - Reviewer mode: References constitution and quality standards
314
+ - All modes: Full access to framework outputs via file paths
315
+
316
+ ### Breaking Changes
317
+
318
+ None - fully backward compatible with v0.2.x
319
+
320
+ ### Migration Guide
321
+
322
+ Existing projects can immediately benefit from the new generators:
323
+
324
+ 1. Run `adf deploy <tool>` in your project directory
325
+ 2. Configurations will be generated from existing `.adf/sessions/` data
326
+ 3. All tools will recognize and use the new configurations
327
+ 4. No manual migration needed
328
+
329
+ ### Next Steps
330
+
331
+ - **Phase 3**: Enhanced MCP integration for all tools
332
+ - **Phase 4**: Live project monitoring and real-time updates
333
+ - **Phase 5**: Multi-framework project support
334
+
10
335
  ## [0.2.0] - 2025-10-03
11
336
 
12
337
  ### 🚀 MAJOR RELEASE: Quality-Based Progress Tracking & Resume Capability
package/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # @iservu-inc/adf-cli
2
2
 
3
- CLI tool for AgentDevFramework - AI-assisted development framework.
3
+ CLI tool for AgentDevFramework - AI-assisted development framework with multi-provider AI support.
4
+
5
+ Transform your development workflow with AI-guided requirements gathering using Anthropic Claude, OpenAI GPT, Google Gemini, or OpenRouter.
4
6
 
5
7
  ## Installation
6
8
 
@@ -27,11 +29,12 @@ adf init
27
29
  ```
28
30
 
29
31
  The interactive init process will:
30
- 1. Detect if this is a new or existing project
31
- 2. Ask questions to recommend the best workflow level
32
- 3. Optionally collect documentation URLs (e.g., API docs, design docs)
33
- 4. Optionally collect local documentation file paths (e.g., `./docs/`, `./README.md`)
34
- 5. Offer to deploy to your preferred development tool
32
+ 1. Optionally configure AI Provider (or use `adf config` later)
33
+ 2. Detect if this is a new or existing project
34
+ 3. Ask AI-guided questions to gather requirements
35
+ 4. Optionally collect documentation URLs (e.g., API docs, design docs)
36
+ 5. Optionally collect local documentation file paths (e.g., `./docs/`, `./README.md`)
37
+ 6. Automatically deploy to your preferred development tool
35
38
 
36
39
  #### Workflow Selection Options
37
40
 
@@ -57,6 +60,24 @@ adf init --tool windsurf
57
60
  adf init --rapid --tool cursor
58
61
  ```
59
62
 
63
+ ### Configure ADF Settings
64
+
65
+ Configure ADF settings like AI provider, project preferences, and more:
66
+
67
+ ```bash
68
+ adf config
69
+ ```
70
+
71
+ This command provides an interactive menu with:
72
+ - **AI Provider Setup** - Configure Anthropic, OpenAI, Google Gemini, or OpenRouter
73
+ - Status indicators showing what's configured (green ✓) or not (yellow ○)
74
+ - Future configuration options (coming soon)
75
+
76
+ You can run `adf config` anytime to:
77
+ - Configure AI for the first time
78
+ - Switch AI providers or models
79
+ - Update your API keys
80
+
60
81
  ### Deploy to Development Tool
61
82
 
62
83
  Deploy framework configuration to your development tool:
@@ -109,6 +130,70 @@ adf --version
109
130
  adf -v
110
131
  ```
111
132
 
133
+ ## AI Provider Configuration
134
+
135
+ ADF CLI requires an AI provider to guide you through requirements gathering with intelligent follow-up questions and answer quality analysis.
136
+
137
+ ### Supported AI Providers
138
+
139
+ - **Anthropic Claude** (Claude 3.5 Sonnet, Claude 3 Opus, etc.)
140
+ - **OpenAI** (GPT-4, GPT-4 Turbo, GPT-3.5 Turbo, etc.)
141
+ - **Google Gemini** (Gemini 1.5 Pro, Gemini 1.5 Flash, etc.)
142
+ - **OpenRouter** (Access to 100+ models from multiple providers)
143
+
144
+ ### API Key Setup
145
+
146
+ Configure your AI provider using the config command:
147
+
148
+ ```bash
149
+ adf config
150
+ ```
151
+
152
+ Then select "AI Provider Setup" to:
153
+
154
+ 1. **Select your AI provider** from the list above
155
+ 2. **Enter your API key** (securely saved to `.adf/.env`)
156
+ 3. **Choose a model** with type-to-filter autocomplete
157
+
158
+ Your API key is stored locally in `.adf/.env` and never leaves your machine.
159
+
160
+ **Note:** You can also configure AI during `adf init`, or skip it and configure later.
161
+
162
+ **Example `.adf/.env` file:**
163
+ ```env
164
+ ANTHROPIC_API_KEY=sk-ant-api03-...
165
+ ```
166
+
167
+ ### Getting API Keys
168
+
169
+ - **Anthropic:** https://console.anthropic.com/
170
+ - **OpenAI:** https://platform.openai.com/api-keys
171
+ - **Google Gemini:** https://ai.google.dev/
172
+ - **OpenRouter:** https://openrouter.ai/keys
173
+
174
+ ### AI-Powered Features
175
+
176
+ The AI provider enhances your workflow by:
177
+
178
+ - **Real-Time Answer Quality Analysis** - Scores your answers 0-100
179
+ - **Intelligent Follow-Up Questions** - Automatically generated based on your responses
180
+ - **Context-Aware Guidance** - Tailored suggestions for your project type
181
+ - **Skip Functionality** - Type "skip" anytime to move forward
182
+
183
+ ### Changing Providers
184
+
185
+ To switch AI providers or models:
186
+
187
+ ```bash
188
+ adf config
189
+ ```
190
+
191
+ Select "AI Provider Setup" and you'll see:
192
+ - ✓ **Configured** status with current provider name
193
+ - Option to reconfigure with a new provider or model
194
+
195
+ Your previous API keys remain saved in `.adf/.env` for easy switching between providers.
196
+
112
197
  ## What Gets Installed
113
198
 
114
199
  When you run `adf init`, the following structure is created in your project:
@@ -116,7 +201,9 @@ When you run `adf init`, the following structure is created in your project:
116
201
  ```
117
202
  your-project/
118
203
  ├── .adf/ # Framework files (isolated)
204
+ │ ├── .env # AI provider API keys (gitignored, secure)
119
205
  │ ├── context.json # Your workflow configuration
206
+ │ ├── sessions/ # Requirements gathering sessions
120
207
  │ ├── scripts/ # Helper scripts
121
208
  │ └── shared/ # Templates, agents, and resources
122
209
  │ ├── agents/ # Agent definition files
@@ -246,11 +333,13 @@ When we release updates to the framework:
246
333
 
247
334
  See [CHANGELOG.md](./CHANGELOG.md) for detailed version history.
248
335
 
249
- **Latest:** v0.1.6
250
- - Fixed step numbering in init success message
251
- - Added local documentation files collection
252
- - Dynamic version tracking in context.json
253
- - Improved error handling
336
+ **Latest:** v0.3.6
337
+ - AI-guided requirements gathering with multi-provider support
338
+ - Real-time answer quality analysis and intelligent follow-ups
339
+ - Secure API key persistence in `.adf/.env`
340
+ - Dynamic model fetching with autocomplete selection
341
+ - Enhanced UX with visible skip instructions
342
+ - Automatic deployment to your preferred IDE
254
343
 
255
344
  ## Troubleshooting
256
345
 
package/bin/adf.js CHANGED
@@ -7,6 +7,7 @@ const packageJson = require('../package.json');
7
7
  const initCommand = require('../lib/commands/init');
8
8
  const deployCommand = require('../lib/commands/deploy');
9
9
  const updateCommand = require('../lib/commands/update');
10
+ const configCommand = require('../lib/commands/config');
10
11
 
11
12
  const program = new Command();
12
13
 
@@ -39,6 +40,12 @@ program
39
40
  .option('--check', 'Only check for updates, don\'t install')
40
41
  .action(updateCommand);
41
42
 
43
+ // adf config
44
+ program
45
+ .command('config')
46
+ .description('Configure ADF settings (AI provider, etc.)')
47
+ .action(configCommand);
48
+
42
49
  // Handle unknown commands
43
50
  program.on('command:*', () => {
44
51
  console.error(chalk.red(`\nInvalid command: ${program.args.join(' ')}`));