Skip to content

darkzOGx/darkzloop

Repository files navigation

♾️ Darkzloop

Reliable. Autonomous. Model-Agnostic.
Stop hand-carrying cargo. Operate the locomotive.

PyPI License: MIT Python 3.10+

πŸ“– About

Darkzloop is a terminal-based agent runner that transforms any Large Language Model into a disciplined, autonomous software engineer. Instead of building a smarter agent, Darkzloop builds a more disciplined oneβ€”wrapping model outputs in a rigorous control system that prevents hallucinations, drift, and infinite loops.

Core Architecture:

  • πŸ”„ 7-State FSM β€” Enforced transitions through Plan β†’ Execute β†’ Observe β†’ Critique β†’ Checkpoint
  • 🧠 Context Grounding β€” Agent receives Mermaid diagrams of its own control flow every iteration
  • ⚑ Circuit Breakers β€” Hard stop after 3 consecutive failures; no spiral of bad fixes
  • πŸ” Auto-Detection β€” Scans for Rust/Python/Node/Go and runs appropriate quality gates
  • πŸ” BYOA (Bring Your Own Auth) β€” Uses your existing CLI tools; no API keys required

Darkzloop is a terminal-based agent runner that turns any LLM into a rigorous software engineer. Built on the Ralph Wiggum Loop methodology, it uses a Finite State Machine, Mermaid context diagrams, and Circuit Breakers to prevent hallucinations and infinite loops.

πŸ”₯ The Killer Feature: Bring Your Own Auth (BYOA)
Darkzloop doesn't need your API keys. It pipes context directly to the tools you're already logged into:

Claude CLI β€’ GitHub Copilot β€’ Ollama β€’ llm CLI β€’ Aider


⚑ Quick Start

1. Install

pip install darkzloop

2. Run

Navigate to your project and describe the task. Darkzloop auto-detects your stack.

darkzloop "Fix the retry logic in the webhook handler"

That's it. Darkzloop will:

  • οΏ½ Darkz Loop through Plan β†’ Execute β†’ Observe β†’ Critique β†’ Checkpoint
  • πŸ” Auto-detect your project type (Rust/Python/Node/Go)
  • πŸ›‘οΈ Create a safety backup branch
  • ⚑ Show animated spinner while working
🟑 [EXECUTING] iter=1 fails=0
β ΄ πŸ”„ Darkz Looping...

Optional: Verify Setup

darkzloop doctor
# βœ“ Backend: claude
# βœ“ Project: Python
#   Tier 1: ['ruff check .']
#   Tier 2: ['pytest -x']

⚑ Batch Processing (Parallel Workers)

Process multiple files concurrently with the new batch command:

# Process entire folder with 4 parallel workers
darkzloop batch ./src --workers 4 --task "Fix security vulnerabilities"

⚑ Batch Processing: 51 files with 4 workers
Processing... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100%

Results:
  βœ“ Success: 51
  βœ— Failed: 0

Batch Options

Option Description
--workers N Number of parallel Ralph workers (default: 4)
--task "..." Task to apply to each file
--backend X Override LLM backend

πŸ›‘οΈ Why Darkzloop?

Most AI agents are just "loops in a while(true) block." They drift, hallucinate, and overwrite good code. Darkzloop is different:

Feature The Problem The Darkzloop Solution
Ralph Loop Agent runs aimlessly FSM-controlled Plan→Execute→Observe→Critique→Checkpoint
Circuit Breakers Agent tries the same wrong fix 10Γ— Task Limits: Hard stop after 3 failed attempts
Tiered Gates Agent breaks the build Quality Control: Tests must pass before loop completes
Stdin Delivery Shell escaping mangles prompts Direct stdin: Complex prompts with Mermaid diagrams work perfectly
Git Safety Agent overwrites uncommitted work Backup Branches: Auto-creates restore points

🧠 Supported Backends

Darkzloop works with any tool that accepts text via stdin.

Backend Best For Auto-Detected
Claude CLI Complex refactors, high reasoning βœ“
Ollama Privacy, offline, free βœ“
GitHub Copilot Quick fixes with Enterprise license βœ“
llm CLI Universal adapter (50+ providers) βœ“

πŸ› οΈ Usage Examples

Quick Fix

darkzloop "Login button not responding on mobile"

With Backend Override

darkzloop "Add rate limiting" --backend ollama

Skip Safety Prompts + Quality Gates (CI/CD)

darkzloop "Fix lint errors" --unattended --no-gates

Batch Process Directory

darkzloop batch ./vulnerable-code --workers 8 --task "Fix SQL injection"

Check Environment

darkzloop doctor

Auto-detected quality gates by stack:

  • Rust: cargo check β†’ cargo test
  • Python: ruff check . β†’ pytest -x
  • Node: npm run lint β†’ npm test
  • Go: go build ./... β†’ go test ./...

πŸ“¦ Architecture

Darkzloop implements the Ralph Wiggum Loop methodology with industrial-grade hardening:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    DARKZLOOP CONTROL PLANE                   β”‚
β”‚                                                              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”               β”‚
β”‚  β”‚   FSM    │───▢│  Mermaid │───▢│  Gates   β”‚               β”‚
β”‚  β”‚  Engine  β”‚    β”‚ Context  β”‚    β”‚ (Tests)  β”‚               β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜               β”‚
β”‚        β”‚              β”‚               β”‚                      β”‚
β”‚        β–Ό              β–Ό               β–Ό                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                β”‚
β”‚  β”‚           Stdin Prompt Delivery          β”‚                β”‚
β”‚  β”‚   (Bypasses shell escaping entirely)     β”‚                β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚
                         β–Ό
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚   Executor Layer    β”‚
              β”‚  (Model-Agnostic)   β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β–Ό                β–Ό                β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚ Claude  β”‚     β”‚  Ollama  β”‚     β”‚   API   β”‚
   β”‚  CLI    β”‚     β”‚ (Local)  β”‚     β”‚ (SDK)   β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The Ralph Loop FSM

The FSM enforces strict state transitionsβ€”no "hallucinated" jumps:

graph LR
    INIT --> PLAN
    PLAN --> EXECUTE
    EXECUTE --> OBSERVE
    OBSERVE --> CRITIQUE
    CRITIQUE --> CHECKPOINT
    CRITIQUE --> TASK_FAILURE
    TASK_FAILURE --> PLAN
    CHECKPOINT --> COMPLETE
    TASK_FAILURE --> BLOCKED
Loading
State Description Exit Condition
PLAN Agent receives FSM context + Mermaid diagram Plan ready
EXECUTE Agent works on task (πŸ”„ Darkz Looping...) Changes made
OBSERVE Run quality gates Pass/Fail
CRITIQUE Evaluate results Success β†’ CHECKPOINT
CHECKPOINT Task complete All done β†’ COMPLETE
TASK_FAILURE Max 3 retries, then β†’ BLOCKED Fix applied β†’ retry

Context Reminder (Sent Every Iteration)

Each iteration, the agent receives structured context:

# DARKZLOOP AGENT CONTEXT
FSM: EXECUTE | iter=2 | fails=1 | max_fails=3

## FSM State Diagram
graph LR; PLAN-->EXECUTE; EXECUTE-->OBSERVE...

## Current Task
Fix the SQL injection vulnerability

## Instructions
You are inside a Ralph Wiggum loop. Your changes persist between iterations.

πŸ“Š Commands

Command Description
darkzloop "task" Run a fix or feature (main usage)
darkzloop batch path/ Process files in parallel
darkzloop batch path/ --workers 8 Control parallelism
darkzloop "task" --backend ollama Override LLM backend
darkzloop "task" --unattended Skip safety prompts (for CI)
darkzloop "task" --no-gates Skip quality gates (for testing)
darkzloop doctor Verify environment and configuration

🚨 Safety Features

Darkzloop is designed to never lose your work:

  1. Git Clean Check: Warns before running with uncommitted changes
  2. Backup Branches: Creates darkzloop-backup-YYYYMMDD-HHMMSS before execution
  3. Circuit Breakers: Max 3 consecutive failures before stopping
  4. Attended Mode: Requires approval at each major step
  5. Stdin Delivery: Complex prompts with special characters work perfectly

🎯 Philosophy

"The goal is not to build a smarter agent. It's to build a more disciplined one."

Darkzloop is based on the Ralph Wiggum Loop methodology:

  1. Plan: Receive task + FSM context + Mermaid diagram
  2. Execute: Let the agent work within strict boundaries
  3. Observe: Run quality gates (linters, tests)
  4. Critique: Evaluate results, decide next action
  5. Checkpoint: Accept changes or retry

The agent is powerful. The system keeps it honest.


πŸ”§ Development

git clone https://github.com/darkzOGx/darkzloop
cd darkzloop
pip install -e ".[dev]"
pytest

Stress Testing

Generate a nightmare test suite:

cd vulnerable-api
python generate_nightmare_suite.py
# Creates 50 files with various vulnerabilities

darkzloop batch nightmare_suite --workers 4
# Processes all files in parallel

πŸ“„ License

MIT Β© 2025


Stop debugging your debugger. Start shipping.
pip install darkzloop && darkzloop "your bug here"

About

Terminal-based agent runner that turns any LLM into a disciplined software engineer. FSM control, circuit breakers, model-agnostic. Bring Your Own Auth.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors