devloop 0.4.1__tar.gz → 0.5.1__tar.gz
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.
- {devloop-0.4.1 → devloop-0.5.1}/PKG-INFO +628 -23
- {devloop-0.4.1 → devloop-0.5.1}/README.md +624 -22
- {devloop-0.4.1 → devloop-0.5.1}/pyproject.toml +12 -3
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/ci_monitor.py +71 -97
- devloop-0.5.1/src/devloop/cli/commands/agent_publish.py +329 -0
- devloop-0.5.1/src/devloop/cli/commands/marketplace.py +532 -0
- devloop-0.5.1/src/devloop/cli/commands/marketplace_server.py +154 -0
- devloop-0.5.1/src/devloop/cli/commands/metrics.py +836 -0
- devloop-0.5.1/src/devloop/cli/commands/release.py +213 -0
- devloop-0.5.1/src/devloop/cli/commands/tools.py +88 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/main.py +293 -39
- devloop-0.5.1/src/devloop/cli/pre_push_check.py +66 -0
- devloop-0.5.1/src/devloop/cli/templates/.devloop/tools-registry.json +105 -0
- devloop-0.5.1/src/devloop/cli/templates/devloop_agents_template.md +317 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/templates/git_hooks/pre-push +34 -11
- devloop-0.5.1/src/devloop/cli/templates/supervisor/devloop.conf +25 -0
- devloop-0.5.1/src/devloop/cli/templates/systemd/devloop.service +35 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/collectors/filesystem.py +44 -1
- devloop-0.5.1/src/devloop/core/__init__.py +97 -0
- devloop-0.5.1/src/devloop/core/action_logger.py +265 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/agent.py +16 -0
- devloop-0.5.1/src/devloop/core/amp_thread_mapper.py +589 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/claude_adapter.py +5 -3
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/config.py +82 -7
- devloop-0.5.1/src/devloop/core/config_schema.py +400 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/context_store.py +41 -3
- devloop-0.5.1/src/devloop/core/daemon_health.py +161 -0
- devloop-0.5.1/src/devloop/core/error_handler.py +243 -0
- devloop-0.5.1/src/devloop/core/error_notifier.py +203 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/event.py +8 -0
- devloop-0.5.1/src/devloop/core/event_replayer.py +118 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/event_store.py +221 -4
- devloop-0.5.1/src/devloop/core/pattern_analyzer.py +411 -0
- devloop-0.5.1/src/devloop/core/pattern_detector.py +285 -0
- devloop-0.5.1/src/devloop/core/tool_dependencies.py +333 -0
- devloop-0.5.1/src/devloop/core/tool_registry.py +412 -0
- devloop-0.5.1/src/devloop/core/tool_runner.py +300 -0
- devloop-0.5.1/src/devloop/core/transactional_io.py +486 -0
- devloop-0.5.1/src/devloop/integrations/__init__.py +16 -0
- devloop-0.5.1/src/devloop/integrations/beads_integration.py +324 -0
- devloop-0.5.1/src/devloop/lsp/__init__.py +5 -0
- devloop-0.5.1/src/devloop/lsp/__main__.py +6 -0
- devloop-0.5.1/src/devloop/lsp/mapper.py +130 -0
- devloop-0.5.1/src/devloop/lsp/server.py +366 -0
- devloop-0.5.1/src/devloop/marketplace/__init__.py +43 -0
- devloop-0.5.1/src/devloop/marketplace/api.py +552 -0
- devloop-0.5.1/src/devloop/marketplace/cache.py +180 -0
- devloop-0.5.1/src/devloop/marketplace/http_server.py +278 -0
- devloop-0.5.1/src/devloop/marketplace/installer.py +353 -0
- devloop-0.5.1/src/devloop/marketplace/metadata.py +229 -0
- devloop-0.5.1/src/devloop/marketplace/publisher.py +422 -0
- devloop-0.5.1/src/devloop/marketplace/registry.py +290 -0
- devloop-0.5.1/src/devloop/marketplace/registry_client.py +275 -0
- devloop-0.5.1/src/devloop/marketplace/reviews.py +349 -0
- devloop-0.5.1/src/devloop/marketplace/search.py +160 -0
- devloop-0.5.1/src/devloop/marketplace/signing.py +265 -0
- devloop-0.5.1/src/devloop/metrics/__init__.py +17 -0
- devloop-0.5.1/src/devloop/metrics/dora.py +509 -0
- devloop-0.5.1/src/devloop/providers/__init__.py +37 -0
- devloop-0.5.1/src/devloop/providers/ci_provider.py +158 -0
- devloop-0.5.1/src/devloop/providers/circleci_provider.py +330 -0
- devloop-0.5.1/src/devloop/providers/github_actions_provider.py +232 -0
- devloop-0.5.1/src/devloop/providers/gitlab_ci_provider.py +248 -0
- devloop-0.5.1/src/devloop/providers/jenkins_provider.py +288 -0
- devloop-0.5.1/src/devloop/providers/provider_manager.py +190 -0
- devloop-0.5.1/src/devloop/providers/pypi_registry.py +192 -0
- devloop-0.5.1/src/devloop/providers/registry_provider.py +117 -0
- devloop-0.5.1/src/devloop/release/__init__.py +5 -0
- devloop-0.5.1/src/devloop/release/release_manager.py +454 -0
- devloop-0.5.1/src/devloop/security/__init__.py +49 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/security/bubblewrap_sandbox.py +24 -2
- devloop-0.5.1/src/devloop/security/path_validator.py +352 -0
- devloop-0.5.1/src/devloop/security/token_manager.py +419 -0
- devloop-0.4.1/src/devloop/core/__init__.py +0 -21
- devloop-0.4.1/src/devloop/security/__init__.py +0 -15
- {devloop-0.4.1 → devloop-0.5.1}/LICENSE +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/__init__.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/__init__.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/agent_health_monitor.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/code_rabbit.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/doc_lifecycle.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/echo.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/file_logger.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/formatter.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/git_commit_assistant.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/linter.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/performance_profiler.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/sandbox_helper.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/security_scanner.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/snyk.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/test_runner.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/agents/type_checker.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/__init__.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/commands/__init__.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/commands/audit.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/commands/custom_agents.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/commands/feedback.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/commands/summary.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/commands/telemetry.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/main_v1.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/prerequisites.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/pyodide_installer.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/templates/claude_commands/README.md +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/templates/claude_commands/agent-summary.md +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/templates/claude_commands/devloop-findings.md +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/templates/claude_commands/devloop-status.md +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/templates/claude_commands/extract-findings.md +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/templates/claude_commands/verify-work.md +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/templates/git_hooks/pre-commit +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/cli/templates/git_hooks/pre-commit-checks +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/collectors/__init__.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/collectors/base.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/collectors/git.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/collectors/manager.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/collectors/process.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/collectors/system.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/agent_audit_logger.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/agent_template.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/amp_integration.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/auto_fix.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/backup_manager.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/context.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/contextual_feedback.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/custom_agent.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/debug_trace.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/feedback.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/file_lock_manager.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/learning.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/manager.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/operational_health.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/performance.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/proactive_feedback.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/summary_formatter.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/summary_generator.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/core/telemetry.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/security/audit_logger.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/security/cgroups_helper.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/security/factory.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/security/no_sandbox.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/security/package.json +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/security/pyodide_runner.js +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/security/pyodide_sandbox.py +0 -0
- {devloop-0.4.1 → devloop-0.5.1}/src/devloop/security/sandbox.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devloop
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.1
|
|
4
4
|
Summary: Intelligent background agents for development workflow automation
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -24,10 +24,13 @@ Classifier: Topic :: Utilities
|
|
|
24
24
|
Provides-Extra: all-optional
|
|
25
25
|
Provides-Extra: ci-monitor
|
|
26
26
|
Provides-Extra: code-rabbit
|
|
27
|
+
Provides-Extra: marketplace-api
|
|
27
28
|
Provides-Extra: snyk
|
|
28
29
|
Requires-Dist: aiofiles (>=23.2,<24.0)
|
|
30
|
+
Requires-Dist: lsprotocol (>=2023.0.0,<2024.0.0)
|
|
29
31
|
Requires-Dist: psutil (>=5.9,<6.0)
|
|
30
32
|
Requires-Dist: pydantic (>=2.5,<3.0)
|
|
33
|
+
Requires-Dist: pygls (>=1.3.0,<2.0.0)
|
|
31
34
|
Requires-Dist: rich (>=13.7,<14.0)
|
|
32
35
|
Requires-Dist: typer (>=0.15,<1.0)
|
|
33
36
|
Requires-Dist: watchdog (>=3.0,<4.0)
|
|
@@ -41,7 +44,7 @@ Description-Content-Type: text/markdown
|
|
|
41
44
|
> **Intelligent background agents for development workflow automation** — automate code quality checks, testing, documentation, and more while you code.
|
|
42
45
|
|
|
43
46
|
[](https://www.python.org/downloads/)
|
|
44
|
-
[](#testing)
|
|
45
48
|
[](#status)
|
|
46
49
|
[](LICENSE)
|
|
47
50
|
|
|
@@ -78,11 +81,11 @@ edit code → save → ✅ agents run automatically → ✅ all checks pass →
|
|
|
78
81
|
```
|
|
79
82
|
|
|
80
83
|
**Key benefits:**
|
|
81
|
-
- 🎯 **Catch 90%+ of CI failures locally** before they reach your repository
|
|
84
|
+
- 🎯 **Catch 90%+ of CI failures locally**[^1] before they reach your repository
|
|
82
85
|
- ⚡ **Sub-second feedback** on linting, formatting, type errors
|
|
83
86
|
- 🔒 **Pre-commit enforcement** prevents bad commits from ever being created
|
|
84
87
|
- 🧠 **Smart test selection** runs only affected tests, not the entire suite
|
|
85
|
-
- 💰 **Reduce CI costs** by 60%+ through fewer pipeline runs
|
|
88
|
+
- 💰 **Reduce CI costs** by 60%+[^2] through fewer pipeline runs
|
|
86
89
|
|
|
87
90
|
---
|
|
88
91
|
|
|
@@ -112,7 +115,7 @@ Try it on a side project first. See results in minutes, not days.
|
|
|
112
115
|
|
|
113
116
|
### What's Working ✅
|
|
114
117
|
|
|
115
|
-
DevLoop has **production-grade** foundation with
|
|
118
|
+
DevLoop has **production-grade** foundation with 737+ passing tests:
|
|
116
119
|
|
|
117
120
|
- **Core stability**: Event system, agent coordination, context management - all battle-tested
|
|
118
121
|
- **Code quality**: Black, Ruff, mypy, pytest - works reliably across 1000s of file changes
|
|
@@ -125,14 +128,14 @@ DevLoop has **production-grade** foundation with 239+ passing tests:
|
|
|
125
128
|
|
|
126
129
|
### Known Limitations ⚠️
|
|
127
130
|
|
|
128
|
-
|
|
131
|
+
DevLoop has been thoroughly tested (737+ tests) with production-grade implementations. Remaining limitations are minor:
|
|
129
132
|
|
|
130
133
|
| Risk | Current Status | Mitigation |
|
|
131
134
|
|------|---------------|------------|
|
|
132
|
-
| Auto-fix safety |
|
|
133
|
-
|
|
|
134
|
-
|
|
|
135
|
-
| Config migrations |
|
|
135
|
+
| Auto-fix safety | Fully implemented with configurable safety levels (`safe_only`, `medium`, `all`) | Reviews available via git diff before commit |
|
|
136
|
+
| Resource isolation | Graceful CPU/memory limits with configurable thresholds | Use `resourceLimits` in `.devloop/agents.json` |
|
|
137
|
+
| Daemon restart | Automatic supervision and restart handling on failure | Logs available at `.devloop/devloop.log` |
|
|
138
|
+
| Config migrations | Automated with schema versioning system | Handled automatically on version upgrades |
|
|
136
139
|
|
|
137
140
|
[View complete risk assessment →](./history/RISK_ASSESSMENT.md)
|
|
138
141
|
|
|
@@ -166,7 +169,7 @@ Like any alpha software, some features need hardening:
|
|
|
166
169
|
| **Feedback Speed** | 10-30 min | On commit only | **<1 second** (as you type) |
|
|
167
170
|
| **Coverage** | Full suite | Basic checks | **Comprehensive** (11 agents) |
|
|
168
171
|
| **Context Switching** | High (wait for CI) | Medium (at commit) | **Minimal** (background) |
|
|
169
|
-
| **CI Cost** | High (every push) | Medium (fewer failures) | **Low** (60%+ reduction) |
|
|
172
|
+
| **CI Cost** | High (every push) | Medium (fewer failures) | **Low** (60%+[^2] reduction) |
|
|
170
173
|
| **Smart Test Selection** | ❌ Runs all tests | ❌ Manual selection | **✅ Automatic** |
|
|
171
174
|
| **Learning System** | ❌ Static rules | ❌ Static rules | **✅ Adapts** to your patterns |
|
|
172
175
|
| **Security Scanning** | ✅ On push | ❌ Rarely | **✅ On save** |
|
|
@@ -176,9 +179,9 @@ Like any alpha software, some features need hardening:
|
|
|
176
179
|
**The DevLoop advantage**: Combines the comprehensiveness of CI with the speed of local checks, plus intelligence that neither provides.
|
|
177
180
|
|
|
178
181
|
**Real impact**:
|
|
179
|
-
- **Before DevLoop**: 6-8 CI failures per day × 15 min = 90-120 min wasted
|
|
182
|
+
- **Before DevLoop**: 6-8 CI failures per day[^3] × 15 min = 90-120 min wasted
|
|
180
183
|
- **After DevLoop**: 1-2 CI failures per day × 15 min = 15-30 min wasted
|
|
181
|
-
- **Time saved**: ~75-90 minutes per developer per day
|
|
184
|
+
- **Time saved**: ~75-90 minutes per developer per day[^3]
|
|
182
185
|
|
|
183
186
|
---
|
|
184
187
|
|
|
@@ -186,16 +189,53 @@ Like any alpha software, some features need hardening:
|
|
|
186
189
|
|
|
187
190
|
DevLoop runs background agents that automatically:
|
|
188
191
|
|
|
192
|
+
### Code Quality & Testing
|
|
189
193
|
- **🔍 Linting & Type Checking** — Detect issues as you code (mypy, custom linters)
|
|
190
194
|
- **📝 Code Formatting** — Auto-format files with Black, isort, and more
|
|
191
195
|
- **✅ Testing** — Run relevant tests on file changes
|
|
196
|
+
|
|
197
|
+
### Security & Performance
|
|
192
198
|
- **🔐 Security Scanning** — Find vulnerabilities with Bandit
|
|
193
|
-
- **📚 Documentation** — Keep docs in sync with code changes
|
|
194
199
|
- **⚡ Performance** — Track performance metrics and detect regressions
|
|
200
|
+
|
|
201
|
+
### Workflow & Documentation
|
|
202
|
+
- **📚 Documentation** — Keep docs in sync with code changes
|
|
195
203
|
- **🎯 Git Integration** — Generate smart commit messages
|
|
196
204
|
- **🤖 Custom Agents** — Create no-code agents via builder pattern
|
|
205
|
+
|
|
206
|
+
### Agent Marketplace (NEW!)
|
|
207
|
+
- **🏪 Agent Marketplace** — Discover and share agents with the community
|
|
208
|
+
- **📦 Agent Publishing** — Publish your agents with semantic versioning & signing
|
|
209
|
+
- **✍️ Cryptographic Signing** — SHA256 checksums + directory hashing for tamper detection
|
|
210
|
+
- **⭐ Ratings & Reviews** — Community ratings, user reviews, and agent statistics
|
|
211
|
+
- **🔍 Agent Discovery** — Full-text search, category filtering, install tracking
|
|
212
|
+
- **🔄 Version Management** — Manage agent versions, deprecation notices, and updates
|
|
213
|
+
- **🛠️ Tool Dependencies** — Automatic dependency resolution for agent tools
|
|
214
|
+
- **🌐 REST API Server** — Run a local/remote marketplace with HTTP API
|
|
215
|
+
|
|
216
|
+
### IDE & Editor Integration
|
|
217
|
+
- **VSCode Extension** — Real-time agent feedback with inline quick fixes and status bar integration
|
|
218
|
+
- **LSP Server** — Language Server Protocol for multi-editor support
|
|
219
|
+
- **Agent Status Display** — View findings and metrics directly in your editor
|
|
220
|
+
|
|
221
|
+
### Developer Experience & Reliability
|
|
222
|
+
- **Daemon Supervision** — Automatic process monitoring and restart handling
|
|
223
|
+
- **Transactional I/O** — Atomic writes, checksums, corruption recovery
|
|
224
|
+
- **Config Schema Versioning** — Automatic migration between configuration versions
|
|
225
|
+
- **Self-healing Filesystem** — Detects and repairs corrupted data files
|
|
226
|
+
- **Event Logging** — Structured SQLite audit trail with 30-day retention
|
|
227
|
+
|
|
228
|
+
### Workflow Integration
|
|
229
|
+
- **Beads Task Integration** — Auto-create issues from detected patterns
|
|
230
|
+
- **Amp Thread Context** — Cross-thread pattern detection and analytics
|
|
231
|
+
- **Multi-CI Support** — GitHub Actions, GitLab CI, Jenkins, CircleCI
|
|
232
|
+
- **Multi-Registry Support** — PyPI, npm, Docker, and custom registries
|
|
233
|
+
|
|
234
|
+
### Advanced Features
|
|
197
235
|
- **📊 Learning System** — Automatically learn patterns and optimize behavior
|
|
198
236
|
- **🔄 Auto-fix** — Safely apply fixes (configurable safety levels)
|
|
237
|
+
- **🔐 Token Security** — Secure credential management with OAuth2 and validation
|
|
238
|
+
- **🧹 Cache Management** — Smart cleanup of stale caches and temporary files
|
|
199
239
|
|
|
200
240
|
All agents run **non-intrusively in the background**, respecting your workflow.
|
|
201
241
|
|
|
@@ -214,7 +254,9 @@ All agents run **non-intrusively in the background**, respecting your workflow.
|
|
|
214
254
|
|
|
215
255
|
### Installation
|
|
216
256
|
|
|
217
|
-
**Prerequisites:**
|
|
257
|
+
**Prerequisites:**
|
|
258
|
+
- Python 3.11 or later
|
|
259
|
+
- For release workflow: Poetry 1.7+ and GitHub CLI 2.78+
|
|
218
260
|
|
|
219
261
|
#### Option 1: From PyPI (Recommended)
|
|
220
262
|
|
|
@@ -222,17 +264,21 @@ All agents run **non-intrusively in the background**, respecting your workflow.
|
|
|
222
264
|
# Basic installation (all default agents)
|
|
223
265
|
pip install devloop
|
|
224
266
|
|
|
267
|
+
# With marketplace API server
|
|
268
|
+
pip install devloop[marketplace-api]
|
|
269
|
+
|
|
225
270
|
# With optional agents (Snyk security scanning)
|
|
226
271
|
pip install devloop[snyk]
|
|
227
272
|
|
|
228
273
|
# With multiple optional agents
|
|
229
|
-
pip install devloop[snyk,code-rabbit]
|
|
274
|
+
pip install devloop[snyk,code-rabbit,marketplace-api]
|
|
230
275
|
|
|
231
276
|
# With all optional agents
|
|
232
277
|
pip install devloop[all-optional]
|
|
233
278
|
```
|
|
234
279
|
|
|
235
280
|
**Available extras:**
|
|
281
|
+
- `marketplace-api` — Marketplace registry HTTP server and publishing tools (FastAPI + uvicorn)
|
|
236
282
|
- `snyk` — Dependency vulnerability scanning via Snyk CLI
|
|
237
283
|
- `code-rabbit` — AI-powered code analysis
|
|
238
284
|
- `ci-monitor` — CI/CD pipeline monitoring
|
|
@@ -250,13 +296,27 @@ DevLoop automatically detects and uses several system tools. Install them for fu
|
|
|
250
296
|
|
|
251
297
|
**For Pre-Push CI Verification (Optional but Recommended):**
|
|
252
298
|
```bash
|
|
253
|
-
# GitHub CLI (for checking CI status before push)
|
|
299
|
+
# GitHub CLI 2.78+ (for checking CI status before push)
|
|
254
300
|
# Ubuntu/Debian:
|
|
255
301
|
sudo apt-get install -y gh
|
|
256
302
|
|
|
257
303
|
# macOS:
|
|
258
304
|
brew install gh
|
|
259
305
|
|
|
306
|
+
# Verify installation
|
|
307
|
+
gh --version
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
**For Release Management (Optional but Recommended for Publishing):**
|
|
311
|
+
```bash
|
|
312
|
+
# Poetry 1.7+ (for package management and publishing)
|
|
313
|
+
curl -sSL https://install.python-poetry.org | python3 -
|
|
314
|
+
|
|
315
|
+
# Verify installation
|
|
316
|
+
poetry --version
|
|
317
|
+
|
|
318
|
+
# Configure PyPI credentials (get token from https://pypi.org/account/)
|
|
319
|
+
poetry config pypi-token.pypi "pypi-AgEIcHlwaS5vcmc..."
|
|
260
320
|
```
|
|
261
321
|
|
|
262
322
|
**For Task Management Integration (Optional):**
|
|
@@ -266,8 +326,9 @@ pip install beads-mcp
|
|
|
266
326
|
```
|
|
267
327
|
|
|
268
328
|
**What happens if missing:**
|
|
269
|
-
- `gh
|
|
270
|
-
- `
|
|
329
|
+
- `gh` (2.78+): Pre-push CI verification is skipped (but DevLoop still works)
|
|
330
|
+
- `poetry` (1.7+): Release workflow unavailable (but development still works)
|
|
331
|
+
- `bd`: Task creation on push won't work (but DevLoop still works)
|
|
271
332
|
|
|
272
333
|
DevLoop will warn you during `devloop init` if any tools are missing and provide installation instructions. You can install them later and they'll be detected automatically.
|
|
273
334
|
|
|
@@ -332,6 +393,28 @@ devloop watch .
|
|
|
332
393
|
# Show agent status and health
|
|
333
394
|
devloop status
|
|
334
395
|
|
|
396
|
+
# Agent publishing and management
|
|
397
|
+
devloop agent publish ./my-agent # Publish agent to marketplace
|
|
398
|
+
devloop agent check ./my-agent # Check readiness to publish
|
|
399
|
+
devloop agent version ./my-agent patch # Bump version (major/minor/patch)
|
|
400
|
+
devloop agent verify ./my-agent # Verify agent signature
|
|
401
|
+
devloop agent info ./my-agent --signature # Show agent metadata & signature
|
|
402
|
+
devloop agent deprecate my-agent -m "Use new-agent" # Mark version as deprecated
|
|
403
|
+
devloop agent sign ./my-agent # Cryptographically sign agent
|
|
404
|
+
|
|
405
|
+
# Marketplace server management
|
|
406
|
+
devloop marketplace server start --port 8000 # Start HTTP registry server
|
|
407
|
+
devloop marketplace server stop # Stop running server
|
|
408
|
+
devloop marketplace status # Show registry statistics
|
|
409
|
+
devloop marketplace install my-agent-name 1.0.0 # Install agent from registry
|
|
410
|
+
devloop marketplace search "formatter" # Search agents in registry
|
|
411
|
+
devloop marketplace list-categories # List available categories
|
|
412
|
+
|
|
413
|
+
# Tool dependency management
|
|
414
|
+
devloop agent dependencies check ./my-agent # Verify all dependencies available
|
|
415
|
+
devloop agent dependencies resolve ./my-agent # Install missing dependencies
|
|
416
|
+
devloop agent dependencies list ./my-agent # Show agent's dependencies
|
|
417
|
+
|
|
335
418
|
# View current findings in Amp
|
|
336
419
|
/agent-summary # Recent findings
|
|
337
420
|
/agent-summary today # Today's findings
|
|
@@ -343,6 +426,50 @@ devloop custom-create my_agent pattern_matcher
|
|
|
343
426
|
|
|
344
427
|
[View all CLI commands →](./docs/cli-commands.md)
|
|
345
428
|
|
|
429
|
+
### Verify Installation & Version Compatibility
|
|
430
|
+
|
|
431
|
+
After installation, verify everything is working:
|
|
432
|
+
|
|
433
|
+
```bash
|
|
434
|
+
# Check DevLoop version
|
|
435
|
+
devloop --version
|
|
436
|
+
|
|
437
|
+
# Verify system dependencies are detected
|
|
438
|
+
devloop init --check-requirements
|
|
439
|
+
|
|
440
|
+
# Check daemon status (if running)
|
|
441
|
+
devloop status
|
|
442
|
+
|
|
443
|
+
# Verify git hooks are installed (in your project)
|
|
444
|
+
cat .git/hooks/pre-commit # Should exist
|
|
445
|
+
cat .git/hooks/pre-push # Should exist
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
**Version compatibility:**
|
|
449
|
+
- DevLoop 0.4.1+ requires Python 3.11+
|
|
450
|
+
- Release workflow requires Poetry 1.7+ and GitHub CLI 2.78+
|
|
451
|
+
- AGENTS.md template was updated in DevLoop 0.4.0+
|
|
452
|
+
|
|
453
|
+
**If you're upgrading DevLoop:**
|
|
454
|
+
```bash
|
|
455
|
+
# Upgrade to latest
|
|
456
|
+
pip install --upgrade devloop
|
|
457
|
+
|
|
458
|
+
# Update your project's AGENTS.md (templates may have changed)
|
|
459
|
+
devloop init --merge-templates /path/to/your/project
|
|
460
|
+
|
|
461
|
+
# Restart the daemon
|
|
462
|
+
devloop stop
|
|
463
|
+
devloop watch .
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
**📖 See [docs/UPGRADE_GUIDE.md](docs/UPGRADE_GUIDE.md) for:**
|
|
467
|
+
- Detailed upgrade procedures
|
|
468
|
+
- Version compatibility matrix
|
|
469
|
+
- Breaking changes and migrations
|
|
470
|
+
- Rollback instructions
|
|
471
|
+
- Troubleshooting
|
|
472
|
+
|
|
346
473
|
---
|
|
347
474
|
|
|
348
475
|
## Architecture
|
|
@@ -411,6 +538,279 @@ config = (
|
|
|
411
538
|
|
|
412
539
|
[View agent documentation →](./docs/agents.md)
|
|
413
540
|
|
|
541
|
+
---
|
|
542
|
+
|
|
543
|
+
## Agent Marketplace
|
|
544
|
+
|
|
545
|
+
DevLoop includes a complete **agent marketplace** for discovering, publishing, and managing community agents.
|
|
546
|
+
|
|
547
|
+
### Publishing Your Agent
|
|
548
|
+
|
|
549
|
+
Share your custom agents with the community:
|
|
550
|
+
|
|
551
|
+
```bash
|
|
552
|
+
# Publish an agent to the marketplace
|
|
553
|
+
devloop agent publish ./my-agent
|
|
554
|
+
|
|
555
|
+
# Check if agent is ready to publish
|
|
556
|
+
devloop agent check ./my-agent
|
|
557
|
+
|
|
558
|
+
# Bump version (semantic versioning)
|
|
559
|
+
devloop agent version ./my-agent minor
|
|
560
|
+
|
|
561
|
+
# Deprecate an old version
|
|
562
|
+
devloop agent deprecate my-agent --message "Use my-agent-v2 instead"
|
|
563
|
+
```
|
|
564
|
+
|
|
565
|
+
### Agent Signing & Verification
|
|
566
|
+
|
|
567
|
+
DevLoop automatically signs agents for integrity and tamper detection:
|
|
568
|
+
|
|
569
|
+
```bash
|
|
570
|
+
# Agent signing is automatic (SHA256 checksums + directory hashing)
|
|
571
|
+
# Verify agent authenticity
|
|
572
|
+
devloop agent verify ./my-agent
|
|
573
|
+
|
|
574
|
+
# View signature information
|
|
575
|
+
devloop agent info ./my-agent --signature
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
### Agent Ratings & Reviews
|
|
579
|
+
|
|
580
|
+
Community-driven quality metrics help you find reliable agents:
|
|
581
|
+
|
|
582
|
+
```bash
|
|
583
|
+
# View agent ratings and reviews
|
|
584
|
+
devloop agent reviews my-agent
|
|
585
|
+
|
|
586
|
+
# Rate an agent (1-5 stars)
|
|
587
|
+
devloop agent rate my-agent 5 --message "Works great, very fast!"
|
|
588
|
+
|
|
589
|
+
# List highest-rated agents in a category
|
|
590
|
+
devloop marketplace search --category code-quality --sort rating
|
|
591
|
+
|
|
592
|
+
# View detailed agent statistics
|
|
593
|
+
devloop agent info my-agent --reviews --stats
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
**Ratings help you:**
|
|
597
|
+
- Find trusted, well-maintained agents
|
|
598
|
+
- Avoid buggy or abandoned agents
|
|
599
|
+
- Give feedback to agent developers
|
|
600
|
+
- Build community trust and transparency
|
|
601
|
+
|
|
602
|
+
### Marketplace Registry API
|
|
603
|
+
|
|
604
|
+
Programmatically discover and manage agents:
|
|
605
|
+
|
|
606
|
+
```python
|
|
607
|
+
from devloop.marketplace import RegistryAPI, create_registry_client
|
|
608
|
+
from pathlib import Path
|
|
609
|
+
|
|
610
|
+
# Initialize
|
|
611
|
+
client = create_registry_client(Path("~/.devloop/registry"))
|
|
612
|
+
api = RegistryAPI(client)
|
|
613
|
+
|
|
614
|
+
# Search agents
|
|
615
|
+
response = api.search_agents(query="formatter", categories=["formatting"])
|
|
616
|
+
print(f"Found {response.data['total_results']} agents")
|
|
617
|
+
|
|
618
|
+
# Get agent details
|
|
619
|
+
response = api.get_agent("my-formatter")
|
|
620
|
+
if response.success:
|
|
621
|
+
print(f"Rating: {response.data['rating']['average']}")
|
|
622
|
+
|
|
623
|
+
# Rate an agent
|
|
624
|
+
api.rate_agent("my-formatter", 5.0)
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
### Marketplace HTTP Server
|
|
628
|
+
|
|
629
|
+
Run a local marketplace registry with REST API endpoints:
|
|
630
|
+
|
|
631
|
+
```bash
|
|
632
|
+
# Start the marketplace server (persistent background service)
|
|
633
|
+
devloop marketplace server start --port 8000
|
|
634
|
+
|
|
635
|
+
# With additional options
|
|
636
|
+
devloop marketplace server start --port 8000 --host 0.0.0.0 --workers 4
|
|
637
|
+
|
|
638
|
+
# View server logs
|
|
639
|
+
devloop marketplace server logs
|
|
640
|
+
|
|
641
|
+
# Stop the running server
|
|
642
|
+
devloop marketplace server stop
|
|
643
|
+
|
|
644
|
+
# Access API documentation at http://localhost:8000/docs
|
|
645
|
+
# Interactive API testing at http://localhost:8000/redoc
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
**Available REST API endpoints:**
|
|
649
|
+
- `GET /api/v1/agents/search?q=formatter&category=code-quality` — Search agents with filters
|
|
650
|
+
- `GET /api/v1/agents/{name}` — Get agent details including ratings
|
|
651
|
+
- `GET /api/v1/agents/{name}/versions` — List all versions of an agent
|
|
652
|
+
- `POST /api/v1/agents` — Register new agent with metadata
|
|
653
|
+
- `POST /api/v1/agents/{name}/rate` — Rate an agent (1-5 stars)
|
|
654
|
+
- `POST /api/v1/agents/{name}/review` — Leave a text review
|
|
655
|
+
- `GET /api/v1/agents/{name}/reviews` — Get agent reviews and ratings
|
|
656
|
+
- `GET /api/v1/categories` — List available categories
|
|
657
|
+
- `GET /api/v1/stats` — Registry statistics (agent count, total installations, etc.)
|
|
658
|
+
- `POST /api/v1/install/{name}/{version}` — Record agent installation
|
|
659
|
+
|
|
660
|
+
[Full marketplace API documentation →](./docs/MARKETPLACE_API.md)
|
|
661
|
+
|
|
662
|
+
### Tool Dependency Management
|
|
663
|
+
|
|
664
|
+
Agents can declare and manage their tool dependencies (binaries, packages, services):
|
|
665
|
+
|
|
666
|
+
```bash
|
|
667
|
+
# Check if all dependencies are available
|
|
668
|
+
devloop agent dependencies check ./my-agent
|
|
669
|
+
|
|
670
|
+
# Automatically resolve and install missing dependencies
|
|
671
|
+
devloop agent dependencies resolve ./my-agent
|
|
672
|
+
|
|
673
|
+
# List declared dependencies
|
|
674
|
+
devloop agent dependencies list ./my-agent
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
**Declaring dependencies in agent metadata:**
|
|
678
|
+
|
|
679
|
+
```json
|
|
680
|
+
{
|
|
681
|
+
"name": "security-scanner",
|
|
682
|
+
"version": "2.0.0",
|
|
683
|
+
"toolDependencies": {
|
|
684
|
+
"bandit": {
|
|
685
|
+
"type": "python",
|
|
686
|
+
"minVersion": "1.7.0",
|
|
687
|
+
"package": "bandit"
|
|
688
|
+
},
|
|
689
|
+
"shellcheck": {
|
|
690
|
+
"type": "binary",
|
|
691
|
+
"minVersion": "0.8.0",
|
|
692
|
+
"install": "apt-get install shellcheck"
|
|
693
|
+
},
|
|
694
|
+
"npm": {
|
|
695
|
+
"type": "npm-global",
|
|
696
|
+
"minVersion": "8.0.0",
|
|
697
|
+
"package": "npm"
|
|
698
|
+
}
|
|
699
|
+
},
|
|
700
|
+
"pythonVersion": ">=3.11",
|
|
701
|
+
"devloopVersion": ">=0.5.0"
|
|
702
|
+
}
|
|
703
|
+
```
|
|
704
|
+
|
|
705
|
+
**Supported dependency types:**
|
|
706
|
+
- `python` — Python packages (installed via pip)
|
|
707
|
+
- `npm-global` — npm packages installed globally
|
|
708
|
+
- `binary` — System binaries/executables
|
|
709
|
+
- `venv` — Virtual environment executables
|
|
710
|
+
- `docker` — Docker images
|
|
711
|
+
|
|
712
|
+
When installing an agent, DevLoop automatically detects missing dependencies and prompts you to install them.
|
|
713
|
+
|
|
714
|
+
### Agent Metadata Schema
|
|
715
|
+
|
|
716
|
+
```json
|
|
717
|
+
{
|
|
718
|
+
"name": "my-agent",
|
|
719
|
+
"version": "1.0.0",
|
|
720
|
+
"description": "What this agent does",
|
|
721
|
+
"author": "Your Name",
|
|
722
|
+
"license": "MIT",
|
|
723
|
+
"homepage": "https://example.com",
|
|
724
|
+
"repository": "https://github.com/you/my-agent",
|
|
725
|
+
"categories": ["code-quality"],
|
|
726
|
+
"keywords": ["quality", "analysis"],
|
|
727
|
+
"pythonVersion": ">=3.11",
|
|
728
|
+
"devloopVersion": ">=0.5.0",
|
|
729
|
+
"toolDependencies": {
|
|
730
|
+
"tool-name": {
|
|
731
|
+
"type": "python|binary|npm-global|docker",
|
|
732
|
+
"minVersion": "1.0.0",
|
|
733
|
+
"package": "package-name",
|
|
734
|
+
"install": "apt-get install tool-name"
|
|
735
|
+
}
|
|
736
|
+
},
|
|
737
|
+
"configSchema": {
|
|
738
|
+
"type": "object",
|
|
739
|
+
"properties": {
|
|
740
|
+
"enabled": {"type": "boolean"},
|
|
741
|
+
"severity": {"type": "string", "enum": ["low", "medium", "high"]}
|
|
742
|
+
}
|
|
743
|
+
},
|
|
744
|
+
"publishedAt": "2025-12-13T10:30:00Z",
|
|
745
|
+
"deprecated": false,
|
|
746
|
+
"deprecationMessage": null,
|
|
747
|
+
"maintainer": "username",
|
|
748
|
+
"rating": {
|
|
749
|
+
"average": 4.5,
|
|
750
|
+
"count": 120
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
```
|
|
754
|
+
|
|
755
|
+
**Schema explanation:**
|
|
756
|
+
- `toolDependencies` — External tools/packages this agent requires
|
|
757
|
+
- `configSchema` — JSON schema defining agent configuration options
|
|
758
|
+
- `publishedAt` — When agent was first published
|
|
759
|
+
- `deprecated` — Whether agent is deprecated and shouldn't be used
|
|
760
|
+
- `deprecationMessage` — Suggested alternative if deprecated
|
|
761
|
+
- `maintainer` — DevLoop username of agent maintainer
|
|
762
|
+
- `rating` — Community ratings and review count (auto-updated)
|
|
763
|
+
|
|
764
|
+
---
|
|
765
|
+
|
|
766
|
+
## VSCode Extension
|
|
767
|
+
|
|
768
|
+
DevLoop provides a VSCode extension for real-time agent feedback directly in your editor.
|
|
769
|
+
|
|
770
|
+
### Installation
|
|
771
|
+
|
|
772
|
+
**Option 1: From VSCode Marketplace**
|
|
773
|
+
```
|
|
774
|
+
Open VSCode → Extensions → Search "devloop" → Click Install
|
|
775
|
+
```
|
|
776
|
+
|
|
777
|
+
**Option 2: Manual Installation**
|
|
778
|
+
```bash
|
|
779
|
+
# Install from the devloop repository
|
|
780
|
+
git clone https://github.com/wioota/devloop
|
|
781
|
+
cd devloop/vscode-extension
|
|
782
|
+
npm install
|
|
783
|
+
npm run compile
|
|
784
|
+
# Extension is now installed in ~/.vscode/extensions/devloop-*
|
|
785
|
+
```
|
|
786
|
+
|
|
787
|
+
### Features
|
|
788
|
+
|
|
789
|
+
- **Real-time Findings** — View linting, type checking, and security issues inline
|
|
790
|
+
- **Quick Fixes** — Apply auto-fixes directly from the editor
|
|
791
|
+
- **Status Bar** — Shows agent status, finding count, and health metrics
|
|
792
|
+
- **Diagnostics Panel** — Detailed findings organized by agent and severity
|
|
793
|
+
- **Multi-language Support** — Python, JavaScript, TypeScript, and more
|
|
794
|
+
|
|
795
|
+
### Usage
|
|
796
|
+
|
|
797
|
+
Once installed, DevLoop automatically:
|
|
798
|
+
1. Monitors your editor for file changes
|
|
799
|
+
2. Runs background agents via the LSP server
|
|
800
|
+
3. Displays findings as inline diagnostics
|
|
801
|
+
4. Provides quick fix actions for auto-fixable issues
|
|
802
|
+
|
|
803
|
+
**View findings:**
|
|
804
|
+
- Hover over squiggly lines to see details
|
|
805
|
+
- Click quick fix actions to apply changes
|
|
806
|
+
- Open Problems panel (Ctrl+Shift+M) to see all findings
|
|
807
|
+
- Check status bar for agent health
|
|
808
|
+
|
|
809
|
+
**Configuration:**
|
|
810
|
+
Extension settings are automatically synced with `.devloop/agents.json`. No separate configuration needed.
|
|
811
|
+
|
|
812
|
+
---
|
|
813
|
+
|
|
414
814
|
### Code Rabbit Integration
|
|
415
815
|
|
|
416
816
|
Code Rabbit Agent provides AI-powered code analysis with insights on code quality, style, and best practices.
|
|
@@ -516,6 +916,56 @@ export SNYK_TOKEN="your-snyk-token"
|
|
|
516
916
|
|
|
517
917
|
---
|
|
518
918
|
|
|
919
|
+
## Multi-CI/Registry Provider System
|
|
920
|
+
|
|
921
|
+
DevLoop uses a provider abstraction layer for CI/CD and package registry support. This means you can use DevLoop with any CI system and publish to any package registry.
|
|
922
|
+
|
|
923
|
+
### Supported CI Platforms
|
|
924
|
+
|
|
925
|
+
DevLoop auto-detects and works with:
|
|
926
|
+
- **GitHub Actions** — Default, with pre-push CI verification
|
|
927
|
+
- **GitLab CI/CD** — Full support with pipeline status monitoring
|
|
928
|
+
- **Jenkins** — Classic and declarative pipelines
|
|
929
|
+
- **CircleCI** — OAuth2 and API token authentication
|
|
930
|
+
- **Custom CI** — Via manual configuration
|
|
931
|
+
|
|
932
|
+
### Supported Package Registries
|
|
933
|
+
|
|
934
|
+
Publish agents and packages to:
|
|
935
|
+
- **PyPI** — Python Package Index (via Poetry or Twine)
|
|
936
|
+
- **npm** — Node Package Manager
|
|
937
|
+
- **Docker Registry** — Docker Hub or custom registries
|
|
938
|
+
- **GitHub Releases** — Attach artifacts to releases
|
|
939
|
+
- **Custom Registries** — Via manual configuration (Artifactory, etc.)
|
|
940
|
+
|
|
941
|
+
### Release Workflow
|
|
942
|
+
|
|
943
|
+
DevLoop provides a unified release process across all providers:
|
|
944
|
+
|
|
945
|
+
```bash
|
|
946
|
+
# Check if ready to release
|
|
947
|
+
devloop release check 1.2.3
|
|
948
|
+
|
|
949
|
+
# Publish to detected CI/registry
|
|
950
|
+
devloop release publish 1.2.3
|
|
951
|
+
|
|
952
|
+
# Specify explicit providers
|
|
953
|
+
devloop release publish 1.2.3 --ci github --registry pypi
|
|
954
|
+
|
|
955
|
+
# Dry-run to see what would happen
|
|
956
|
+
devloop release publish 1.2.3 --dry-run
|
|
957
|
+
```
|
|
958
|
+
|
|
959
|
+
The release workflow automatically:
|
|
960
|
+
1. Validates preconditions (clean git, passing CI, valid version)
|
|
961
|
+
2. Creates annotated git tag
|
|
962
|
+
3. Publishes to registry
|
|
963
|
+
4. Pushes tag to remote repository
|
|
964
|
+
|
|
965
|
+
[Full provider documentation →](./docs/PROVIDER_SYSTEM.md)
|
|
966
|
+
|
|
967
|
+
---
|
|
968
|
+
|
|
519
969
|
## Configuration
|
|
520
970
|
|
|
521
971
|
Configure agent behavior in `.devloop/agents.json`:
|
|
@@ -553,10 +1003,142 @@ Configure agent behavior in `.devloop/agents.json`:
|
|
|
553
1003
|
|
|
554
1004
|
⚠️ **Auto-fix Warning:** Currently auto-fixes run without backups or review. **DO NOT enable auto-fix in production** or on critical code. Track [secure auto-fix with backups issue](https://github.com/wioota/devloop/issues/emc).
|
|
555
1005
|
|
|
1006
|
+
### Token Security
|
|
1007
|
+
|
|
1008
|
+
DevLoop securely manages API keys and tokens for agent integrations:
|
|
1009
|
+
|
|
1010
|
+
```bash
|
|
1011
|
+
# Use environment variables for all credentials
|
|
1012
|
+
export SNYK_TOKEN="your-token"
|
|
1013
|
+
export CODE_RABBIT_API_KEY="your-key"
|
|
1014
|
+
export GITHUB_TOKEN="your-token"
|
|
1015
|
+
|
|
1016
|
+
# DevLoop automatically:
|
|
1017
|
+
# - Hides tokens in logs and process lists
|
|
1018
|
+
# - Validates token format and expiry
|
|
1019
|
+
# - Warns about placeholder values ("changeme", "token", etc.)
|
|
1020
|
+
# - Never logs full token values
|
|
1021
|
+
```
|
|
1022
|
+
|
|
1023
|
+
**Best practices:**
|
|
1024
|
+
- ✅ Use environment variables (never command-line arguments)
|
|
1025
|
+
- ✅ Enable token expiry and rotation (30-90 days recommended)
|
|
1026
|
+
- ✅ Use read-only or project-scoped tokens when possible
|
|
1027
|
+
- ✅ Store tokens in `.env` file (add to `.gitignore`)
|
|
1028
|
+
- ❌ Never commit tokens to git
|
|
1029
|
+
- ❌ Never pass tokens as command arguments
|
|
1030
|
+
- ❌ Never hardcode tokens in code
|
|
1031
|
+
|
|
1032
|
+
**Token validation:**
|
|
1033
|
+
```bash
|
|
1034
|
+
# DevLoop validates token format during initialization
|
|
1035
|
+
devloop init /path/to/project
|
|
1036
|
+
|
|
1037
|
+
# View token status
|
|
1038
|
+
devloop status --show-token-info
|
|
1039
|
+
```
|
|
1040
|
+
|
|
1041
|
+
[Full token security guide →](./docs/TOKEN_SECURITY.md)
|
|
1042
|
+
|
|
556
1043
|
[Full configuration reference →](./docs/configuration.md)
|
|
557
1044
|
|
|
558
1045
|
---
|
|
559
1046
|
|
|
1047
|
+
## Integration with Beads
|
|
1048
|
+
|
|
1049
|
+
DevLoop integrates with [Beads](https://github.com/wioota/devloop) task tracking to create actionable work items from detected patterns.
|
|
1050
|
+
|
|
1051
|
+
### Auto-Issue Creation
|
|
1052
|
+
|
|
1053
|
+
DevLoop automatically creates Beads issues for significant findings:
|
|
1054
|
+
|
|
1055
|
+
```bash
|
|
1056
|
+
# View auto-created issues from DevLoop findings
|
|
1057
|
+
bd ready # Shows unblocked work
|
|
1058
|
+
bd show bd-abc123 # View specific issue created by DevLoop
|
|
1059
|
+
```
|
|
1060
|
+
|
|
1061
|
+
**What gets tracked:**
|
|
1062
|
+
- Security vulnerabilities (high/critical only)
|
|
1063
|
+
- Performance regressions
|
|
1064
|
+
- Pattern discoveries (e.g., "same issue found 3 times")
|
|
1065
|
+
- Failing tests in CI
|
|
1066
|
+
- Deprecated dependencies
|
|
1067
|
+
|
|
1068
|
+
**Issue linking:**
|
|
1069
|
+
DevLoop uses `discovered-from` dependencies to link:
|
|
1070
|
+
- Findings → Beads issues → Original agent
|
|
1071
|
+
- Patterns across multiple findings
|
|
1072
|
+
- Root cause analysis chains
|
|
1073
|
+
|
|
1074
|
+
### Thread Context Capture
|
|
1075
|
+
|
|
1076
|
+
When using DevLoop in [Amp](https://ampcode.com) threads:
|
|
1077
|
+
|
|
1078
|
+
```bash
|
|
1079
|
+
# Automatically captures thread context (if AMP_THREAD_ID is set)
|
|
1080
|
+
devloop watch .
|
|
1081
|
+
```
|
|
1082
|
+
|
|
1083
|
+
DevLoop logs:
|
|
1084
|
+
- Thread ID and URL
|
|
1085
|
+
- Commands executed
|
|
1086
|
+
- Agent findings and results
|
|
1087
|
+
- Patterns detected across sessions
|
|
1088
|
+
|
|
1089
|
+
This enables cross-thread pattern detection:
|
|
1090
|
+
> "This type of error appeared in 5 different threads — likely a documentation gap"
|
|
1091
|
+
|
|
1092
|
+
---
|
|
1093
|
+
|
|
1094
|
+
## Event Logging & Observability
|
|
1095
|
+
|
|
1096
|
+
DevLoop maintains a complete audit trail of agent activity for debugging and analysis.
|
|
1097
|
+
|
|
1098
|
+
### Event Store
|
|
1099
|
+
|
|
1100
|
+
All agent actions are logged to an SQLite event store in `.devloop/events.db`:
|
|
1101
|
+
|
|
1102
|
+
```bash
|
|
1103
|
+
# View recent agent activity
|
|
1104
|
+
devloop audit query --limit 20
|
|
1105
|
+
|
|
1106
|
+
# Filter by agent
|
|
1107
|
+
devloop audit query --agent linter
|
|
1108
|
+
|
|
1109
|
+
# View agent health metrics
|
|
1110
|
+
devloop health
|
|
1111
|
+
```
|
|
1112
|
+
|
|
1113
|
+
**Event data includes:**
|
|
1114
|
+
- Agent name and execution time
|
|
1115
|
+
- Success/failure status
|
|
1116
|
+
- Finding count and types
|
|
1117
|
+
- Resource usage (CPU, memory)
|
|
1118
|
+
- Timestamps and correlations
|
|
1119
|
+
|
|
1120
|
+
### Log Files
|
|
1121
|
+
|
|
1122
|
+
Application logs are stored in `.devloop/devloop.log` with rotation:
|
|
1123
|
+
|
|
1124
|
+
```bash
|
|
1125
|
+
# View logs in real-time
|
|
1126
|
+
tail -f .devloop/devloop.log
|
|
1127
|
+
|
|
1128
|
+
# View verbose logs during watch
|
|
1129
|
+
devloop watch . --verbose --foreground
|
|
1130
|
+
|
|
1131
|
+
# Check log disk usage
|
|
1132
|
+
du -sh .devloop/devloop.log*
|
|
1133
|
+
```
|
|
1134
|
+
|
|
1135
|
+
**Log rotation:**
|
|
1136
|
+
- Max file size: 100MB
|
|
1137
|
+
- Keep 3 backups (300MB max)
|
|
1138
|
+
- Auto-cleanup logs older than 7 days
|
|
1139
|
+
|
|
1140
|
+
---
|
|
1141
|
+
|
|
560
1142
|
## CI/CD Integration
|
|
561
1143
|
|
|
562
1144
|
DevLoop includes GitHub Actions integration with automated security scanning.
|
|
@@ -668,7 +1250,7 @@ poetry run pytest tests/unit/agents/test_linter.py -v
|
|
|
668
1250
|
poetry run pytest -v
|
|
669
1251
|
```
|
|
670
1252
|
|
|
671
|
-
**Current status:** ✅
|
|
1253
|
+
**Current status:** ✅ 737+ tests passing
|
|
672
1254
|
|
|
673
1255
|
[View test strategy →](./docs/testing.md)
|
|
674
1256
|
|
|
@@ -734,11 +1316,24 @@ poetry run mypy src
|
|
|
734
1316
|
|
|
735
1317
|
## Documentation
|
|
736
1318
|
|
|
1319
|
+
### User Guides
|
|
737
1320
|
- **[Getting Started Guide](./docs/getting-started.md)** — Installation and basic usage
|
|
738
1321
|
- **[Architecture Guide](./docs/architecture.md)** — System design and components
|
|
739
|
-
- **[Agent Reference](./docs/agents.md)** — All available agents
|
|
740
1322
|
- **[Configuration Guide](./docs/configuration.md)** — Full config reference
|
|
741
1323
|
- **[CLI Commands](./docs/cli-commands.md)** — Command reference
|
|
1324
|
+
|
|
1325
|
+
### Agent Development
|
|
1326
|
+
- **[Agent Development Guide](./docs/AGENT_DEVELOPMENT.md)** — Tutorial on creating agents with patterns and best practices
|
|
1327
|
+
- **[Agent API Reference](./docs/AGENT_API_REFERENCE.md)** — Complete API documentation for all agent classes and interfaces
|
|
1328
|
+
- **[Agent Examples](./docs/AGENT_EXAMPLES.md)** — Real-world examples from simple to advanced implementations
|
|
1329
|
+
- **[Agent Troubleshooting](./docs/AGENT_TROUBLESHOOTING.md)** — Common issues and solutions
|
|
1330
|
+
|
|
1331
|
+
### Marketplace
|
|
1332
|
+
- **[Marketplace Guide](./docs/MARKETPLACE_GUIDE.md)** — Discovering, installing, and publishing agents
|
|
1333
|
+
- **[Marketplace API Guide](./docs/MARKETPLACE_API.md)** — Agent registry API reference
|
|
1334
|
+
- **[Agent Reference](./docs/agents.md)** — Built-in agents documentation
|
|
1335
|
+
|
|
1336
|
+
### Advanced
|
|
742
1337
|
- **[Development Guide](./docs/development.md)** — Contributing guide
|
|
743
1338
|
- **[Implementation Status](./IMPLEMENTATION_STATUS.md)** — What's implemented
|
|
744
1339
|
- **[Learning & Optimization](./PHASE3_COMPLETE.md)** — Advanced features
|
|
@@ -829,16 +1424,18 @@ ls -la .devloop/custom_agents/
|
|
|
829
1424
|
- Workflow automation: git integration, CI monitoring, documentation
|
|
830
1425
|
- Custom agents: create your own without writing code
|
|
831
1426
|
- Learning system: pattern recognition and optimization
|
|
1427
|
+
- **Agent Marketplace** — Registry API, publishing, signing, discovery (737+ tests)
|
|
832
1428
|
|
|
833
1429
|
### In Development 🚀
|
|
834
|
-
-
|
|
1430
|
+
- Remote agent registry and cloud sync
|
|
835
1431
|
- Agent composition and pipelines
|
|
836
|
-
- Community agent sharing
|
|
1432
|
+
- Community agent sharing and rating improvements
|
|
837
1433
|
|
|
838
1434
|
### Future 🔮
|
|
839
1435
|
- Multi-project support
|
|
840
1436
|
- Team coordination features
|
|
841
1437
|
- LLM-powered agents
|
|
1438
|
+
- Agent marketplace web interface
|
|
842
1439
|
|
|
843
1440
|
---
|
|
844
1441
|
|
|
@@ -917,4 +1514,12 @@ Built with:
|
|
|
917
1514
|
|
|
918
1515
|
**Made with ❤️ by the DevLoop team**
|
|
919
1516
|
|
|
1517
|
+
## Footnotes
|
|
1518
|
+
|
|
1519
|
+
[^1]: **90%+ CI failures caught locally** — Based on typical Python/TypeScript development workflows with comprehensive linting, formatting, and type checking. Actual results depend on your agent configuration and test suite. DevLoop's effectiveness increases with more agents enabled and better test coverage. See [docs/UPGRADE_GUIDE.md](docs/UPGRADE_GUIDE.md#version-compatibility) for feature availability by version.
|
|
1520
|
+
|
|
1521
|
+
[^2]: **60%+ CI cost reduction** — Estimated reduction assumes: (1) 6-8 CI failures per day baseline, (2) ~15 minutes per failure roundtrip, (3) CI costs proportional to pipeline runs. This is a theoretical projection based on typical development patterns. Actual cost savings depend on your CI pricing model, agent configuration, and codebase size. For verified metrics, see [docs/METRICS_AND_MONITORING.md](./docs/METRICS_AND_MONITORING.md).
|
|
1522
|
+
|
|
1523
|
+
[^3]: **6-8 CI failures per day and 75-90 minutes saved** — These estimates are based on typical multi-developer teams working on moderately complex codebases. They assume agents catch common issues (formatting, linting, type errors, security warnings) before push. Your actual results will vary significantly based on: code complexity, team size, quality of tests, agent configuration, and development practices. For personalized ROI calculation, enable metrics tracking in `.devloop/agents.json` and see `devloop telemetry stats`. DevLoop will collect real usage data as you use it, which can replace these estimates with empirically validated numbers.
|
|
1524
|
+
|
|
920
1525
|
|