@iservu-inc/adf-cli 0.3.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.
- package/.project/chats/{current → complete}/2025-10-03_AGENTS-MD-AND-TOOL-GENERATORS.md +82 -17
- package/.project/chats/current/2025-10-03_AI-PROVIDER-INTEGRATION.md +569 -0
- package/.project/chats/current/2025-10-03_FRAMEWORK-UPDATE-SYSTEM.md +497 -0
- package/.project/chats/current/SESSION-STATUS.md +127 -0
- package/.project/docs/AI-PROVIDER-INTEGRATION.md +600 -0
- package/.project/docs/FRAMEWORK-UPDATE-INTEGRATION.md +421 -0
- package/.project/docs/FRAMEWORK-UPDATE-SYSTEM.md +832 -0
- package/.project/docs/PROJECT-STRUCTURE-EXPLANATION.md +500 -0
- package/.project/docs/architecture/SYSTEM-DESIGN.md +122 -1
- package/.project/docs/goals/PROJECT-VISION.md +33 -28
- package/CHANGELOG.md +148 -0
- package/README.md +100 -11
- package/bin/adf.js +7 -0
- package/lib/ai/ai-client.js +328 -0
- package/lib/ai/ai-config.js +398 -0
- package/lib/commands/config.js +154 -0
- package/lib/commands/init.js +56 -10
- package/lib/frameworks/interviewer.js +89 -11
- package/lib/frameworks/progress-tracker.js +8 -1
- package/package.json +15 -3
|
@@ -26,24 +26,24 @@ A CLI tool that:
|
|
|
26
26
|
## Success Criteria
|
|
27
27
|
|
|
28
28
|
### User Experience
|
|
29
|
-
- [
|
|
30
|
-
- [
|
|
31
|
-
- [
|
|
32
|
-
- [
|
|
33
|
-
- [
|
|
29
|
+
- [x] User can complete PRP interview in <15 minutes *(v0.1.0)*
|
|
30
|
+
- [x] User can save and resume any session *(v0.2.0)*
|
|
31
|
+
- [x] Zero data loss, even during crashes *(v0.2.0)*
|
|
32
|
+
- [x] Clear progress indication based on information richness *(v0.2.0)*
|
|
33
|
+
- [x] Smooth integration with IDE tools *(v0.3.0)*
|
|
34
34
|
|
|
35
35
|
### Technical
|
|
36
|
-
- [
|
|
37
|
-
- [
|
|
38
|
-
- [
|
|
39
|
-
- [
|
|
40
|
-
- [
|
|
36
|
+
- [x] 78% test coverage for core components *(v0.2.0)*
|
|
37
|
+
- [x] Triple-redundant save system with emergency fallback *(v0.2.0)*
|
|
38
|
+
- [x] Quality-based progress tracking (not just question count) *(v0.2.0)*
|
|
39
|
+
- [x] Resume capability from exact point of interruption *(v0.2.0)*
|
|
40
|
+
- [x] Tool-specific outputs for Windsurf, Cursor, VS Code *(v0.3.0)*
|
|
41
41
|
|
|
42
42
|
### Business
|
|
43
|
-
- [
|
|
44
|
-
- [
|
|
45
|
-
- [ ] Community adoption and feedback
|
|
46
|
-
- [ ] Regular updates based on framework evolution
|
|
43
|
+
- [x] NPM package published and maintained *(v0.1.0+)*
|
|
44
|
+
- [x] Documentation complete and clear *(v0.3.0)*
|
|
45
|
+
- [ ] Community adoption and feedback *(ongoing)*
|
|
46
|
+
- [ ] Regular updates based on framework evolution *(ongoing)*
|
|
47
47
|
|
|
48
48
|
## Target Users
|
|
49
49
|
|
|
@@ -67,29 +67,34 @@ A CLI tool that:
|
|
|
67
67
|
|
|
68
68
|
## Roadmap
|
|
69
69
|
|
|
70
|
-
### Phase 1: Core System (
|
|
71
|
-
- Quality-based progress tracking
|
|
72
|
-
- Triple-redundant saves
|
|
73
|
-
- Resume capability
|
|
74
|
-
- Framework-specific outputs
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
|
|
82
|
-
|
|
70
|
+
### Phase 1: Core System ✅ COMPLETE (v0.1.0 - v0.2.0)
|
|
71
|
+
- ✅ Quality-based progress tracking
|
|
72
|
+
- ✅ Triple-redundant saves
|
|
73
|
+
- ✅ Resume capability
|
|
74
|
+
- ✅ Framework-specific outputs (PRP, Balanced, BMAD)
|
|
75
|
+
- ✅ 78% test coverage
|
|
76
|
+
|
|
77
|
+
### Phase 2: Tool Integration ✅ COMPLETE (v0.3.0)
|
|
78
|
+
- ✅ AGENTS.md universal standard
|
|
79
|
+
- ✅ Windsurf customizations (.windsurfrules, rules, workflows)
|
|
80
|
+
- ✅ Cursor customizations (.cursor/rules, deprecation notices)
|
|
81
|
+
- ✅ VS Code customizations (copilot-instructions, chat modes)
|
|
82
|
+
- ✅ Deploy command enhancements
|
|
83
|
+
- ✅ 57 unit tests
|
|
84
|
+
|
|
85
|
+
### Phase 3: Intelligence (Future)
|
|
83
86
|
- Smart question skipping based on previous answers
|
|
84
87
|
- Context-aware follow-ups
|
|
85
88
|
- Multi-session learning
|
|
86
89
|
- Suggested improvements to answers
|
|
90
|
+
- Enhanced MCP integration for all tools
|
|
87
91
|
|
|
88
|
-
### Phase 4: Community
|
|
92
|
+
### Phase 4: Community (Future)
|
|
89
93
|
- Plugin system for custom frameworks
|
|
90
94
|
- Shareable interview templates
|
|
91
95
|
- Community question database
|
|
92
96
|
- Analytics and insights
|
|
97
|
+
- Live project monitoring
|
|
93
98
|
|
|
94
99
|
## Key Metrics
|
|
95
100
|
|
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,154 @@ 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
|
+
|
|
10
158
|
## [0.3.0] - 2025-10-03
|
|
11
159
|
|
|
12
160
|
### 🚀 MAJOR RELEASE: Tool Configuration Generators
|
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.
|
|
31
|
-
2.
|
|
32
|
-
3.
|
|
33
|
-
4. Optionally collect
|
|
34
|
-
5.
|
|
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.
|
|
250
|
-
-
|
|
251
|
-
-
|
|
252
|
-
-
|
|
253
|
-
-
|
|
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(' ')}`));
|