aidp 0.5.0 → 0.8.0
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.
- checksums.yaml +4 -4
- data/README.md +128 -151
- data/bin/aidp +1 -1
- data/lib/aidp/analysis/kb_inspector.rb +471 -0
- data/lib/aidp/analysis/seams.rb +159 -0
- data/lib/aidp/analysis/tree_sitter_grammar_loader.rb +480 -0
- data/lib/aidp/analysis/tree_sitter_scan.rb +686 -0
- data/lib/aidp/analyze/error_handler.rb +2 -78
- data/lib/aidp/analyze/json_file_storage.rb +292 -0
- data/lib/aidp/analyze/progress.rb +12 -0
- data/lib/aidp/analyze/progress_visualizer.rb +12 -17
- data/lib/aidp/analyze/ruby_maat_integration.rb +13 -31
- data/lib/aidp/analyze/runner.rb +256 -87
- data/lib/aidp/analyze/steps.rb +6 -0
- data/lib/aidp/cli/jobs_command.rb +103 -435
- data/lib/aidp/cli.rb +317 -191
- data/lib/aidp/config.rb +298 -10
- data/lib/aidp/debug_logger.rb +195 -0
- data/lib/aidp/debug_mixin.rb +187 -0
- data/lib/aidp/execute/progress.rb +9 -0
- data/lib/aidp/execute/runner.rb +221 -40
- data/lib/aidp/execute/steps.rb +17 -7
- data/lib/aidp/execute/workflow_selector.rb +211 -0
- data/lib/aidp/harness/completion_checker.rb +268 -0
- data/lib/aidp/harness/condition_detector.rb +1526 -0
- data/lib/aidp/harness/config_loader.rb +373 -0
- data/lib/aidp/harness/config_manager.rb +382 -0
- data/lib/aidp/harness/config_schema.rb +1006 -0
- data/lib/aidp/harness/config_validator.rb +355 -0
- data/lib/aidp/harness/configuration.rb +477 -0
- data/lib/aidp/harness/enhanced_runner.rb +494 -0
- data/lib/aidp/harness/error_handler.rb +616 -0
- data/lib/aidp/harness/provider_config.rb +423 -0
- data/lib/aidp/harness/provider_factory.rb +306 -0
- data/lib/aidp/harness/provider_manager.rb +1269 -0
- data/lib/aidp/harness/provider_type_checker.rb +88 -0
- data/lib/aidp/harness/runner.rb +411 -0
- data/lib/aidp/harness/state/errors.rb +28 -0
- data/lib/aidp/harness/state/metrics.rb +219 -0
- data/lib/aidp/harness/state/persistence.rb +128 -0
- data/lib/aidp/harness/state/provider_state.rb +132 -0
- data/lib/aidp/harness/state/ui_state.rb +68 -0
- data/lib/aidp/harness/state/workflow_state.rb +123 -0
- data/lib/aidp/harness/state_manager.rb +586 -0
- data/lib/aidp/harness/status_display.rb +888 -0
- data/lib/aidp/harness/ui/base.rb +16 -0
- data/lib/aidp/harness/ui/enhanced_tui.rb +545 -0
- data/lib/aidp/harness/ui/enhanced_workflow_selector.rb +252 -0
- data/lib/aidp/harness/ui/error_handler.rb +132 -0
- data/lib/aidp/harness/ui/frame_manager.rb +361 -0
- data/lib/aidp/harness/ui/job_monitor.rb +500 -0
- data/lib/aidp/harness/ui/navigation/main_menu.rb +311 -0
- data/lib/aidp/harness/ui/navigation/menu_formatter.rb +120 -0
- data/lib/aidp/harness/ui/navigation/menu_item.rb +142 -0
- data/lib/aidp/harness/ui/navigation/menu_state.rb +139 -0
- data/lib/aidp/harness/ui/navigation/submenu.rb +202 -0
- data/lib/aidp/harness/ui/navigation/workflow_selector.rb +176 -0
- data/lib/aidp/harness/ui/progress_display.rb +280 -0
- data/lib/aidp/harness/ui/question_collector.rb +141 -0
- data/lib/aidp/harness/ui/spinner_group.rb +184 -0
- data/lib/aidp/harness/ui/spinner_helper.rb +152 -0
- data/lib/aidp/harness/ui/status_manager.rb +312 -0
- data/lib/aidp/harness/ui/status_widget.rb +280 -0
- data/lib/aidp/harness/ui/workflow_controller.rb +312 -0
- data/lib/aidp/harness/user_interface.rb +2381 -0
- data/lib/aidp/provider_manager.rb +131 -7
- data/lib/aidp/providers/anthropic.rb +28 -109
- data/lib/aidp/providers/base.rb +170 -0
- data/lib/aidp/providers/cursor.rb +52 -183
- data/lib/aidp/providers/gemini.rb +24 -109
- data/lib/aidp/providers/macos_ui.rb +99 -5
- data/lib/aidp/providers/opencode.rb +194 -0
- data/lib/aidp/storage/csv_storage.rb +172 -0
- data/lib/aidp/storage/file_manager.rb +214 -0
- data/lib/aidp/storage/json_storage.rb +140 -0
- data/lib/aidp/version.rb +1 -1
- data/lib/aidp.rb +56 -35
- data/templates/ANALYZE/06a_tree_sitter_scan.md +217 -0
- data/templates/COMMON/AGENT_BASE.md +11 -0
- data/templates/EXECUTE/00_PRD.md +4 -4
- data/templates/EXECUTE/02_ARCHITECTURE.md +5 -4
- data/templates/EXECUTE/07_TEST_PLAN.md +4 -1
- data/templates/EXECUTE/08_TASKS.md +4 -4
- data/templates/EXECUTE/10_IMPLEMENTATION_AGENT.md +4 -4
- data/templates/README.md +279 -0
- data/templates/aidp-development.yml.example +373 -0
- data/templates/aidp-minimal.yml.example +48 -0
- data/templates/aidp-production.yml.example +475 -0
- data/templates/aidp.yml.example +598 -0
- metadata +106 -64
- data/lib/aidp/analyze/agent_personas.rb +0 -71
- data/lib/aidp/analyze/agent_tool_executor.rb +0 -445
- data/lib/aidp/analyze/data_retention_manager.rb +0 -426
- data/lib/aidp/analyze/database.rb +0 -260
- data/lib/aidp/analyze/dependencies.rb +0 -335
- data/lib/aidp/analyze/export_manager.rb +0 -425
- data/lib/aidp/analyze/focus_guidance.rb +0 -517
- data/lib/aidp/analyze/incremental_analyzer.rb +0 -543
- data/lib/aidp/analyze/language_analysis_strategies.rb +0 -897
- data/lib/aidp/analyze/large_analysis_progress.rb +0 -504
- data/lib/aidp/analyze/memory_manager.rb +0 -365
- data/lib/aidp/analyze/metrics_storage.rb +0 -336
- data/lib/aidp/analyze/parallel_processor.rb +0 -460
- data/lib/aidp/analyze/performance_optimizer.rb +0 -694
- data/lib/aidp/analyze/repository_chunker.rb +0 -704
- data/lib/aidp/analyze/static_analysis_detector.rb +0 -577
- data/lib/aidp/analyze/storage.rb +0 -662
- data/lib/aidp/analyze/tool_configuration.rb +0 -456
- data/lib/aidp/analyze/tool_modernization.rb +0 -750
- data/lib/aidp/database/pg_adapter.rb +0 -148
- data/lib/aidp/database_config.rb +0 -69
- data/lib/aidp/database_connection.rb +0 -72
- data/lib/aidp/database_migration.rb +0 -158
- data/lib/aidp/job_manager.rb +0 -41
- data/lib/aidp/jobs/base_job.rb +0 -47
- data/lib/aidp/jobs/provider_execution_job.rb +0 -96
- data/lib/aidp/project_detector.rb +0 -117
- data/lib/aidp/providers/agent_supervisor.rb +0 -348
- data/lib/aidp/providers/supervised_base.rb +0 -317
- data/lib/aidp/providers/supervised_cursor.rb +0 -22
- data/lib/aidp/sync.rb +0 -13
- data/lib/aidp/workspace.rb +0 -19
data/templates/README.md
ADDED
@@ -0,0 +1,279 @@
|
|
1
|
+
# AIDP Configuration Examples
|
2
|
+
|
3
|
+
This directory contains example configuration files for the AIDP (AI Dev Pipeline) harness system. Choose the configuration that best fits your needs and copy it to your project root as `aidp.yml`.
|
4
|
+
|
5
|
+
## Available Configuration Files
|
6
|
+
|
7
|
+
### 1. `aidp.yml.example` - Complete Configuration
|
8
|
+
|
9
|
+
**Best for**: Production use, comprehensive setups, advanced users
|
10
|
+
|
11
|
+
This is the most comprehensive configuration file that demonstrates all available harness features including:
|
12
|
+
|
13
|
+
- Complete harness configuration with all options
|
14
|
+
- Multiple provider configurations (Cursor, Claude, Gemini)
|
15
|
+
- Advanced features like circuit breakers, load balancing, health checks
|
16
|
+
- Environment-specific configurations
|
17
|
+
- Mode-specific configurations (analyze vs execute)
|
18
|
+
- Feature flags
|
19
|
+
- Time-based configurations
|
20
|
+
- Step-specific configurations
|
21
|
+
- User-specific configurations
|
22
|
+
- Comprehensive monitoring and logging
|
23
|
+
- Security configurations
|
24
|
+
|
25
|
+
### 2. `aidp-minimal.yml.example` - Minimal Configuration
|
26
|
+
|
27
|
+
**Best for**: Getting started, simple setups, basic usage
|
28
|
+
|
29
|
+
This is a minimal configuration file that includes only the essential settings:
|
30
|
+
|
31
|
+
- Basic harness configuration
|
32
|
+
- Two providers (Cursor and Claude)
|
33
|
+
- Essential features only
|
34
|
+
- Simple retry and fallback configuration
|
35
|
+
|
36
|
+
### 3. `aidp-production.yml.example` - Production Configuration
|
37
|
+
|
38
|
+
**Best for**: Production deployments, enterprise use, high availability
|
39
|
+
|
40
|
+
This configuration is optimized for production use with:
|
41
|
+
|
42
|
+
- Comprehensive monitoring and alerting
|
43
|
+
- Robust error handling and retry logic
|
44
|
+
- Circuit breaker patterns for fault tolerance
|
45
|
+
- Load balancing and health checks
|
46
|
+
- Security configurations
|
47
|
+
- Cost tracking and budgeting
|
48
|
+
- Audit logging
|
49
|
+
- Performance optimizations
|
50
|
+
|
51
|
+
### 4. `aidp-development.yml.example` - Development Configuration
|
52
|
+
|
53
|
+
**Best for**: Development, testing, debugging
|
54
|
+
|
55
|
+
This configuration is optimized for development with:
|
56
|
+
|
57
|
+
- Relaxed timeouts and retry settings
|
58
|
+
- Enhanced logging and debugging
|
59
|
+
- Disabled rate limiting for testing
|
60
|
+
- Fast feedback loops
|
61
|
+
- Detailed error reporting
|
62
|
+
- Request/response logging
|
63
|
+
|
64
|
+
## Quick Start
|
65
|
+
|
66
|
+
1. **Choose a configuration file** based on your needs
|
67
|
+
2. **Copy it to your project root** as `aidp.yml`:
|
68
|
+
|
69
|
+
```bash
|
70
|
+
cp templates/aidp-minimal.yml.example aidp.yml
|
71
|
+
```
|
72
|
+
|
73
|
+
3. **Set up your API keys** in environment variables:
|
74
|
+
|
75
|
+
```bash
|
76
|
+
export ANTHROPIC_API_KEY="your_api_key_here"
|
77
|
+
export GEMINI_API_KEY="your_api_key_here"
|
78
|
+
```
|
79
|
+
|
80
|
+
4. **Customize the configuration** for your specific needs
|
81
|
+
5. **Run AIDP** with the harness:
|
82
|
+
|
83
|
+
```bash
|
84
|
+
aidp analyze
|
85
|
+
aidp execute
|
86
|
+
```
|
87
|
+
|
88
|
+
## Configuration Sections
|
89
|
+
|
90
|
+
### Harness Configuration
|
91
|
+
|
92
|
+
The `harness` section controls the overall behavior of the harness system:
|
93
|
+
|
94
|
+
- `default_provider`: Primary provider to use
|
95
|
+
- `fallback_providers`: Backup providers in order of preference
|
96
|
+
- `max_retries`: Number of retry attempts
|
97
|
+
- `request_timeout`: Global request timeout
|
98
|
+
- `auto_switch_on_error`: Automatically switch providers on errors
|
99
|
+
- `auto_switch_on_rate_limit`: Automatically switch providers on rate limits
|
100
|
+
|
101
|
+
### Provider Configuration
|
102
|
+
|
103
|
+
The `providers` section defines individual provider settings:
|
104
|
+
|
105
|
+
- `type`: Provider type (package, api, byok)
|
106
|
+
- `priority`: Provider priority (higher = more preferred)
|
107
|
+
- `models`: Available models for the provider
|
108
|
+
- `features`: Provider capabilities
|
109
|
+
- `auth`: Authentication configuration
|
110
|
+
- `endpoints`: API endpoints
|
111
|
+
- `monitoring`: Monitoring and metrics
|
112
|
+
- `rate_limit`: Rate limiting settings
|
113
|
+
- `retry`: Retry configuration
|
114
|
+
- `circuit_breaker`: Circuit breaker settings
|
115
|
+
- `cost`: Cost tracking
|
116
|
+
- `health_check`: Health check configuration
|
117
|
+
- `log`: Logging configuration
|
118
|
+
- `cache`: Caching configuration
|
119
|
+
- `security`: Security settings
|
120
|
+
|
121
|
+
### Advanced Features
|
122
|
+
|
123
|
+
#### Environment-Specific Configuration
|
124
|
+
|
125
|
+
Use the `environments` section to have different settings for different environments:
|
126
|
+
|
127
|
+
```yaml
|
128
|
+
environments:
|
129
|
+
development:
|
130
|
+
harness:
|
131
|
+
max_retries: 1
|
132
|
+
production:
|
133
|
+
harness:
|
134
|
+
max_retries: 3
|
135
|
+
```
|
136
|
+
|
137
|
+
#### Mode-Specific Configuration
|
138
|
+
|
139
|
+
Use the `analyze_mode` and `execute_mode` sections for different execution modes:
|
140
|
+
|
141
|
+
```yaml
|
142
|
+
analyze_mode:
|
143
|
+
harness:
|
144
|
+
request_timeout: 600
|
145
|
+
execute_mode:
|
146
|
+
harness:
|
147
|
+
request_timeout: 300
|
148
|
+
```
|
149
|
+
|
150
|
+
#### Feature Flags
|
151
|
+
|
152
|
+
Use the `features` section to enable/disable functionality:
|
153
|
+
|
154
|
+
```yaml
|
155
|
+
features:
|
156
|
+
debugging:
|
157
|
+
harness:
|
158
|
+
log_errors: true
|
159
|
+
```
|
160
|
+
|
161
|
+
#### Time-Based Configuration
|
162
|
+
|
163
|
+
Use the `time_based` section for different settings based on time:
|
164
|
+
|
165
|
+
```yaml
|
166
|
+
time_based:
|
167
|
+
hours:
|
168
|
+
9..17: # Business hours
|
169
|
+
harness:
|
170
|
+
max_retries: 2
|
171
|
+
```
|
172
|
+
|
173
|
+
## Provider Types
|
174
|
+
|
175
|
+
### Package Providers
|
176
|
+
|
177
|
+
- **Type**: `package`
|
178
|
+
- **Pricing**: Fixed monthly/yearly subscription
|
179
|
+
- **Examples**: Cursor Pro
|
180
|
+
- **Configuration**: No API keys needed
|
181
|
+
|
182
|
+
### API Providers
|
183
|
+
|
184
|
+
- **Type**: `api`
|
185
|
+
- **Pricing**: Pay-per-use based on tokens
|
186
|
+
- **Examples**: Claude, Gemini
|
187
|
+
- **Configuration**: Requires API keys
|
188
|
+
|
189
|
+
### BYOK Providers
|
190
|
+
|
191
|
+
- **Type**: `byok`
|
192
|
+
- **Pricing**: User provides their own API key
|
193
|
+
- **Examples**: OpenAI, custom APIs
|
194
|
+
- **Configuration**: User manages API keys
|
195
|
+
|
196
|
+
## Best Practices
|
197
|
+
|
198
|
+
### Security
|
199
|
+
|
200
|
+
- Store API keys in environment variables, not in the config file
|
201
|
+
- Use `restrict_to_non_byok: true` to avoid BYOK providers
|
202
|
+
- Enable SSL verification in production
|
203
|
+
- Configure allowed/blocked hosts appropriately
|
204
|
+
|
205
|
+
### Performance
|
206
|
+
|
207
|
+
- Enable caching for frequently used responses
|
208
|
+
- Use appropriate timeouts for different models
|
209
|
+
- Configure rate limits based on your API plans
|
210
|
+
- Enable parallel processing for better throughput
|
211
|
+
|
212
|
+
### Reliability
|
213
|
+
|
214
|
+
- Configure fallback providers for automatic failover
|
215
|
+
- Enable circuit breakers for fault tolerance
|
216
|
+
- Set up health checks for all providers
|
217
|
+
- Configure appropriate retry strategies
|
218
|
+
|
219
|
+
### Monitoring
|
220
|
+
|
221
|
+
- Enable metrics collection in production
|
222
|
+
- Set up log rotation and retention
|
223
|
+
- Configure monitoring intervals appropriately
|
224
|
+
- Enable audit logging for compliance
|
225
|
+
|
226
|
+
### Cost Management
|
227
|
+
|
228
|
+
- Configure cost tracking for API providers
|
229
|
+
- Set appropriate token limits
|
230
|
+
- Monitor usage and costs regularly
|
231
|
+
- Use cost-effective models when possible
|
232
|
+
|
233
|
+
## Troubleshooting
|
234
|
+
|
235
|
+
### Common Issues
|
236
|
+
|
237
|
+
1. **Provider not working**: Check API keys and endpoints
|
238
|
+
2. **Rate limiting**: Adjust rate limit settings or use fallback providers
|
239
|
+
3. **Timeout errors**: Increase timeout values
|
240
|
+
4. **Configuration errors**: Validate your YAML syntax
|
241
|
+
5. **Permission errors**: Check file permissions for log files
|
242
|
+
|
243
|
+
### Validation
|
244
|
+
|
245
|
+
Use the AIDP configuration validator to check your configuration:
|
246
|
+
|
247
|
+
```bash
|
248
|
+
aidp config validate
|
249
|
+
```
|
250
|
+
|
251
|
+
### Debugging
|
252
|
+
|
253
|
+
Enable debug logging to troubleshoot issues:
|
254
|
+
|
255
|
+
```yaml
|
256
|
+
providers:
|
257
|
+
your_provider:
|
258
|
+
log:
|
259
|
+
level: "debug"
|
260
|
+
log_requests: true
|
261
|
+
log_responses: true
|
262
|
+
```
|
263
|
+
|
264
|
+
## Support
|
265
|
+
|
266
|
+
For more information about AIDP configuration, see:
|
267
|
+
|
268
|
+
- [AIDP Documentation](https://github.com/your-org/aidp/docs)
|
269
|
+
- [Configuration Schema](https://github.com/your-org/aidp/docs/configuration-schema.md)
|
270
|
+
- [Provider Guide](https://github.com/your-org/aidp/docs/providers.md)
|
271
|
+
|
272
|
+
## Contributing
|
273
|
+
|
274
|
+
To contribute new configuration examples or improve existing ones:
|
275
|
+
|
276
|
+
1. Fork the repository
|
277
|
+
2. Create a new configuration file or modify an existing one
|
278
|
+
3. Test your configuration thoroughly
|
279
|
+
4. Submit a pull request with your changes
|
@@ -0,0 +1,373 @@
|
|
1
|
+
# Development AIDP Configuration
|
2
|
+
# This is a development-friendly configuration with debugging features enabled
|
3
|
+
# Copy this file to your project root as 'aidp.yml' and customize as needed
|
4
|
+
|
5
|
+
# Harness configuration
|
6
|
+
harness:
|
7
|
+
# Default provider to use
|
8
|
+
default_provider: "cursor"
|
9
|
+
|
10
|
+
# Fallback providers
|
11
|
+
fallback_providers: ["claude"]
|
12
|
+
|
13
|
+
# Development settings
|
14
|
+
max_retries: 1
|
15
|
+
request_timeout: 60
|
16
|
+
user_feedback_timeout: 60
|
17
|
+
work_completion_timeout: 300
|
18
|
+
|
19
|
+
# Development features
|
20
|
+
auto_switch_on_error: true
|
21
|
+
auto_switch_on_rate_limit: true
|
22
|
+
max_concurrent_requests: 2
|
23
|
+
|
24
|
+
# Circuit breaker configuration (relaxed for development)
|
25
|
+
circuit_breaker:
|
26
|
+
enabled: false
|
27
|
+
failure_threshold: 10
|
28
|
+
timeout: 60
|
29
|
+
half_open_max_calls: 5
|
30
|
+
|
31
|
+
# Retry configuration (minimal for development)
|
32
|
+
retry:
|
33
|
+
enabled: true
|
34
|
+
max_attempts: 1
|
35
|
+
base_delay: 0.5
|
36
|
+
max_delay: 5.0
|
37
|
+
exponential_base: 2.0
|
38
|
+
jitter: false
|
39
|
+
|
40
|
+
# Rate limiting configuration (relaxed for development)
|
41
|
+
rate_limit:
|
42
|
+
enabled: false
|
43
|
+
default_reset_time: 60
|
44
|
+
burst_limit: 100
|
45
|
+
sustained_limit: 50
|
46
|
+
|
47
|
+
# Load balancing configuration
|
48
|
+
load_balancing:
|
49
|
+
enabled: false
|
50
|
+
strategy: "round_robin"
|
51
|
+
health_check_interval: 300
|
52
|
+
unhealthy_threshold: 10
|
53
|
+
|
54
|
+
# Health check configuration (relaxed for development)
|
55
|
+
health_check:
|
56
|
+
enabled: false
|
57
|
+
interval: 300
|
58
|
+
timeout: 30
|
59
|
+
failure_threshold: 10
|
60
|
+
success_threshold: 1
|
61
|
+
|
62
|
+
# Metrics configuration (minimal for development)
|
63
|
+
metrics:
|
64
|
+
enabled: true
|
65
|
+
retention_days: 1
|
66
|
+
aggregation_interval: 60
|
67
|
+
export_interval: 300
|
68
|
+
|
69
|
+
# Session configuration
|
70
|
+
session:
|
71
|
+
enabled: true
|
72
|
+
timeout: 600
|
73
|
+
sticky_sessions: false
|
74
|
+
session_affinity: "provider"
|
75
|
+
|
76
|
+
# User interface configuration (enhanced for development)
|
77
|
+
ui:
|
78
|
+
enabled: true
|
79
|
+
interactive_mode: true
|
80
|
+
file_selection: true
|
81
|
+
progress_display: true
|
82
|
+
status_updates: true
|
83
|
+
pause_resume: true
|
84
|
+
|
85
|
+
# Error handling configuration (enhanced for development)
|
86
|
+
error_handling:
|
87
|
+
enabled: true
|
88
|
+
log_errors: true
|
89
|
+
retry_on_error: false
|
90
|
+
fallback_on_error: true
|
91
|
+
error_notification: true
|
92
|
+
|
93
|
+
# Performance optimization (disabled for development)
|
94
|
+
performance:
|
95
|
+
enabled: false
|
96
|
+
cache_responses: false
|
97
|
+
parallel_processing: false
|
98
|
+
batch_requests: false
|
99
|
+
connection_pooling: false
|
100
|
+
|
101
|
+
# Security configuration (relaxed for development)
|
102
|
+
security:
|
103
|
+
enabled: false
|
104
|
+
ssl_verify: false
|
105
|
+
allowed_hosts: []
|
106
|
+
blocked_hosts: []
|
107
|
+
api_key_rotation: false
|
108
|
+
audit_logging: false
|
109
|
+
|
110
|
+
# Provider configurations
|
111
|
+
providers:
|
112
|
+
# Cursor provider (primary for development)
|
113
|
+
cursor:
|
114
|
+
type: "package"
|
115
|
+
priority: 1
|
116
|
+
default_flags: []
|
117
|
+
|
118
|
+
# Available models
|
119
|
+
models: ["cursor-default", "cursor-fast"]
|
120
|
+
|
121
|
+
# Model weights for load balancing
|
122
|
+
model_weights:
|
123
|
+
cursor-default: 2
|
124
|
+
cursor-fast: 1
|
125
|
+
|
126
|
+
# Model-specific configurations
|
127
|
+
models_config:
|
128
|
+
cursor-default:
|
129
|
+
flags: []
|
130
|
+
timeout: 120
|
131
|
+
cursor-fast:
|
132
|
+
flags: ["--fast"]
|
133
|
+
timeout: 60
|
134
|
+
|
135
|
+
# Provider features
|
136
|
+
features:
|
137
|
+
file_upload: true
|
138
|
+
code_generation: true
|
139
|
+
analysis: true
|
140
|
+
streaming: true
|
141
|
+
|
142
|
+
# Monitoring configuration (enhanced for development)
|
143
|
+
monitoring:
|
144
|
+
enabled: true
|
145
|
+
metrics_interval: 10
|
146
|
+
|
147
|
+
# Rate limiting configuration (disabled for development)
|
148
|
+
rate_limit:
|
149
|
+
enabled: false
|
150
|
+
requests_per_minute: 1000
|
151
|
+
requests_per_hour: 10000
|
152
|
+
burst_limit: 100
|
153
|
+
|
154
|
+
# Retry configuration (minimal for development)
|
155
|
+
retry:
|
156
|
+
enabled: true
|
157
|
+
max_attempts: 1
|
158
|
+
base_delay: 0.5
|
159
|
+
max_delay: 5.0
|
160
|
+
exponential_base: 2.0
|
161
|
+
jitter: false
|
162
|
+
|
163
|
+
# Circuit breaker configuration (disabled for development)
|
164
|
+
circuit_breaker:
|
165
|
+
enabled: false
|
166
|
+
failure_threshold: 100
|
167
|
+
timeout: 60
|
168
|
+
half_open_max_calls: 10
|
169
|
+
|
170
|
+
# Cost tracking
|
171
|
+
cost:
|
172
|
+
input_cost_per_token: 0.0
|
173
|
+
output_cost_per_token: 0.0
|
174
|
+
fixed_cost_per_request: 0.0
|
175
|
+
currency: "USD"
|
176
|
+
|
177
|
+
# Health check configuration (disabled for development)
|
178
|
+
health_check:
|
179
|
+
enabled: false
|
180
|
+
interval: 300
|
181
|
+
timeout: 30
|
182
|
+
failure_threshold: 100
|
183
|
+
success_threshold: 1
|
184
|
+
|
185
|
+
# Logging configuration (enhanced for development)
|
186
|
+
log:
|
187
|
+
enabled: true
|
188
|
+
level: "debug"
|
189
|
+
file: "logs/cursor-dev.log"
|
190
|
+
max_size: 10485760 # 10MB
|
191
|
+
max_files: 3
|
192
|
+
format: "text"
|
193
|
+
log_requests: true
|
194
|
+
log_responses: true
|
195
|
+
|
196
|
+
# Cache configuration (disabled for development)
|
197
|
+
cache:
|
198
|
+
enabled: false
|
199
|
+
ttl: 60
|
200
|
+
max_size: 10
|
201
|
+
strategy: "lru"
|
202
|
+
|
203
|
+
# Security configuration (relaxed for development)
|
204
|
+
security:
|
205
|
+
ssl_verify: false
|
206
|
+
allowed_hosts: []
|
207
|
+
blocked_hosts: []
|
208
|
+
timeout: 60
|
209
|
+
max_redirects: 10
|
210
|
+
|
211
|
+
# Claude provider (fallback for development)
|
212
|
+
claude:
|
213
|
+
type: "api"
|
214
|
+
priority: 2
|
215
|
+
max_tokens: 10000
|
216
|
+
default_flags: ["--dangerously-skip-permissions"]
|
217
|
+
|
218
|
+
# Available models (limited for development)
|
219
|
+
models: ["claude-3-5-haiku-20241022"]
|
220
|
+
|
221
|
+
# Model weights for load balancing
|
222
|
+
model_weights:
|
223
|
+
claude-3-5-haiku-20241022: 1
|
224
|
+
|
225
|
+
# Model-specific configurations
|
226
|
+
models_config:
|
227
|
+
claude-3-5-haiku-20241022:
|
228
|
+
flags: ["--dangerously-skip-permissions"]
|
229
|
+
max_tokens: 10000
|
230
|
+
timeout: 60
|
231
|
+
|
232
|
+
# Authentication configuration
|
233
|
+
auth:
|
234
|
+
api_key_env: "ANTHROPIC_API_KEY"
|
235
|
+
|
236
|
+
# Endpoint configuration
|
237
|
+
endpoints:
|
238
|
+
default: "https://api.anthropic.com/v1/messages"
|
239
|
+
|
240
|
+
# Provider features
|
241
|
+
features:
|
242
|
+
file_upload: true
|
243
|
+
code_generation: true
|
244
|
+
analysis: true
|
245
|
+
vision: true
|
246
|
+
streaming: true
|
247
|
+
function_calling: true
|
248
|
+
tool_use: true
|
249
|
+
|
250
|
+
# Monitoring configuration (enhanced for development)
|
251
|
+
monitoring:
|
252
|
+
enabled: true
|
253
|
+
metrics_interval: 10
|
254
|
+
|
255
|
+
# Rate limiting configuration (relaxed for development)
|
256
|
+
rate_limit:
|
257
|
+
enabled: false
|
258
|
+
requests_per_minute: 100
|
259
|
+
requests_per_hour: 1000
|
260
|
+
tokens_per_minute: 10000
|
261
|
+
tokens_per_hour: 100000
|
262
|
+
burst_limit: 20
|
263
|
+
|
264
|
+
# Retry configuration (minimal for development)
|
265
|
+
retry:
|
266
|
+
enabled: true
|
267
|
+
max_attempts: 1
|
268
|
+
base_delay: 0.5
|
269
|
+
max_delay: 5.0
|
270
|
+
exponential_base: 2.0
|
271
|
+
jitter: false
|
272
|
+
retry_on_rate_limit: false
|
273
|
+
|
274
|
+
# Circuit breaker configuration (disabled for development)
|
275
|
+
circuit_breaker:
|
276
|
+
enabled: false
|
277
|
+
failure_threshold: 100
|
278
|
+
timeout: 60
|
279
|
+
half_open_max_calls: 10
|
280
|
+
|
281
|
+
# Cost tracking
|
282
|
+
cost:
|
283
|
+
input_cost_per_token: 0.000003
|
284
|
+
output_cost_per_token: 0.000015
|
285
|
+
fixed_cost_per_request: 0.0
|
286
|
+
currency: "USD"
|
287
|
+
|
288
|
+
# Health check configuration (disabled for development)
|
289
|
+
health_check:
|
290
|
+
enabled: false
|
291
|
+
interval: 300
|
292
|
+
timeout: 30
|
293
|
+
failure_threshold: 100
|
294
|
+
success_threshold: 1
|
295
|
+
check_url: "https://api.anthropic.com/v1/messages"
|
296
|
+
|
297
|
+
# Logging configuration (enhanced for development)
|
298
|
+
log:
|
299
|
+
enabled: true
|
300
|
+
level: "debug"
|
301
|
+
file: "logs/claude-dev.log"
|
302
|
+
max_size: 10485760 # 10MB
|
303
|
+
max_files: 3
|
304
|
+
format: "text"
|
305
|
+
log_requests: true
|
306
|
+
log_responses: true
|
307
|
+
|
308
|
+
# Cache configuration (disabled for development)
|
309
|
+
cache:
|
310
|
+
enabled: false
|
311
|
+
ttl: 60
|
312
|
+
max_size: 10
|
313
|
+
strategy: "lru"
|
314
|
+
|
315
|
+
# Security configuration (relaxed for development)
|
316
|
+
security:
|
317
|
+
ssl_verify: false
|
318
|
+
allowed_hosts: []
|
319
|
+
blocked_hosts: []
|
320
|
+
timeout: 60
|
321
|
+
max_redirects: 10
|
322
|
+
|
323
|
+
# Environment-specific configurations
|
324
|
+
environments:
|
325
|
+
development:
|
326
|
+
harness:
|
327
|
+
max_retries: 1
|
328
|
+
request_timeout: 60
|
329
|
+
providers:
|
330
|
+
cursor:
|
331
|
+
log:
|
332
|
+
level: "debug"
|
333
|
+
monitoring:
|
334
|
+
enabled: true
|
335
|
+
claude:
|
336
|
+
rate_limit:
|
337
|
+
enabled: false
|
338
|
+
log:
|
339
|
+
level: "debug"
|
340
|
+
monitoring:
|
341
|
+
enabled: true
|
342
|
+
|
343
|
+
# Feature flags for development
|
344
|
+
features:
|
345
|
+
debugging:
|
346
|
+
harness:
|
347
|
+
log_errors: true
|
348
|
+
error_notification: true
|
349
|
+
providers:
|
350
|
+
cursor:
|
351
|
+
log:
|
352
|
+
level: "debug"
|
353
|
+
log_requests: true
|
354
|
+
log_responses: true
|
355
|
+
claude:
|
356
|
+
log:
|
357
|
+
level: "debug"
|
358
|
+
log_requests: true
|
359
|
+
log_responses: true
|
360
|
+
|
361
|
+
# Configuration tips for development:
|
362
|
+
# - Use minimal retry settings for faster feedback
|
363
|
+
# - Enable detailed logging for debugging
|
364
|
+
# - Disable rate limiting for testing
|
365
|
+
# - Use relaxed timeouts for development
|
366
|
+
# - Enable request/response logging
|
367
|
+
# - Disable caching to see fresh results
|
368
|
+
# - Use minimal health checks
|
369
|
+
# - Disable circuit breakers for testing
|
370
|
+
# - Use text format logs for readability
|
371
|
+
# - Set up proper API keys in environment variables
|
372
|
+
# - Use fast models for quicker iteration
|
373
|
+
# - Enable all debugging features
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Minimal AIDP Configuration
|
2
|
+
# This is a minimal configuration file for basic harness usage
|
3
|
+
# Copy this file to your project root as 'aidp.yml' and customize as needed
|
4
|
+
|
5
|
+
# Harness configuration
|
6
|
+
harness:
|
7
|
+
# Default provider to use
|
8
|
+
default_provider: "cursor"
|
9
|
+
|
10
|
+
# Fallback providers
|
11
|
+
fallback_providers: ["claude"]
|
12
|
+
|
13
|
+
# Basic retry configuration
|
14
|
+
max_retries: 2
|
15
|
+
|
16
|
+
# Provider configurations
|
17
|
+
providers:
|
18
|
+
# Cursor provider (package-based)
|
19
|
+
cursor:
|
20
|
+
type: "package"
|
21
|
+
priority: 1
|
22
|
+
models: ["cursor-default"]
|
23
|
+
features:
|
24
|
+
file_upload: true
|
25
|
+
code_generation: true
|
26
|
+
analysis: true
|
27
|
+
|
28
|
+
# Claude provider (API-based)
|
29
|
+
claude:
|
30
|
+
type: "api"
|
31
|
+
priority: 2
|
32
|
+
max_tokens: 100000
|
33
|
+
models: ["claude-3-5-sonnet-20241022"]
|
34
|
+
auth:
|
35
|
+
api_key_env: "ANTHROPIC_API_KEY"
|
36
|
+
endpoints:
|
37
|
+
default: "https://api.anthropic.com/v1/messages"
|
38
|
+
features:
|
39
|
+
file_upload: true
|
40
|
+
code_generation: true
|
41
|
+
analysis: true
|
42
|
+
vision: true
|
43
|
+
|
44
|
+
# Configuration tips:
|
45
|
+
# - Set your ANTHROPIC_API_KEY environment variable for Claude
|
46
|
+
# - Adjust max_tokens based on your API plan limits
|
47
|
+
# - Add more providers as needed
|
48
|
+
# - Configure fallback_providers for automatic failover
|