Autonomous self-improving development loop that learns tech stacks through progressive complexity — simple apps to production-grade SaaS.
# Add the marketplace
/plugin marketplace add thanksmors/devloop
# Install the plugin
/plugin install devloop@thanksmors-devloop/plugin marketplace add https://github.com/thanksmors/devloop
/plugin install devloop@thanksmors-devloopcc --plugin-dir /path/to/devloopBuilt on the belief that good agentic development requires:
- Progressive complexity — start simple, advance to production-grade
- Modularity — plugin architecture, hexagonal design, Elephant Carpaccio slicing
- Universal patterns — SOLID, clean architecture, domain-driven design
- Tech-stack specificity — preferences injected per stack, not one-size-fits-all
devloop/
├── agents/ # Orchestrator + 5 subagents (coder, tester, reviewer, deployer, eval-tracker)
├── skills/ # Phase knowledge (orchestrator, understand, plan, implement, test, review, deploy, learn)
├── hooks/ # Validation loops (PostToolUse, PreToolUse)
├── preferences/ # Per-tech-stack configuration (5 sets included)
└── scripts/ # Utility helpers
/devloop <project-path> --stack <preference-set> [--stages <list>] [@design-file.md | "description"]
Stage selection: Use --stages to run only specific stages, then exit for faster feedback:
--stages 3— run only Stage 3 (Implement)--stages 3,4,5— run Stages 3, 4, 5 (Implement, Test, Review)--stages 3-5— same as above (range syntax)
Available preference sets:
nuxt4-insforge-bun— Nuxt 4 + Bun + InsForge BaaSbun-nuxt4-convex— Nuxt 4 + Bun + Convexbun-sveltekit-sqlite— SvelteKit + Bun + native SQLitebun-nuxt4-sqlite— Nuxt 4 + Bun + native SQLitesveltekit-pocketbase— SvelteKit + Bun + PocketBase
Examples:
/devloop ./checkout --stack nuxt4-insforge-bun @design.md
/devloop ./api --stack bun-sveltekit-sqlite "add user auth with JWT"
/devloop ./todo --stack bun-nuxt4-convex
/devloop ./api --stack go-backend --stages 3 "add user auth"
/devloop ./todo --stack react-ts --stages 3-5
The orchestrator runs through 8 stages autonomously, calling subagents as tools for each phase:
Stage 0: Init → Load preference set, configure project
Stage 1: Understand → Analyze requirements, domain model
Stage 2: Plan → Elephant Carpaccio decomposition into micro-tasks
Stage 3: Implement → Coder subagent implements each micro-task
Stage 4: Test → Tester subagent generates tests
Stage 5: Review → Reviewer subagent checks quality gates
Stage 6: Deploy → Deployer subagent integrates and deploys
Stage 7: Learn → Eval-tracker reviews outcomes, refines preferences
Preference sets define tech-stack-specific patterns, conventions, and success criteria. Create in preferences/<name>/:
| File | Purpose |
|---|---|
tech-stack.md |
Libraries, frameworks, deployment |
programming-style.md |
Naming, conventions, architecture rules |
setup-steps.md |
Project bootstrap |
testing.md |
Test strategy, coverage targets |
user-profile.md |
Editor settings, workflow |
evals.md |
Success criteria, complexity progression (L1-L5) |
cp -r preferences/nuxt4-insforge-bun preferences/my-stack
# Edit the files in preferences/my-stack/| Level | Description | Examples |
|---|---|---|
| L1 | Single page, no data | Landing page, calculator |
| L2 | Single entity CRUD | Todo list, blog posts |
| L3 | Multiple entities + auth | User + Posts, products + orders |
| L4 | Multi-context + integrations | SaaS, e-commerce + Stripe |
| L5 | Distributed systems | Event sourcing, microservices |
Advancement is manual — you decide when to increase complexity based on results.
Universal patterns baked into all implementations:
- Hexagonal Architecture — domain has no framework imports
- SOLID — single responsibility, dependency inversion
- Clean Architecture — domain → application → infrastructure → interfaces
- Elephant Carpaccio — thin end-to-end slices over horizontal layers
All state lives in .devloop/:
.devloop/
├── state.json # Current stage, metrics, task outcomes
├── STAGE1_*.md # Domain model output
├── STAGE2_*.md # Task backlog
├── STAGE5_*.md # Review results
└── STAGE7_*.md # Eval summary
Devloop uses hooks for iterative validation during implementation:
PreToolUse→ validate code patterns after Write/EditPostToolUse→ log devloop state after Bash commands
Hooks activate when devloop is in an active loop. Configure in hooks/hooks.json.