@iservu-inc/adf-cli 0.17.0 → 0.17.5

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.
@@ -24,7 +24,7 @@ ADF CLI is a Node.js-based command-line tool designed to orchestrate AI-assisted
24
24
  - **Decay Manager:** Applies time-based decay to pattern confidence to ensure freshness.
25
25
 
26
26
  ### 5. Generators (`lib/generators/`)
27
- - **Artifact Generators:** Create PRP, BMAD, and Spec-Kit documents.
27
+ - **Artifact Generators:** Create PRP, BMAD, and OpenSpec documents.
28
28
  - **Tool Config Generators:** Produce tool-specific configurations (e.g., `.windsurfrules`, `opencode.json`, `AGENTS.md`).
29
29
 
30
30
  ## Data Storage
@@ -7,7 +7,7 @@
7
7
  - **Track:** A unit of work or feature development path (e.g., a feature, bug fix, or chore).
8
8
  - **PRP (Product Requirements Prompt):** A framework for "Rapid" requirements gathering.
9
9
  - **BMAD (Business, Marketing, Architecture, Design):** A comprehensive framework for large-scale project planning.
10
- - **Spec-Kit:** A balanced framework generating specifications and plans.
10
+ - **OpenSpec:** A balanced framework generating specifications and plans.
11
11
  - **Agent-Native:** A repository structure optimized for reading by AI agents (e.g., `AGENTS.md`, `.context/`).
12
12
  - **Learning System:** The ADF subsystem that tracks user behavior (skips, answers) to adapt future interviews.
13
13
  - **Pattern Decay:** The algorithm that reduces confidence in learned patterns over time to prevent stale assumptions.
package/CLAUDE.md CHANGED
@@ -8,7 +8,7 @@ ADF CLI (`@iservu-inc/adf-cli`) is a Node.js CLI tool for AgentDevFramework - an
8
8
 
9
9
  **Key Features:**
10
10
  - Multi-provider AI integration for intelligent requirements gathering
11
- - Three workflow levels: Rapid (PRP), Balanced (Spec-Kit), Comprehensive (BMAD)
11
+ - Three workflow levels: Rapid (PRP), Balanced (OpenSpec), Comprehensive (BMAD)
12
12
  - Learning system that adapts to user preferences over time with pattern decay
13
13
  - Dynamic question pipeline that extracts knowledge and reorders questions
14
14
  - Smart question filtering based on project context
@@ -72,7 +72,7 @@ npm publish --dry-run
72
72
  - Routes to command handlers in `lib/commands/`
73
73
 
74
74
  2. **Commands** (`lib/commands/`)
75
- - `init.js` - Initialize framework, detect project, start interview session
75
+ - `init.js` - Initialize framework, detect project (brownfield detection: agent-native, openspec, specification-driven, gemini-conductor), start interview session
76
76
  - `config.js` - Configure AI provider, analysis settings, learning system
77
77
  - `deploy.js` - Deploy to development tools (Windsurf, Cursor, VS Code, etc.)
78
78
  - `update.js` - Check for and install CLI updates
@@ -143,7 +143,7 @@ project-root/
143
143
  │ │ └── stats.json # Statistics
144
144
  │ └── shared/ # Framework templates & agents
145
145
  │ ├── agents/ # Agent definitions (PM, Dev, QA, etc.)
146
- │ ├── templates/ # PRP, BMAD, Spec-Kit templates
146
+ │ ├── templates/ # PRP, BMAD, OpenSpec templates
147
147
  │ └── memory/ # Framework memory
148
148
  └── .framework/ # Deployed to development tool
149
149
  └── agents/ # Tool-specific agent files
@@ -226,7 +226,7 @@ Three workflow tiers with different agents and templates:
226
226
  - Questions: 20 core questions
227
227
  - Output: `prp.md` (single document)
228
228
 
229
- **Level 2: Balanced (Spec-Kit)**
229
+ **Level 2: Balanced (OpenSpec)**
230
230
  - Agents: analyst, pm, dev, qa
