Skip to content

tomgoeck/Ultracode

Repository files navigation

⚑ Ultracode

A MAKER-based autonomous feature engineering system

Ultracode is a production-grade autonomous software engineering system that plans, implements, validates, and commits complete software features using a structured multi-agent architecture.

Ultracode is inspired by the MAKER architecture and implements a general-purpose agent harness for reliable, auditable, and cost-aware AI-driven development.

Ultracode is not a chatbot.
It is an engineering system.


⚠️ Status: Alpha Testing

Ultracode is actively being developed and tested. While core functionality works reliably, some features may change. Use in production at your own discretion.


🎯 Why Ultracode?

βœ… Easy-to-Use Interface

Intuitive UI with project management, feature tracking, and real-time execution monitoring. See screenshots below.

🧠 Multi-Agent Architecture for Reliability

Based on MAKER (Cognizant AI Lab), Ultracode eliminates the "hallucination problem" that plagues modern LLMs:

  • Separation of concerns: Planning, execution, and voting are independent
  • Error decorrelation: Multiple agents generate diverse solutions
  • Structured voting: Consensus replaces blind generation
  • Near-zero failure rates on long-running projects

πŸ’° Cost-Effective & Flexible

  • Use expensive models only for planning (Example: gpt-5.2 or opus-4.5)
  • Cheaper models for coding: GPT-4o Mini, Gemini 2, or your local models
  • Local model support: Run open models via LM Studio (GLM, Mistral, etc.) β€” zero API costs
  • Full cost transparency: Real-time token breakdown per project

πŸ”’ Reliable & Auditable

  • Every decision is logged (event sourcing)
  • Human-in-the-loop for risky operations
  • Filesystem sandbox prevents accidental damage
  • Git commits with full feature history

πŸš€ Feature-Based Development

  • Organize work as features with dependencies
  • Automatic task decomposition and prioritization
  • Resume paused work without losing context

πŸ”¬ Research Background

Ultracode is directly inspired by:

MAKER: Multi-Agent Architecture for Knowledge-Driven Reasoning
Cognizant AI Lab (2024)
https://www.cognizant.com/us/en/ai-lab/blog/maker

From the MAKER paper, Ultracode adopts:

  • Separation of planning, execution, and validation
  • Explicit intermediate representations
  • Error decorrelation via multiple samples
  • Structured voting instead of blind generation
  • Human-in-the-loop safety boundaries

Ultracode extends MAKER from task execution to a complete feature-based software engineering pipeline.


🧠 What Ultracode Is

Ultracode turns large language models into reliable engineering agents by embedding them inside a deterministic system with memory, validation, and control.

Core Idea

Project β†’ Features (prioritized, dependency-aware) β†’ Subtasks (atomic, executable) β†’ Voting-based execution β†’ Validation β†’ Git commits


✨ Key Capabilities

🎯 Feature-Based Development

  • Work is organized as features, not prompts
  • Priorities: A / B / C
  • Explicit dependencies and blocking rules

🧠 Structured Agent Roles

  • Planner Agent β€” decomposes features into subtasks
  • Executor Agent β€” generates concrete code and actions
  • Voting / Verification Agent β€” selects safe, correct outputs

πŸ—³ Voting & Quality Control

  • Multi-sample generation with adaptive temperature
  • First-to-lead-by-k voting strategy
  • Prompt paraphrasing for error decorrelation
  • Red-flag detection before execution

πŸ“Š Persistent System State

  • SQLite (WAL mode) as single source of truth
  • Projects, features, subtasks, events
  • Full audit trail (event sourcing)

πŸ”’ Safety by Design

  • Filesystem sandboxing
  • Command risk classification
  • Human approval for risky actions
  • No arbitrary code execution

πŸ§ͺ Optional Automated Verification

  • Auto-start dev servers (Node, PHP, static)
  • Screenshot-based UI testing (Puppeteer)
  • LLM-based verification against Definition of Done

πŸ“ˆ Cost & Token Transparency

  • Token estimation and pricing per model
  • Real-time project cost breakdown
  • Zero cost for local models

🧩 Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Web UI β”‚ (live SSE updates) β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ HTTP API β”‚ β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Feature β”‚ β”‚ Manager β”‚ β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Orchestratorβ”‚ β”‚ (MAKER) β”‚ β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Voting β”‚ β”‚ Engine β”‚ β”‚ + RedFlags β”‚ β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ LLM β”‚ β”‚ Registry β”‚ β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ OpenAI Β· Claude Β· Gemini β”‚ β”‚ Local Models (LM Studio) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜


πŸ—³ Voting & Verification Agents

Ultracode applies targeted voting at deterministic decision gates, following the MAKER philosophy.

Why Voting?

LLMs fail in correlated ways.
Voting combined with prompt paraphrasing breaks that correlation and improves reliability.

Decision Flow

Executor Outputs ↓ Red-Flag Filtering ↓ Vote Tally ↓ [ Approve | Retry | Fail | Human Review ]

Voting is applied to:

  • Subtask execution
  • Structured JSON outputs
  • Ambiguous or risky operations

🧱 Core Components

  • FeatureStore β€” SQLite persistence & event sourcing
  • FeatureManager β€” dependency resolution & execution queue
  • FeaturePlanner β€” LLM-based feature decomposition
  • ContextBuilder β€” intelligent prompt assembly
  • Orchestrator β€” MAKER-style execution engine
  • VotingEngine β€” consensus selection & error filtering
  • ProjectGuard β€” filesystem sandbox
  • ExecutionGuard β€” command safety
  • ResourceMonitor β€” token & cost tracking

πŸ§™ Project Creation Wizard

Ultracode includes a structured 3-step project wizard:

  1. Project Basics

    • Name and description
    • Folder creation & git init
  2. AI-Guided Clarification

    • Architecture & stack
    • Data models & authentication
    • Non-functional requirements
    • Optional web research
  3. Model Assignment

    • Planner model
    • Executor model
    • Voting model

Outputs:

  • project.md (engineering specification)
  • Feature list with Definition of Done
  • init.sh for automated bootstrapping

πŸš€ Quick Start

Requirements

  • Node.js β‰₯ 18
  • At least one LLM provider (or LM Studio for local models)

Install

git clone https://github.com/tomgoeck/Ultracode.git
cd Ultracode
npm install

Configure

cp config.json.example data/config.json
# or
Run the application below and click on the settings button in the top right

Add API keys (the data/ directory is gitignored).

Run

node src/server.js
# or
PORT=4173 npm start

Open: http://localhost:4173


πŸ“Έ Screenshots

Projects Dashboard

Projects Dashboard

Feature Details & Execution

Feature Details

Terminal Output

Terminal Output

Files Browser

Files Browser

Project Models Configuration

Project Models

API Keys Settings

API Keys

βΈ»

πŸ§ͺ Feature Lifecycle

pending β†’ running β†’ completed β†’ verified ↓ ↓ paused failed ↓ blocked (dependency)

Ultracode always knows what can run next β€” and why.

βΈ»

🧠 Why Ultracode Exists

Ultracode demonstrates that: β€’ LLMs become reliable inside systems β€’ Autonomous coding requires memory, structure, and validation β€’ Voting beats prompt cleverness β€’ MAKER-style architectures scale beyond research prototypes

This repository is both: β€’ a usable engineering tool β€’ a reference implementation of modern agent research

βΈ»

πŸ“œ License

MIT License

βΈ»

πŸ™ Acknowledgements β€’ Cognizant AI Lab β€” MAKER architecture β€’ OpenAI, Anthropic, Google β€’ The autonomous agents research community

βΈ»

Ultracode β€” Autonomous engineering, grounded in systems, not prompts.

About

Ultraagent is a production-grade implementation of the MAKER architecture for autonomous software engineering. It uses planning, execution, and voting agents with persistent state, structured validation, and safety guards to reliably build, test, and commit software features.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors