AItelier
June 17, 2026 · View on GitHub
This entire application was generated autonomously by AItelier — researched, architected, implemented, and verified by a multi-agent pipeline.
Every file in this repository was produced by the pipeline — except this
README.md, which is the one hand-written file.
A customer storefront and an admin panel, written in pure Python standard library — no web framework, no third-party dependencies.
Provenance
- Built across 66 pipeline steps, 0 failures. The commit history is the build log: each
step: apply N file(s)commit is the pipeline promoting one implementation step's output into the repo. - The
/healthendpoint was added by a second run: AItelier was re-pointed at this existing repository as a new task, read the codebase, implemented the endpoint, and committed it — demonstrating the "work on an existing repo" workflow (the last commits). - Engine: SkillFlow (
pip install skillflow-py, MIT) — a deterministic, config-agnostic graph executor with capability-gated I/O, atomic step staging, human checkpoints, and an immutable audit trace.
Run it
Requires Python 3.12 (the generated code uses 3.10+ X | None type syntax).
python3.12 app.py # serves on http://localhost:8080
python3.12 app.py --port 3000 # custom port
The SQLite database is created with seed products on first run.
What's inside
| Area | Routes |
|---|---|
| Storefront | /, /product/<id>, /cart, /cart/add, /cart/update, /cart/remove, /checkout |
| Admin | /admin/login, /admin, /admin/products/add, /admin/logout |
| Ops | /health → {"status": "ok"} |
| File | Role |
|---|---|
app.py | Entry point — initializes the DB and starts a threaded HTTP server |
server.py | Routing, request handling, cart logic |
db.py | SQLite access (parameterized queries) |
auth.py | Admin auth — PBKDF2-HMAC-SHA256 password hashing |
templates.py | Server-rendered HTML |
validation.py | Input validation |
static/style.css | Styles |
Honest note
This is a demo artifact, not production software. AItelier's final verifier reviews generated code statically — it does not yet run the app — so runtime bugs can slip through. It's published to show what the engine produces and how (see the commit history), not as a maintained product.