aidp 0.21.1 → 0.23.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3fd6b2db707c511e0bc99dedaf4c3f5ec8253eae8d7b93676c9b0dee8ef1f4ed
4
- data.tar.gz: 558e0bb69e104ed325b77333d401ebde141eb2b7f969ac8eb473ce253331b244
3
+ metadata.gz: 1dedfe324bb5255c43e42a4ac3f716bb99f9db453ae436a1e2aa57b68754a28f
4
+ data.tar.gz: 24b5a225e474c14dabad326455e4d5286e175dc6a929a1bffab4ffb29c1c063c
5
5
  SHA512:
6
- metadata.gz: 4e1455bf6c12523a5598ec8da183c7bf720512a8edee62e9dd22d32f75774bbb4801c506fd9d45da29486fdd15b9a249a2846f092ce1100cd8b2df84f9ee3c39
7
- data.tar.gz: f100cbd42b108e823c0735d1c643cfc4cf3f9f9bc7ea92547466bc33a1001a36ceceedaee45f1e319214503edf804e982478047720be52fcafb23440728b8d55
6
+ metadata.gz: b842c15a0169d3b3c7361cbdf633b5bb66d0189f40fb16e12099436b3db7eda3e983fb624326b2160dd018d63090feae2b92042f46758990c31cef9172252d36
7
+ data.tar.gz: 1c614a680d74d56fff4561a62eee471ab1d8f7b8b2cc801786da25a63c12b142948f8e418477a4b479b3b119abe2275b954d9202662f7acbb36cdd82401a68eb
data/README.md CHANGED
@@ -48,8 +48,8 @@ AIDP provides first-class devcontainer support for sandboxed, secure AI agent ex
48
48
 
49
49
  - **Network Security**: Strict firewall with allowlisted domains only
50
50
  - **Sandboxed Environment**: Isolated from your host system
51
- - **Elevated Permissions**: AI agents can run with full permissions inside the container
52
51
  - **Consistent Setup**: Same environment across all developers
52
+ - **Automatic Management**: AIDP can generate and update your devcontainer configuration
53
53
 
54
54
  ### For AIDP Development
55
55
 
@@ -73,43 +73,54 @@ See [.devcontainer/README.md](.devcontainer/README.md) for complete documentatio
73
73
 
74
74
  ### Generating Devcontainers for Your Projects
75
75
 
76
- Use `aidp init` to generate a devcontainer for any project:
76
+ AIDP can automatically generate and manage devcontainer configurations through the interactive wizard:
77
77
 
78
78
  ```bash
79
- # Initialize project with devcontainer
80
- aidp init
79
+ # Launch the interactive configuration wizard
80
+ aidp config --interactive
81
81
 
82
- # When prompted:
83
- # "Generate devcontainer configuration for sandboxed development?" Yes
82
+ # During the wizard, you'll be asked:
83
+ # - Whether you want AIDP to manage your devcontainer configuration
84
+ # - If you want to add custom ports beyond auto-detected ones
84
85
 
85
- # Or use the flag directly
86
- aidp init --with-devcontainer
86
+ # The wizard will detect ports based on your project type and generate
87
+ # a complete devcontainer.json configuration
87
88
  ```
88
89
 
89
- This creates:
90
+ You can also manage devcontainer configuration manually:
91
+
92
+ ```yaml
93
+ # .aidp/aidp.yml
94
+ devcontainer:
95
+ manage: true
96
+ custom_ports:
97
+ - number: 3000
98
+ label: "Application Server"
99
+ - number: 5432
100
+ label: "PostgreSQL"
101
+ ```
90
102
 
91
- - `.devcontainer/Dockerfile` - Customized for your project's language/framework
92
- - `.devcontainer/devcontainer.json` - VS Code configuration and extensions
93
- - `.devcontainer/init-firewall.sh` - Network security rules
94
- - `.devcontainer/README.md` - Setup and usage documentation
103
+ Then apply the configuration:
95
104
 
