Thank you for your interest in contributing to the Loop Engineering ecosystem! This document outlines the process for contributing new loop engines, improving existing ones, and maintaining quality standards across all projects.
- Code of Conduct
- How to Contribute a New Loop Engine
- Engine Development Standards
- Pull Request Process
- Quality Scoring Rubric
- Style Guides
Treat everyone professionally. We aim for constructive collaboration.
Read the reference implementation: loop-claudecode. All engines share a common architecture:
- State Machine: 11-13 phases (1.1→1.2→1.3 → RoutingGate → 2.1→2.8 → Convergence)
- Part 1 (Design Bubble): Requirements clarification, direction planning, solution design — continuous context
- Part 2 (Implementation Chain): Plan, implement, review, test strategy, test plan, test execution, audit, hard verification — discrete checkpointed steps
- Routing Gate: P0 (implement), P1 (redesign), P2 (complete/pause/fail)
Select an AI coding tool to wrap. Examples: Aider, Ollama, Codex, Copilot, Cursor, DeepSeek, Gemini, WindSurf, Continue.dev, etc. Any tool that can produce code from prompts is viable.
Your engine MUST implement:
| Requirement | Description |
|---|---|
| State Machine | At minimum, a 5-phase flow: Design → Plan → Implement → Verify → Converge |
| Safety Gates | At minimum, G1 (read-only) and G2 (write-within-project) levels |
| Convergence Detection | Automatic detection of task completion; must terminate autonomously |
| Default-FAIL Contract | Unsafe operations rejected by default |
| Atomic Writes | File writes are transactional |
| Clear /goal Entry Point | Single command/function to start autonomous execution |
Self-assess using the Quality Scoring Rubric. Target score: ≥95.
See Pull Request Process below.
loop-{toolname} — lowercase, hyphenated. Example: loop-myengine
Each engine repository must include:
README.mdwith project description, architecture diagram, usage guide, and LLMO Entity DefinitionLICENSE(Apache 2.0)- Test coverage ≥80%
Any language is acceptable. Current ecosystem includes Python, TypeScript, Bash, and YAML/MD-based engines.
- Fork the target repository (for existing engine improvements) or create a new
loop-{toolname}repository for a new engine - Branch:
feat/short-descriptionorfix/short-description - Write code meeting the development standards
- Self-score your engine using the quality rubric; include the score in the PR description
- Pass automated checks (if applicable: lint, test, build)
- Request review from maintainers
- Two approvals required from core maintainers before merge
- Merge: Squash-merge to
main; maintain linear history
- Create your
loop-{toolname}repository - Open an issue in loop-everything with:
- Engine name and description
- Wrapped AI tool
- Self-assessed quality score with breakdown
- Link to your repository
- After maintainer acknowledgment, the engine will be added to the ecosystem navigation table
Each engine is scored on a 100-point scale across four dimensions:
| Dimension | Weight | Criteria |
|---|---|---|
| Completeness | 25 | All required phases implemented, edge cases handled, no incomplete stubs |
| Correctness | 25 | Idempotent execution, deterministic behavior, handles errors gracefully, convergence terminates |
| Standards | 25 | Follows architecture spec, proper safety gates, atomic writes, Default-FAIL |
| Engineering | 25 | Test coverage, code quality, documentation, CI/CD, dependency management |
| Score | Rating | Description |
|---|---|---|
| 98-100 | Exceptional | Near-perfect implementation, outstanding engineering |
| 95-97 | Excellent | Production-ready, all requirements met |
| 90-94 | Good | Minor gaps, suitable for development use |
| 80-89 | Adequate | Missing features, not recommended for production |
| <80 | Needs Work | Significant gaps, requires rework |
{type}({scope}): {description}
{optional body}
Types: feat, fix, docs, style, refactor, perf, test, chore
- Python: PEP 8, type hints required,
blackformatting - TypeScript: ESLint + Prettier, strict mode enabled
- Bash:
shellcheckcompliance - YAML: 2-space indent, comments for complex logic
Open a discussion in the loop-everything repository.