Skip to content

thanksmors/devloop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

devloop

Autonomous self-improving development loop that learns tech stacks through progressive complexity — simple apps to production-grade SaaS.

Installation

From mors-labs marketplace

# Add the marketplace
/plugin marketplace add thanksmors/devloop

# Install the plugin
/plugin install devloop@thanksmors-devloop

From URL

/plugin marketplace add https://github.com/thanksmors/devloop
/plugin install devloop@thanksmors-devloop

Local development

cc --plugin-dir /path/to/devloop

Philosophy

Built 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

Architecture

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

Usage

Start a development loop

/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 BaaS
  • bun-nuxt4-convex — Nuxt 4 + Bun + Convex
  • bun-sveltekit-sqlite — SvelteKit + Bun + native SQLite
  • bun-nuxt4-sqlite — Nuxt 4 + Bun + native SQLite
  • sveltekit-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

Stages

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

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)

Creating a new preference set

cp -r preferences/nuxt4-insforge-bun preferences/my-stack
# Edit the files in preferences/my-stack/

Complexity Progression

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.

Design Patterns

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

State Management

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

Hooks

Devloop uses hooks for iterative validation during implementation:

  • PreToolUse → validate code patterns after Write/Edit
  • PostToolUse → log devloop state after Bash commands

Hooks activate when devloop is in an active loop. Configure in hooks/hooks.json.

About

Autonomous self-improving development loop that learns tech stacks through progressive complexity

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages