autodevloop 0.1.0__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.
- autodevloop-0.1.0/CONTRIBUTING.md +45 -0
- autodevloop-0.1.0/LICENSE +21 -0
- autodevloop-0.1.0/MANIFEST.in +15 -0
- autodevloop-0.1.0/PKG-INFO +332 -0
- autodevloop-0.1.0/README.md +305 -0
- autodevloop-0.1.0/README.zh-CN.md +264 -0
- autodevloop-0.1.0/autodevloop/__init__.py +5 -0
- autodevloop-0.1.0/autodevloop/__main__.py +6 -0
- autodevloop-0.1.0/autodevloop/cli.py +233 -0
- autodevloop-0.1.0/autodevloop/config.py +165 -0
- autodevloop-0.1.0/autodevloop/engine.py +750 -0
- autodevloop-0.1.0/autodevloop/llm.py +259 -0
- autodevloop-0.1.0/autodevloop/prompts.py +342 -0
- autodevloop-0.1.0/autodevloop/py.typed +0 -0
- autodevloop-0.1.0/autodevloop/registry.py +37 -0
- autodevloop-0.1.0/autodevloop/reporting.py +127 -0
- autodevloop-0.1.0/autodevloop/testing.py +119 -0
- autodevloop-0.1.0/autodevloop/util.py +250 -0
- autodevloop-0.1.0/autodevloop/vcs.py +74 -0
- autodevloop-0.1.0/autodevloop/webapp.py +1184 -0
- autodevloop-0.1.0/autodevloop/yaml_compat.py +192 -0
- autodevloop-0.1.0/autodevloop.egg-info/PKG-INFO +332 -0
- autodevloop-0.1.0/autodevloop.egg-info/SOURCES.txt +27 -0
- autodevloop-0.1.0/autodevloop.egg-info/dependency_links.txt +1 -0
- autodevloop-0.1.0/autodevloop.egg-info/entry_points.txt +2 -0
- autodevloop-0.1.0/autodevloop.egg-info/requires.txt +6 -0
- autodevloop-0.1.0/autodevloop.egg-info/top_level.txt +1 -0
- autodevloop-0.1.0/pyproject.toml +43 -0
- autodevloop-0.1.0/setup.cfg +4 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Contributing to AutoDevLoop
|
|
2
|
+
|
|
3
|
+
Thanks for your interest! AutoDevLoop aims to stay small, dependency-free, and
|
|
4
|
+
easy to read.
|
|
5
|
+
|
|
6
|
+
## Development setup
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
git clone <your-fork-url>
|
|
10
|
+
cd autodevloop
|
|
11
|
+
pip install -e ".[dev]"
|
|
12
|
+
pytest
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Guidelines
|
|
16
|
+
|
|
17
|
+
- **No required runtime dependencies.** Keep the core importable with the
|
|
18
|
+
standard library only. Optional extras (e.g. PyYAML) must degrade gracefully.
|
|
19
|
+
- **Cross-platform.** Code must work on Windows, macOS, and Linux. Avoid
|
|
20
|
+
POSIX-only assumptions; mind file encodings (UTF-8) and read-only files.
|
|
21
|
+
- **Prompts are data, not code.** New agent behaviour should live in editable
|
|
22
|
+
templates (`autodevloop/prompts.py` defaults), not hard-coded f-strings.
|
|
23
|
+
- **Keep the pipeline standardised.** Add a step only if it earns its tokens;
|
|
24
|
+
make it toggleable via `pipeline.steps`.
|
|
25
|
+
- **Run the smoke test** before sending a PR (see `_smoke/` examples / the test
|
|
26
|
+
suite). Validate both `simple` and `advanced` modes when touching the engine.
|
|
27
|
+
|
|
28
|
+
## Project layout
|
|
29
|
+
|
|
30
|
+
| Module | Responsibility |
|
|
31
|
+
|---|---|
|
|
32
|
+
| `cli.py` | Argument parsing and subcommands |
|
|
33
|
+
| `engine.py` | The orchestration loop (phases, value gate, snapshots) |
|
|
34
|
+
| `llm.py` | Provider invocation, retry/backoff, cost parsing |
|
|
35
|
+
| `prompts.py` | Default prompt templates + rendering |
|
|
36
|
+
| `config.py` | Config schema, defaults, mode/step resolution |
|
|
37
|
+
| `testing.py` | Built-in test detection and execution |
|
|
38
|
+
| `reporting.py` | CHANGELOG / FEATURES / final report |
|
|
39
|
+
| `vcs.py` | Optional git commit/tag per version |
|
|
40
|
+
| `webapp.py` | The local dashboard (stdlib HTTP server + embedded SPA) |
|
|
41
|
+
|
|
42
|
+
## Reporting issues
|
|
43
|
+
|
|
44
|
+
Please include your OS, Python version, provider CLI, and the relevant
|
|
45
|
+
`.autodev/logs/` output (redact anything sensitive).
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 AutoDevLoop contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Controls what goes into the source distribution (sdist).
|
|
2
|
+
# The wheel only contains the autodevloop/ package (see pyproject [tool.setuptools]).
|
|
3
|
+
include LICENSE
|
|
4
|
+
include README.md
|
|
5
|
+
include README.zh-CN.md
|
|
6
|
+
include CONTRIBUTING.md
|
|
7
|
+
include pyproject.toml
|
|
8
|
+
recursive-include autodevloop py.typed
|
|
9
|
+
|
|
10
|
+
# Never ship local/dev junk in the sdist.
|
|
11
|
+
prune tests
|
|
12
|
+
prune .github
|
|
13
|
+
prune .claude
|
|
14
|
+
prune .pytest_cache
|
|
15
|
+
global-exclude __pycache__ *.py[cod] *.tmp .DS_Store Thumbs.db
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: autodevloop
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: AI-driven autonomous software iteration loop: set a goal, let CLI coding agents architect, build, test, review and evolve a project version by version.
|
|
5
|
+
Author: wp
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/selavieWp/autodevloop
|
|
8
|
+
Project-URL: Repository, https://github.com/selavieWp/autodevloop
|
|
9
|
+
Project-URL: Issues, https://github.com/selavieWp/autodevloop/issues
|
|
10
|
+
Keywords: ai,agents,automation,claude,codegen,autonomous,iteration
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
19
|
+
Requires-Python: >=3.10
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
License-File: LICENSE
|
|
22
|
+
Provides-Extra: yaml
|
|
23
|
+
Requires-Dist: PyYAML>=6.0; extra == "yaml"
|
|
24
|
+
Provides-Extra: dev
|
|
25
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
26
|
+
Dynamic: license-file
|
|
27
|
+
|
|
28
|
+
# AutoDevLoop
|
|
29
|
+
|
|
30
|
+
> Set one goal. Watch AI coding agents architect, build, test, review, and keep evolving a real project — version by version — until your target version count is reached.
|
|
31
|
+
|
|
32
|
+
**English** · [简体中文](README.zh-CN.md)
|
|
33
|
+
|
|
34
|
+
AutoDevLoop is a small, dependency-free Python tool that drives a CLI coding
|
|
35
|
+
agent (Claude Code by default; Codex / Gemini CLI also supported) through a
|
|
36
|
+
standardised, multi-stage development loop. You give it a goal and a number of
|
|
37
|
+
versions; it designs an architecture, plans each version, writes the code,
|
|
38
|
+
runs tests, reviews the result, and — once your goal is met — proposes and
|
|
39
|
+
value-gates **new** features to keep improving the product on its own.
|
|
40
|
+
|
|
41
|
+
Every version is a usable, snapshotted build. A glanceable `FEATURES.md` table
|
|
42
|
+
records what each version delivers and what changed since the last one.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Highlights
|
|
47
|
+
|
|
48
|
+
- **Goal-driven, two-phase loop.** A **build** phase drives straight at your
|
|
49
|
+
goal; once an independent check decides the goal is genuinely met, it flips to
|
|
50
|
+
an **expand** phase that builds valuable adjacent features.
|
|
51
|
+
- **Value gate for new features.** In the expand phase, one agent scouts ideas
|
|
52
|
+
and a *separate* agent scores each for value/effort — only accepted ideas
|
|
53
|
+
enter the backlog and get built. No random feature bloat.
|
|
54
|
+
- **Standard flow, dynamic detail.** The pipeline (architecture → plan → develop
|
|
55
|
+
→ test → review → fix → scout → evaluate) is fixed and predictable, but the
|
|
56
|
+
planner decides how many dev agents to spawn, what each does, and the prompts
|
|
57
|
+
leave room for the model's judgement. Prompts are **editable template files**,
|
|
58
|
+
not hard-coded strings.
|
|
59
|
+
- **Simple vs advanced modes.** `simple` runs a cheap core loop
|
|
60
|
+
(plan → develop → test → review) to save tokens; `advanced` adds goal checks,
|
|
61
|
+
a test-planning agent, docs, scouting, and the value gate. Individual steps
|
|
62
|
+
are toggleable.
|
|
63
|
+
- **One working folder, many snapshots.** Agents only ever edit `current/`;
|
|
64
|
+
each finished version is copied to `versions/vN/`. If git is available, every
|
|
65
|
+
version is also committed and tagged, and the version where your goal is first
|
|
66
|
+
met gets a special `goal-complete` tag.
|
|
67
|
+
- **Cost & token tracking.** Every provider call's cost and tokens are recorded
|
|
68
|
+
and surfaced live.
|
|
69
|
+
- **Local web dashboard.** Start projects, watch live progress (current version,
|
|
70
|
+
agent, step, cost, per-agent output), read the changelog/feature table, and
|
|
71
|
+
edit configuration + prompts — all in the browser. No build step, no
|
|
72
|
+
dependencies.
|
|
73
|
+
- **Resilient.** Threaded provider I/O (no stdin/stdout deadlocks), retry with
|
|
74
|
+
exponential backoff on transient failures, atomic state writes, and automatic
|
|
75
|
+
rollback of the working copy if a version errors out.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Requirements
|
|
80
|
+
|
|
81
|
+
- **Python 3.10+**
|
|
82
|
+
- **A coding-agent CLI installed and authenticated locally**, one of:
|
|
83
|
+
- [Claude Code](https://docs.claude.com/en/docs/claude-code) — `claude` (default)
|
|
84
|
+
- Codex CLI — `codex`
|
|
85
|
+
- Gemini CLI — `gemini`
|
|
86
|
+
|
|
87
|
+
AutoDevLoop **never asks for API keys**. You authenticate your CLI of choice
|
|
88
|
+
beforehand; switching providers just changes which command is invoked. (Using
|
|
89
|
+
a third-party API endpoint behind the `claude` CLI works fine — the tool just
|
|
90
|
+
calls `claude`.)
|
|
91
|
+
|
|
92
|
+
No Python runtime dependencies are required. `PyYAML` is optional (a built-in
|
|
93
|
+
fallback YAML parser ships with the tool).
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Install
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# from the project root
|
|
101
|
+
pip install -e .
|
|
102
|
+
# now the `autodevloop` command is available
|
|
103
|
+
autodevloop --version
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Or run without installing:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
python -m autodevloop --help
|
|
110
|
+
# or the backward-compatible shim:
|
|
111
|
+
python autodev.py --help
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Quick start
|
|
117
|
+
|
|
118
|
+
### CLI
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Interactive (prompts for directory, goal, versions, mode):
|
|
122
|
+
autodevloop run
|
|
123
|
+
|
|
124
|
+
# Non-interactive:
|
|
125
|
+
autodevloop run --project-dir ./my-app \
|
|
126
|
+
--goal "Build a WeChat-like app: real-time chat plus a moments feed" \
|
|
127
|
+
--max-versions 8 --mode advanced
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Watch / control a run:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
autodevloop status --project-dir ./my-app
|
|
134
|
+
autodevloop stop --project-dir ./my-app # graceful stop after the current step
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Web dashboard
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
autodevloop web # http://127.0.0.1:8787
|
|
141
|
+
autodevloop web --port 9000
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
The UI is available in **English / 简体中文 / 日本語** (compact 🌐 switcher,
|
|
145
|
+
top-right). A built-in **Help** guide and hover tooltips (the `?` icons) explain
|
|
146
|
+
every setting, agent, and button, so first-time users aren't left guessing.
|
|
147
|
+
|
|
148
|
+
From the dashboard you can:
|
|
149
|
+
|
|
150
|
+
1. **Create a project** — directory, goal, version count, mode, provider,
|
|
151
|
+
architecture hint. Creating only *creates* it; you then review/edit settings
|
|
152
|
+
and press **Run** when ready (it does not auto-start).
|
|
153
|
+
2. **Watch live** — status, phase, current version, a **per-agent live timer**
|
|
154
|
+
for every agent running right now (multiple at once when agents run in
|
|
155
|
+
parallel), agent-call count, token usage, total run time, a scrollable
|
|
156
|
+
activity log with a **divider between versions**, and each agent's full
|
|
157
|
+
output (persistent viewer).
|
|
158
|
+
3. **Edit settings** — pipeline mode and step toggles, max versions, review and
|
|
159
|
+
value thresholds, retries, test command, provider command/model, and **every
|
|
160
|
+
prompt template**. Required agents (plan, develop, test, review, fix) are
|
|
161
|
+
shown but locked on; only optional steps can be toggled. Prompt edits are
|
|
162
|
+
**format-checked** — rewrite the wording in any language, but the
|
|
163
|
+
`{{placeholders}}` and JSON field names the engine depends on can't be
|
|
164
|
+
removed. Settings are **locked while a run is active** and take effect on the
|
|
165
|
+
next run.
|
|
166
|
+
4. **Stop two ways** — *graceful* (finish the current version, then stop) or
|
|
167
|
+
*discard* (kill immediately, throw away the unfinished version, and roll the
|
|
168
|
+
working copy back to the last completed version). Each shows a confirmation
|
|
169
|
+
explaining exactly what happened.
|
|
170
|
+
5. **Read the docs** — the `FEATURES.md` overview table and `CHANGELOG.md`.
|
|
171
|
+
|
|
172
|
+
> Cost in money is intentionally not shown (third-party API pricing behind a CLI
|
|
173
|
+
> is unreliable); the dashboard reports **agent-call count and tokens** instead.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## How the loop works
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
┌─────────────────────────── once, at the start ──────────────────────────┐
|
|
181
|
+
│ AgentARCH → picks a mainstream stack, layout, run & test strategy │
|
|
182
|
+
└──────────────────────────────────────────────────────────────────────────┘
|
|
183
|
+
per version:
|
|
184
|
+
AgentPLAN ── decides this version's goal + how many dev agents and what they own
|
|
185
|
+
│
|
|
186
|
+
AgentDEV_* ─ one or more (parallel) agents implement in isolated workspaces,
|
|
187
|
+
│ then merge back into current/ (only changed files; first-writer-wins
|
|
188
|
+
│ on conflict, with a warning)
|
|
189
|
+
AgentDOC ── (advanced) keeps README / design docs accurate
|
|
190
|
+
│
|
|
191
|
+
AgentTEST ─ runs tests: built-in detection in simple mode, or an agent picks
|
|
192
|
+
│ the test commands in advanced mode
|
|
193
|
+
AgentREVIEW scores quality, flags blockers, judges goal completeness, and
|
|
194
|
+
│ writes the human-readable "what's new" summary
|
|
195
|
+
│
|
|
196
|
+
(fix loop) ─ if tests fail / blocking / below threshold, AgentFIX repairs and re-tests
|
|
197
|
+
│
|
|
198
|
+
AgentGOALCHECK (advanced) independently confirms whether the goal is met
|
|
199
|
+
│
|
|
200
|
+
── if goal met for the first time → switch to EXPAND phase, tag goal-complete ──
|
|
201
|
+
│
|
|
202
|
+
AgentSCOUT + AgentEVALUATE (expand phase) propose & value-gate new features
|
|
203
|
+
│ into a persistent backlog the planner draws from next time
|
|
204
|
+
▼
|
|
205
|
+
snapshot → versions/vN/, git commit + tag vN, update CHANGELOG.md & FEATURES.md
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
The loop never stops early for being "good enough" — it runs until your
|
|
209
|
+
`max_versions` (or you stop it). Reaching the goal switches *what* it works on,
|
|
210
|
+
not *whether* it keeps going.
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Output layout
|
|
215
|
+
|
|
216
|
+
Each project directory gets:
|
|
217
|
+
|
|
218
|
+
| Path | What |
|
|
219
|
+
|---|---|
|
|
220
|
+
| `current/` | The single working copy agents edit (git repo if enabled) |
|
|
221
|
+
| `versions/vN/` | A full snapshot of every completed version |
|
|
222
|
+
| `FEATURES.md` | At-a-glance table: each version's features + what changed |
|
|
223
|
+
| `CHANGELOG.md` | Per-version changelog with summaries and test status |
|
|
224
|
+
| `.autodev/state.json` | Full run state |
|
|
225
|
+
| `.autodev/progress.json` | Live progress + event feed (used by the web UI) |
|
|
226
|
+
| `.autodev/backlog.json` | Scouted features and their accept/reject verdicts |
|
|
227
|
+
| `.autodev/architecture.md` | The initial architecture report |
|
|
228
|
+
| `.autodev/prompts/templates/` | Editable prompt templates |
|
|
229
|
+
| `.autodev/plans/`, `reviews/`, `tests/`, `logs/` | Per-stage artifacts |
|
|
230
|
+
| `.autodev/final_report.md` | Summary written at the end of a run |
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Configuration
|
|
235
|
+
|
|
236
|
+
Settings live in `.autodevloop.yml` in the project directory (the web settings
|
|
237
|
+
page and CLI flags write to it). Everything has a sane default; a full file
|
|
238
|
+
looks like:
|
|
239
|
+
|
|
240
|
+
```yaml
|
|
241
|
+
project:
|
|
242
|
+
name: My App
|
|
243
|
+
max_versions: 8
|
|
244
|
+
arch_hint: "React + FastAPI + SQLite" # optional hint for AgentARCH
|
|
245
|
+
|
|
246
|
+
provider:
|
|
247
|
+
name: claude # claude | codex | gemini
|
|
248
|
+
command: "" # blank = use the profile's default command (e.g. "claude")
|
|
249
|
+
model: "" # optional model alias/name
|
|
250
|
+
extra_args: [] # extra CLI args appended to every call
|
|
251
|
+
|
|
252
|
+
pipeline:
|
|
253
|
+
mode: advanced # simple | advanced
|
|
254
|
+
steps: # override individual steps on top of the mode defaults
|
|
255
|
+
goal_check: true
|
|
256
|
+
test_agent: true
|
|
257
|
+
doc: true
|
|
258
|
+
scout: true
|
|
259
|
+
evaluate: true
|
|
260
|
+
features_doc: true
|
|
261
|
+
|
|
262
|
+
agents:
|
|
263
|
+
timeout: 1800 # seconds per provider call
|
|
264
|
+
allow_parallel: true
|
|
265
|
+
max_parallel: 3
|
|
266
|
+
retries: 3 # retries on transient provider failures
|
|
267
|
+
backoff_seconds: 5
|
|
268
|
+
|
|
269
|
+
review:
|
|
270
|
+
threshold: 80 # review score below this triggers a fix pass
|
|
271
|
+
|
|
272
|
+
value:
|
|
273
|
+
threshold: 65 # feature value below this is rejected by the gate
|
|
274
|
+
|
|
275
|
+
fix:
|
|
276
|
+
retries: 2
|
|
277
|
+
|
|
278
|
+
tests:
|
|
279
|
+
timeout: 120
|
|
280
|
+
command: "" # blank = auto-detected / agent-chosen
|
|
281
|
+
|
|
282
|
+
vcs:
|
|
283
|
+
git: true # commit + tag each version inside current/
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
Useful CLI flags: `--mode`, `--provider`, `--provider-command`, `--model`,
|
|
287
|
+
`--max-versions`, `--review-threshold`, `--fix-retries`, `--max-parallel-agents`,
|
|
288
|
+
`--no-parallel`, `--no-git`, `--test-command`, `--reset`, `--non-interactive`.
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## ⚠️ Security notice — please read
|
|
293
|
+
|
|
294
|
+
AutoDevLoop is an **autonomous code generator that runs code on your machine**.
|
|
295
|
+
Treat it like any tool that executes untrusted code:
|
|
296
|
+
|
|
297
|
+
- **It writes and executes code.** Agents run with file edit permissions, and
|
|
298
|
+
`AgentTEST` runs shell test/build commands in your project directory. Generated
|
|
299
|
+
code is not reviewed by a human before it runs.
|
|
300
|
+
- **It runs unattended and can spend money.** The loop keeps calling your
|
|
301
|
+
provider CLI until it reaches the version count or you stop it. Watch the live
|
|
302
|
+
cost readout, set a sensible `--max-versions`, and keep an eye on your provider
|
|
303
|
+
billing.
|
|
304
|
+
- **Run it in an isolated environment.** Prefer a dedicated directory, a
|
|
305
|
+
container, or a VM. Don't point it at a directory containing secrets or
|
|
306
|
+
important unrelated files.
|
|
307
|
+
- **The web dashboard is unauthenticated and binds to localhost.** It can start
|
|
308
|
+
runs and execute commands. Do **not** expose the port to a network you don't
|
|
309
|
+
fully trust. There is no auth layer.
|
|
310
|
+
- **No API keys are handled by this tool** — your provider CLI manages its own
|
|
311
|
+
credentials. AutoDevLoop only invokes the command you configured.
|
|
312
|
+
|
|
313
|
+
By running AutoDevLoop you accept that you are responsible for the code it
|
|
314
|
+
generates and the commands it executes.
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## Troubleshooting
|
|
319
|
+
|
|
320
|
+
- **"Provider command not found"** — install the CLI and ensure it's on `PATH`,
|
|
321
|
+
or set `provider.command` to the full path / wrapper command.
|
|
322
|
+
- **Git commits don't appear** — git is optional; the tool falls back to folder
|
|
323
|
+
snapshots. Corporate git hooks that block commits are tolerated silently.
|
|
324
|
+
- **Garbled characters on a legacy Windows console** — output is forced to UTF-8;
|
|
325
|
+
if your terminal still struggles, run inside Windows Terminal or set
|
|
326
|
+
`PYTHONIOENCODING=utf-8`.
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## License
|
|
331
|
+
|
|
332
|
+
[MIT](LICENSE). Contributions welcome — see [CONTRIBUTING.md](CONTRIBUTING.md).
|