96
- ### Elevated Permissions in Devcontainers
105
+ ```bash
106
+ # Preview changes
107
+ aidp devcontainer diff
97
108
 
98
- When running inside a devcontainer, you can enable elevated permissions for AI agents:
109
+ # Apply configuration
110
+ aidp devcontainer apply
99
111
 
100
- ```yaml
101
- # aidp.yml
102
- devcontainer:
103
- enabled: true
104
- full_permissions_when_in_devcontainer: true # Run all providers with full permissions
112
+ # List backups
113
+ aidp devcontainer list-backups
105
114
 
106
- # Or enable per-provider
107
- permissions:
108
- skip_permission_checks:
109
- - claude # Adds --dangerously-skip-permissions for Claude Code
115
+ # Restore from backup
116
+ aidp devcontainer restore 0
110
117
  ```
111
118
 
112
- AIDP automatically detects when it's running in a devcontainer and adjusts agent permissions accordingly. This is safe because the container is sandboxed from your host system.
119
+ See [docs/DEVELOPMENT_CONTAINER.md](docs/DEVELOPMENT_CONTAINER.md) for complete devcontainer management documentation.
120
+
121
+ ### Devcontainer Detection
122
+
123
+ AIDP automatically detects when it's running inside a devcontainer and adjusts its behavior accordingly. This detection uses multiple heuristics including environment variables, filesystem markers, and cgroup information. See [DevcontainerDetector](lib/aidp/utils/devcontainer_detector.rb) for implementation details.
113
124
 
114
125
  ## Core Features
115
126
 
@@ -190,6 +201,101 @@ aidp ws rm issue-123-fix-auth --delete-branch
190
201
 
191
202
  See [Workstreams Guide](docs/WORKSTREAMS.md) for detailed usage.
192
203
 
204
+ ### Watch Mode (Automated GitHub Integration)
205
+
206
+ AIDP can automatically monitor GitHub repositories and respond to labeled issues, creating plans and executing implementations autonomously:
207
+
208
+ ```bash
209
+ # Start watch mode for a repository
210
+ aidp watch https://github.com/owner/repo/issues
211
+
212
+ # Optional: specify polling interval, provider, and verbose output
213
+ aidp watch owner/repo --interval 60 --provider claude --verbose
214
+
215
+ # Run a single cycle (useful for CI/testing)
216
+ aidp watch owner/repo --once
217
+ ```
218
+
219
+ **Label Workflow:**
220
+
221
+ AIDP uses a smart label-based workflow to manage the lifecycle of automated issue resolution:
222
+
223
+ 1. **Planning Phase** (`aidp-plan` label):
224
+ - Add this label to an issue to trigger plan generation
225
+ - AIDP generates an implementation plan with task breakdown and clarifying questions
226
+ - Posts the plan as a comment on the issue
227
+ - Automatically removes the `aidp-plan` label
228
+
229
+ 2. **Review & Clarification**:
230
+ - **If questions exist**: AIDP adds `aidp-needs-input` label and waits for user response
231
+ - User responds to questions in a comment
232
+ - User manually removes `aidp-needs-input` and adds `aidp-build` to proceed
233
+ - **If no questions**: AIDP adds `aidp-ready` label, indicating it's ready to build
234
+ - User can review the plan before proceeding
235
+ - User manually adds `aidp-build` label when ready
236
+
237
+ 3. **Implementation Phase** (`aidp-build` label):
238
+ - Triggers autonomous implementation via work loops
239
+ - Creates a feature branch and commits changes
240
+ - Runs tests and linters with automatic fixes
241
+ - **If clarification needed during implementation**:
242
+ - Posts clarification questions as a comment
243
+ - Automatically removes `aidp-build` label and adds `aidp-needs-input`
244
+ - Preserves work-in-progress for later resumption
245
+ - User responds to questions, then manually removes `aidp-needs-input` and re-adds `aidp-build`
246
+ - **On success**:
247
+ - Posts completion comment with summary
248
+ - Automatically removes the `aidp-build` label
249
+
250
+ **Customizable Labels:**
251
+
252
+ All label names are configurable to match your repository's existing label scheme. Configure via the interactive wizard or manually in `aidp.yml`:
253
+
254
+ ```yaml
255
+ # .aidp/aidp.yml
256
+ watch:
257
+ labels:
258
+ plan_trigger: aidp-plan # Label to trigger plan generation
259
+ needs_input: aidp-needs-input # Label when plan needs user input
260
+ ready_to_build: aidp-ready # Label when plan is ready to build
261
+ build_trigger: aidp-build # Label to trigger implementation
262
+ ```
263
+
264
+ Run `aidp config --interactive` and enable watch mode to configure labels interactively.
265
+
266
+ **Safety Features:**
267
+
268
+ - **Public Repository Protection**: Disabled by default for public repos (require explicit opt-in)
269
+ - **Author Allowlist**: Restrict automation to trusted GitHub users only
270
+ - **Container Requirement**: Optionally require sandboxed environment
271
+ - **Force Override**: `--force` flag to bypass safety checks (dangerous!)
272
+
273
+ **Safety Configuration:**
274
+
275
+ ```yaml
276
+ # .aidp/aidp.yml
277
+ watch:
278
+ safety:
279
+ allow_public_repos: true # Required for public repositories
280
+ author_allowlist: # Only these users can trigger automation
281
+ - trusted-maintainer
282
+ - team-member
283
+ require_container: true # Require devcontainer/Docker environment
284
+ ```
285
+
286
+ Run `aidp config --interactive` and enable watch mode to configure safety settings interactively.
287
+
288
+ **Clarification Requests:**
289
+
290
+ AIDP can automatically request clarification when it needs more information during implementation. This works in both watch mode and interactive mode:
291
+
292
+ - **Watch Mode**: Posts clarification questions as a GitHub comment, updates labels to `aidp-needs-input`, and waits for user response
293
+ - **Interactive Mode**: Prompts the user directly in the terminal to answer questions before continuing
294
+
295
+ This ensures AIDP never gets stuck - if it needs more information, it will ask for it rather than making incorrect assumptions or failing silently.
296
+
297
+ See [Watch Mode Guide](docs/FULLY_AUTOMATIC_MODE.md) and [Watch Mode Safety](docs/WATCH_MODE_SAFETY.md) for complete documentation.
298
+
193
299
  ## Command Reference
194
300
 
195
301
  ### Copilot Mode
@@ -263,6 +369,20 @@ aidp ws rm <slug> --delete-branch # Also delete git branch
263
369
  aidp ws rm <slug> --force # Skip confirmation
264
370
  ```
