@iservu-inc/adf-cli 0.12.9 → 0.12.10

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.
@@ -17,7 +17,8 @@
17
17
  "WebFetch(domain:openrouter.ai)",
18
18
  "WebFetch(domain:github.com)",
19
19
  "WebFetch(domain:antigravity.google)",
20
- "WebSearch"
20
+ "WebSearch",
21
+ "Bash(node -c:*)"
21
22
  ],
22
23
  "deny": [],
23
24
  "ask": []
package/CHANGELOG.md CHANGED
@@ -5,6 +5,115 @@ All notable changes to `@iservu-inc/adf-cli` will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.12.9] - 2025-12-23
9
+
10
+ ### šŸš€ Multi-Tool Expansion & AI Provider Robustness
11
+
12
+ **MAJOR ENHANCEMENTS:** Expanded deployment support to 4 additional CLI tools and significantly improved AI provider reliability with comprehensive model verification and parameter compatibility fixes.
13
+
14
+ #### What's New
15
+
16
+ **New CLI Tool Support:**
17
+ - **OpenCode CLI** - Complete generator with JSON configuration
18
+ - Output: `.opencode.json` with project config, agents, and MCP servers
19
+ - Model selection: Anthropic Claude models based on framework complexity
20
+ - MCP integration: Filesystem server for project access
21
+ - Auto-compacting and debug configuration
22
+
23
+ - **Google Gemini CLI** - Markdown-based project context
24
+ - Output: `GEMINI.md` with structured project information
25
+ - Role-specific agent guidance
26
+ - Build/test/lint command reference
27
+ - Development guidelines and security standards
28
+
29
+ - **DeepAgent (Abacus.ai)** - Agent markdown deployment
30
+ - Output: `.deepagent/agents/*.md` + `.deepagent/README.md`
31
+ - Similar to Claude Code but for DeepAgent CLI
32
+ - Project overview and workflow documentation
33
+ - Per-agent markdown files with role-specific instructions
34
+
35
+ - **Zed Editor Support Verified** - Confirmed full 253-line generator integration
36
+ - MCP server configuration (project_context, archon)
37
+ - AGENTS.md symlink support (`.zed/rules -> ../AGENTS.md`)
38
+ - Agent-specific keymap configuration
39
+ - Model selection based on framework complexity
40
+
41
+ **AI Provider Improvements:**
42
+
43
+ **Model Verification System:**
44
+ - āœ… **Test Before Save** - All models now tested with actual API request before configuration
45
+ - āœ… **Clear Error Messages** - Detailed failure reasons when models don't work
46
+ - āœ… **Retry Option** - Easy retry with different model on failure
47
+ - āœ… **Operational Status** - Distinguishes between "listed" and "operational" models
48
+
49
+ **Google Gemini Fixes:**
50
+ - šŸ”§ Fixed API key validation (`genAI.listModels is not a function` error)
51
+ - šŸ”§ Implemented dynamic model fetching via REST API (`/v1beta/models` endpoint)
52
+ - šŸ”§ Updated validation model from deprecated `gemini-pro` to `gemini-1.5-flash`
53
+ - šŸ”§ Filters models by `generateContent` support capability
54
+
55
+ **Anthropic Model Expansion:**
56
+ - šŸ“Š Expanded from 3 to 11 models with comprehensive coverage
57
+ - šŸ“Š Added Claude 4.5 series (Sonnet, Opus)
58
+ - šŸ“Š Added Claude 3.5 series (Sonnet variants, Haiku)
59
+ - šŸ“Š Added Claude 3 series (Opus, Sonnet, Haiku)
60
+ - šŸ“Š Added Claude 2 series (2.1, 2.0, Instant)
61
+ - šŸ“Š Attempts dynamic fetch from API with fallback to curated list
62
+
63
+ **OpenAI & OpenRouter Parameter Compatibility:**
64
+ - šŸ”§ Fixed parameter compatibility for newer models (GPT-5, o-series)
65
+ - šŸ”§ Updated regex pattern from `/^(o\d|gpt-5)/` to `/^(o1|o3|gpt-5)/i`
66
+ - šŸ”§ Uses `max_completion_tokens` for reasoning models instead of `max_tokens`
67
+ - šŸ”§ Automatic retry with fallback parameters on 400 errors
68
+ - āœ… Confirmed working with `gpt-5.2-chat-latest` and other GPT-5 models
69
+
70
+ **Enhanced Help System:**
71
+ - šŸ“š Comprehensive `--help` documentation for all commands
72
+ - šŸ“š Quick Start section with step-by-step workflow
73
+ - šŸ“š Detailed command breakdowns (init, deploy, config, update)
74
+ - šŸ“š Tool-by-tool deployment guide with output locations
75
+ - šŸ“š Performance mode explanations (Fast/Balanced/Comprehensive)
76
+ - šŸ“š AI provider setup instructions with API key links
77
+ - šŸ“š Configuration categories with feature descriptions
78
+ - šŸ“š Examples for common workflows
79
+
80
+ #### Technical Details
81
+
82
+ **New Files:**
83
+ - `lib/generators/opencode-generator.js` - OpenCode CLI configuration generator (120+ lines)
84
+ - `lib/generators/gemini-cli-generator.js` - Gemini CLI markdown generator (150+ lines)
85
+ - `lib/generators/deepagent-generator.js` - DeepAgent configuration generator (145+ lines)
86
+
87
+ **Modified Files:**
88
+ - `lib/ai/ai-client.js` - Parameter compatibility fixes for newer models
89
+ - `lib/ai/ai-config.js` - Model verification, Google Gemini fixes, Anthropic expansion
90
+ - `bin/adf.js` - Comprehensive help system enhancements (300+ lines of documentation)
91
+ - `lib/commands/deploy.js` - Added new tool registrations and deployment cases
92
+ - `lib/generators/index.js` - Export new generators
93
+
94
+ **Deployment Support Summary:**
95
+ - **IDEs (6):** Windsurf, Cursor, VS Code, Zed, Antigravity, VS Code Insider
96
+ - **CLI Tools (5):** Claude Code, OpenCode, Gemini CLI, DeepAgent, Generic
97
+ - **Total Tools:** 11 deployment targets
98
+
99
+ #### Bug Fixes
100
+ - Fixed: OpenRouter models listed but not operational (added verification)
101
+ - Fixed: OpenAI GPT-5 models parameter incompatibility (`max_tokens` vs `max_completion_tokens`)
102
+ - Fixed: Google Gemini API validation failure (`listModels` method error)
103
+ - Fixed: Anthropic incomplete model listing (3 models → 11 models)
104
+ - Fixed: Model testing skipped during configuration process
105
+
106
+ #### Keywords Added
107
+ - `opencode` - OpenCode CLI support
108
+ - `gemini-cli` - Google Gemini CLI support
109
+ - `deepagent` - Abacus.ai DeepAgent support
110
+
111
+ #### Backward Compatibility
112
+ - āœ… **100% Backward Compatible** - All changes are additive
113
+ - āœ… All existing deployments continue to work
114
+ - āœ… No breaking changes to API or CLI commands
115
+ - āœ… Existing configurations automatically benefit from improved verification
116
+
8
117
  ## [0.12.0] - 2025-12-22
9
118
 
10
119
  ### šŸŽÆ Agent-Native Development Framework (ANDF) Standard Implementation
package/README.md CHANGED
@@ -98,15 +98,21 @@ adf deploy --list
98
98
  ```
99
99
 
100
100
  **Supported Tools:**
101
- - windsurf
102
- - cursor
103
- - vscode
104
- - vscode-insider
105
- - kiro
106
- - trae
107
- - claude-code
108
- - gemini-cli
109
- - codex-cli
101
+
102
+ **IDEs:**
103
+ - windsurf - Codeium Windsurf IDE
104
+ - cursor - Cursor AI IDE
105
+ - vscode - Visual Studio Code
106
+ - vscode-insider - VS Code Insider
107
+ - zed - Zed Editor
108
+ - antigravity - Google Antigravity
109
+
110
+ **CLI Tools:**
111
+ - claude-code - Anthropic Claude Code CLI
112
+ - opencode - OpenCode CLI
113
+ - gemini-cli - Google Gemini CLI
114
+ - deepagent - Abacus.ai DeepAgent
115
+ - generic - Generic AI tools
110
116
 
111
117
  ### Update CLI
112
118
 
@@ -495,16 +501,29 @@ When we release updates to the framework:
495
501
 
496
502
  See [CHANGELOG.md](./CHANGELOG.md) for detailed version history.
497
503
 
498
- **Latest:** v0.10.0 (2025-10-27)
499
- - **Pattern Decay Algorithm (v0.10.0)** - Phase 6: Advanced Learning Features
504
+ **Latest:** v0.12.9 (2025-12-23)
505
+ - **Multi-Tool Expansion & AI Provider Robustness (v0.12.9)**
506
+ - Added 4 new CLI tools: OpenCode, Gemini CLI, DeepAgent, verified Zed support
507
+ - Comprehensive AI provider improvements with model verification
508
+ - Fixed Google Gemini API integration and expanded Anthropic models (3 → 11)
509
+ - Enhanced help system with detailed documentation
510
+ - OpenAI/OpenRouter parameter compatibility for GPT-5 and o-series models
511
+ - All models now tested before configuration save
512
+
513
+ **Previous Releases:**
514
+ - **v0.12.0 (2025-12-22)** - ANDF Standard Implementation
515
+ - Complete AGENTS.md standard compliance with YAML frontmatter
516
+ - .context/ directory support with architecture and glossary generation
517
+ - Zed Editor and Google Antigravity full generator support
518
+ - MCP integration and agent configuration
519
+
520
+ - **v0.10.0 (2025-10-27)** - Pattern Decay Algorithm
500
521
  - Time-based exponential decay for inactive patterns
501
522
  - Confidence-based decay rates (high/medium/low)
502
523
  - Automatic pattern cleanup and renewal system
503
524
  - 40+ comprehensive tests for decay functionality
504
- - Pattern metadata tracking (timestamps, renewal counts)
505
- - Removal history and analytics
506
525
 
507
- **Previous Release:** v0.9.1 (2025-10-05)
526
+ - **v0.9.1 (2025-10-05)** - AI Analysis Settings
508
527
  - **AI Analysis Settings (v0.9.0)** - Performance modes and configurable AI features
509
528
  - Three performance modes: Fast, Balanced, Comprehensive
510
529
  - Five individually configurable AI features
@@ -600,13 +600,19 @@ async function configureAIProvider(projectPath = process.cwd()) {
600
600
  // Fetch available models (only after successful validation)
601
601
  const availableModels = await fetchAvailableModels(selectedProvider, apiKey);
602
602
 
603
- // Show helpful tip about model selection
603
+ // Show helpful tips about model selection
604
604
  if (selectedProvider.id === 'openrouter' && availableModels.length > 50) {
605
605
  console.log(chalk.gray('\nšŸ’” Tip: Recommended models for best compatibility:'));
606
606
  console.log(chalk.gray(' • anthropic/claude-sonnet-4-5'));
607
607
  console.log(chalk.gray(' • openai/gpt-4-turbo'));
608
608
  console.log(chalk.gray(' • google/gemini-pro-1.5'));
609
609
  console.log(chalk.yellow(' āš ļø Free models may require specific privacy settings\n'));
610
+ } else if (selectedProvider.id === 'google') {
611
+ console.log(chalk.gray('\nšŸ’” Tip: Recommended models for free tier:'));
612
+ console.log(chalk.gray(' • gemini-1.5-flash (fastest, lowest quota usage)'));
613
+ console.log(chalk.gray(' • gemini-1.5-flash-8b (ultra-fast, minimal quota)'));
614
+ console.log(chalk.gray(' • gemini-2.0-flash-exp (newer, experimental)'));
615
+ console.log(chalk.yellow(' āš ļø Pro models (gemini-pro, gemini-2.5-pro) may exceed free tier quota\n'));
610
616
  }
611
617
 
612
618
  // Model selection with autocomplete
@@ -651,19 +657,41 @@ async function configureAIProvider(projectPath = process.cwd()) {
651
657
  modelTestSpinner.succeed(chalk.green(`Model ${model} verified successfully`));
652
658
  } catch (error) {
653
659
  modelTestSpinner.fail(chalk.red(`Model ${model} test failed`));
654
- console.log(chalk.red(`\nError: ${error.message}\n`));
655
- console.log(chalk.yellow('āš ļø This model appears to be listed but not operational.'));
656
- console.log(chalk.gray('Possible reasons:'));
657
- console.log(chalk.gray(' • Model requires higher API tier or special access'));
658
- console.log(chalk.gray(' • Model is experimental or in preview'));
659
- console.log(chalk.gray(' • Model has specific parameter requirements'));
660
- console.log(chalk.gray(' • Provider-side issue or rate limiting\n'));
660
+
661
+ // Check if this is a rate limit error
662
+ const isRateLimit = error.message.includes('429') ||
663
+ error.message.includes('Too Many Requests') ||
664
+ error.message.includes('quota') ||
665
+ error.message.includes('rate limit');
666
+
667
+ if (isRateLimit) {
668
+ console.log(chalk.yellow('\nāš ļø Rate Limit / Quota Exceeded'));
669
+ console.log(chalk.gray('\nThis model is operational but you\'ve exceeded your API quota.'));
670
+ console.log(chalk.gray('Common causes:'));
671
+ console.log(chalk.gray(' • Free tier daily/hourly limits reached'));
672
+ console.log(chalk.gray(' • Too many recent requests'));
673
+ console.log(chalk.gray(' • Model requires paid API tier\n'));
674
+
675
+ console.log(chalk.cyan('Solutions:'));
676
+ console.log(chalk.gray(' 1. Select a different model with available quota'));
677
+ console.log(chalk.gray(' 2. Wait for quota reset (usually hourly or daily)'));
678
+ console.log(chalk.gray(' 3. Upgrade to paid tier at: https://ai.google.dev/pricing'));
679
+ console.log(chalk.gray(' 4. Use a different AI provider (OpenAI, Anthropic, etc.)\n'));
680
+ } else {
681
+ console.log(chalk.red(`\nError: ${error.message}\n`));
682
+ console.log(chalk.yellow('āš ļø This model appears to be listed but not operational.'));
683
+ console.log(chalk.gray('Possible reasons:'));
684
+ console.log(chalk.gray(' • Model requires higher API tier or special access'));
685
+ console.log(chalk.gray(' • Model is experimental or in preview'));
686
+ console.log(chalk.gray(' • Model has specific parameter requirements'));
687
+ console.log(chalk.gray(' • Provider-side issue\n'));
688
+ }
661
689
 
662
690
  const { retry } = await inquirer.prompt([
663
691
  {
664
692
  type: 'confirm',
665
693
  name: 'retry',
666
- message: 'Try selecting a different model?',
694
+ message: isRateLimit ? 'Try selecting a different model?' : 'Try selecting a different model?',
667
695
  default: true
668
696
  }
669
697
  ]);
@@ -241,8 +241,9 @@ async function deployToTool(tool, options = {}) {
241
241
  }
242
242
 
243
243
  // Copy tool-specific config (simplified)
244
+ // Skip for directory-based tools (claude-code, deepagent, generic) - they use dedicated generators
244
245
  const toolConfig = TOOLS[tool];
245
- if (toolConfig) {
246
+ if (toolConfig && !toolConfig.configFile.endsWith('/')) {
246
247
  const configPath = path.join(cwd, toolConfig.configFile);
247
248
  const configDir = path.dirname(configPath);
248
249
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iservu-inc/adf-cli",
3
- "version": "0.12.9",
3
+ "version": "0.12.10",
4
4
  "description": "CLI tool for AgentDevFramework - AI-assisted development framework with multi-provider AI support",
5
5
  "main": "index.js",
6
6
  "bin": {