231
231
  - Templates: Full PRP suite, spec templates
232
232
  - Questions: 30+ questions
@@ -250,7 +250,7 @@ Each tool has a generator that transforms session outputs into tool-specific con
250
250
 
251
251
  **Deployment Flow:**
252
252
  1. Find latest completed session
253
- 2. Load session outputs (PRP/BMAD/Spec-Kit)
253
+ 2. Load session outputs (PRP/BMAD/OpenSpec)
254
254
  3. Generate tool-specific config
255
255
  4. Write to project root (`.windsurfrules`, `.cursorrules`, etc.)
256
256
  5. Copy agent files to `.framework/agents/` if needed
package/README.md CHANGED
@@ -405,7 +405,7 @@ The `.adf/context.json` file contains your workflow configuration:
405
405
  "templates": {
406
406
  "prp": ["prp_story.md", "prp_task.md"],
407
407
  "bmad": false,
408
- "specKit": false
408
+ "openSpec": false
409
409
  }
410
410
  }
411
411
  ```
@@ -9,10 +9,10 @@ class HeuristicGapAnalyzer {
9
9
  static get FIELD_MAPPING() {
10
10
  return {
11
11
  name: { id: 'prp-1', required: ['rapid', 'balanced', 'comprehensive'] },
12
- overview: { id: 'prp-3', required: ['rapid', 'balanced', 'comprehensive'] },
13
- techStack: { id: 'prp-8', required: ['rapid', 'balanced', 'comprehensive'] },
14
- proposedChanges: { id: 'bal-28', required: ['balanced', 'comprehensive'] },
15
- architecture: { id: 'bal-37', required: ['balanced', 'comprehensive'] }
12
+ overview: { id: 'prp-2', required: ['rapid', 'balanced', 'comprehensive'] },
13
+ techStack: { id: 'prp-5', required: ['rapid', 'balanced', 'comprehensive'] },
14
+ proposedChanges: { id: 'bal-15', required: ['balanced', 'comprehensive'] },
15
+ architecture: { id: 'bal-19', required: ['balanced', 'comprehensive'] }
16
16
  };
17
17
  }
18
18
 
@@ -86,17 +86,17 @@ class SynthesisEngine {
86
86
  }
87
87
 
88
88
  if (synthesizedContext.overview) {
89
- answers['prp-3'] = {
89
+ answers['prp-2'] = {
90
90
  text: synthesizedContext.overview,
91
91
  quality: { qualityScore: 80, isComprehensive: true },
92
92
  timestamp: now.toISOString()
93
93
  };
94
94
  // Backward compatibility for old tests
95
- answers['project-overview'] = answers['prp-3'];
95
+ answers['project-overview'] = answers['prp-2'];
96
96
  }
97
97
 
98
98
  if (synthesizedContext.techStack) {
99
- answers['prp-8'] = {
99
+ answers['prp-5'] = {
100
100
  text: synthesizedContext.techStack,
101
101
  quality: { qualityScore: 80, isComprehensive: true },
102
102
  timestamp: now.toISOString()
@@ -104,7 +104,7 @@ class SynthesisEngine {
104
104
  }
105
105
 
106
106
  if (synthesizedContext.architecture) {
107
- answers['bal-37'] = {
107
+ answers['bal-19'] = {
108
108
  text: synthesizedContext.architecture,
109
109
  quality: { qualityScore: 80, isComprehensive: true },
110
110
  timestamp: now.toISOString()
@@ -112,7 +112,7 @@ class SynthesisEngine {
112
112
  }
113
113
 
114
114
  if (synthesizedContext.proposedChanges) {
115
- answers['bal-28'] = {
115
+ answers['bal-15'] = {
116
116
  text: synthesizedContext.proposedChanges,
117
117
  quality: { qualityScore: 80, isComprehensive: true },
118
118
  timestamp: now.toISOString()