265
371
 
372
+ ### Configuration Commands
373
+
374
+ ```bash
375
+ # Interactive configuration wizard (recommended)
376
+ aidp config --interactive # Configure all settings including watch mode
377
+
378
+ # Legacy setup wizard
379
+ aidp --setup-config # Re-run basic setup wizard
380
+
381
+ # Help and version
382
+ aidp --help # Show all commands
383
+ aidp --version # Show version
384
+ ```
385
+
266
386
  ### System Commands
267
387
 
268
388
  ```bash
@@ -275,11 +395,6 @@ aidp providers
275
395
  # Harness state management
276
396
  aidp harness status
277
397
  aidp harness reset
278
-
279
- # Configuration
280
- aidp --setup-config # Re-run setup wizard
281
- aidp --help # Show all commands
282
- aidp --version # Show version
283
398
  ```
284
399
 
285
400
  ## AI Providers
@@ -291,7 +406,6 @@ AIDP intelligently manages multiple providers with automatic switching:
291
406
  - **Cursor CLI** - IDE-integrated provider for code-specific tasks
292
407
  - **Gemini CLI** - Google's Gemini command-line interface for general tasks
293
408
  - **GitHub Copilot CLI** - GitHub's AI pair programmer command-line interface
294
- - **macOS UI** - macOS-specific UI automation provider
295
409
  - **OpenCode** - Alternative open-source code generation provider
296
410
 
297
411
  The system automatically switches providers when: