Skip to content
/ Aether Public template

Artifical Ecology For Thought and Emergent Reasoning. A multi-agent development system for Claude Code & OpenCode

License

Notifications You must be signed in to change notification settings

calcosmic/Aether

Repository files navigation

     _    _____ _____ _   _ _____ ____
    / \  | ____|_   _| | | | ____|  _ \
   / _ \ |  _|   | | | |_| |  _| | |_) |
  / ___ \| |___  | | |  _  | |___|  _ <
 /_/   \_\_____| |_| |_| |_|_____|_| \_\
Aether Logo

A multi-agent system for Claude Code and OpenCode where workers spawn other workers.

➑️ Click Use this template (top-right) to create your own Aether repo in 30 seconds.

Inspired by glittercowboy's GSD system

npm version License: MIT

v1.0.0 β€” First stable production release πŸŽ‰


"The whole is greater than the sum of its parts." β€” Aristotle



🐜 What Is Aether?

Aether brings ant colony intelligence to Claude Code. Instead of one agent doing everything sequentially, you get a colony of specialists that self-organize around your goal.

πŸ‘‘ Queen (you)
   β”‚
   β–Ό pheromone signals
   β”‚
🐜 Workers spawn Workers (max depth 3)
   β”‚
   β”œβ”€β”€ πŸ”¨ Builders β€” implement code
   β”œβ”€β”€ πŸ‘οΈ Watchers β€” verify & test
   β”œβ”€β”€ πŸ” Scouts β€” research docs
   β”œβ”€β”€ πŸ—ΊοΈ Colonizers β€” explore codebases
   β”œβ”€β”€ πŸ“‹ Route-setters β€” plan phases
   └── πŸ›οΈ Architects β€” extract patterns

When a Builder hits something complex, it spawns a Scout to research. When code is written, a Watcher spawns to verify. The colony adapts to the problem.


πŸš€ Quick Start

Prerequisites

  • Claude Code (Anthropic's CLI) and/or OpenCode
  • Node.js >= 16
  • jq β€” brew install jq on macOS

Installation

npm install -g aether-colony

This installs:

  • πŸ“ Claude Code Commands β†’ ~/.claude/commands/ant/ (20 slash commands)
  • πŸ“ OpenCode Commands β†’ ~/.config/opencode/commands/ant/ (20 slash commands)
  • πŸ“ OpenCode Agents β†’ ~/.config/opencode/agents/ (4 specialized agents)
  • πŸ“ Runtime β†’ ~/.aether/ (worker specs, utilities)

Your First Colony

Open Claude Code or OpenCode in any repo:

/ant:init "Build a REST API with authentication"
/ant:plan
/ant:build 1
/ant:continue

That's it. The colony takes over from there.


🎯 Commands

Core Workflow

Command Purpose
/ant:init "goal" 🟒 Set colony mission
/ant:plan πŸ—ΊοΈ Generate phased roadmap
/ant:build N πŸ”¨ Execute phase N
/ant:continue ▢️ Review & advance to next phase

/ant:init "goal" β€” Initialize the colony with your project goal. This creates the colony state, sets up constraints, and prepares the system. Run this first in any new project.

/ant:init "Build a REST API with JWT authentication"

/ant:plan β€” Generate a phased project plan. The colony iterates (up to 50 times) with Scout research and Route-Setter planning until confidence reaches 95%. Includes anti-stuck detection that pauses for user input if progress stalls.

/ant:build N β€” Execute phase N of your plan. Spawns a Prime Worker who coordinates Builders, Watchers, and Scouts. Workers can spawn sub-workers up to depth 3. Each phase ends with Watcher verification.

/ant:build 1    # Build phase 1
/ant:build 3    # Build phase 3

/ant:continue β€” After a build completes, this reviews the work through 6 verification gates (build, types, lint, tests, security, diff), then advances to the next phase. Use --all to auto-continue through all phases with quality gates.


Pheromone Signals

Command Purpose
/ant:focus "area" 🎯 Guide colony attention
/ant:redirect "pattern" 🚫 Warn away from approaches
/ant:feedback "msg" πŸ’¬ Teach preferences

/ant:focus "area" β€” Tell the colony to pay special attention to something. Max 5 focus areas at a time. Workers prioritize these during their work.

/ant:focus "error handling in the auth module"
/ant:focus "performance optimization"

/ant:redirect "pattern" β€” Warn the colony away from specific approaches or patterns. Max 10 redirects. These act as hard constraints workers must respect.

/ant:redirect "don't use jsonwebtoken, use jose instead"
/ant:redirect "avoid synchronous file operations"

/ant:feedback "msg" β€” Teach the colony your preferences. Creates an instinct (learned behavior) that persists across phases. Good for style preferences or project-specific patterns.

/ant:feedback "prefer composition over inheritance"
/ant:feedback "always add JSDoc comments to public functions"

Power Commands

Command Purpose
/ant:council πŸ“œπŸœπŸ›οΈπŸœπŸ“œ Clarify intent via multi-choice
/ant:swarm "problem" πŸ”₯πŸœπŸ—‘οΈπŸœπŸ”₯ Stubborn bug destroyer

/ant:council πŸ“œπŸœπŸ›οΈπŸœπŸ“œ β€” Convene the council when you need to clarify your intent through guided multi-choice questions. Works anytime, even mid-build. The council asks about project direction, quality priorities, or constraints, then auto-injects the appropriate FOCUS/REDIRECT/FEEDBACK signals based on your answers.

/ant:council    # Opens interactive clarification session

Use this when:

  • Starting a complex project and want to set clear direction
  • The colony seems confused about your preferences
  • You want to inject multiple constraints at once

/ant:swarm "problem" πŸ”₯πŸœπŸ—‘οΈπŸœπŸ”₯ β€” The nuclear option for stubborn bugs. Deploys 4 parallel scouts to investigate from different angles, then applies the best fix automatically. Use when you've tried fixing something multiple times and it keeps failing.

/ant:swarm "Tests keep failing in auth module with undefined error"
/ant:swarm "API returns 500 but logs show no errors"

The 4 scouts:

  • πŸ›οΈ Git Archaeologist β€” Traces git history to find when it broke
  • πŸ” Pattern Hunter β€” Finds similar working code in the codebase
  • πŸ’₯ Error Analyst β€” Parses error chains to identify root cause
  • 🌐 Web Researcher β€” Searches docs/issues for known solutions

After investigation, swarm cross-compares findings, ranks solutions by confidence, creates a git checkpoint, applies the fix, and verifies it works. If it fails, it rolls back automatically.


Issue Tracking

Command Purpose
/ant:flag "issue" 🚩 Create a flag
/ant:flags πŸ“‹ List all flags

/ant:flag "issue" β€” Create a flag to track blockers, issues, or notes. Flags persist across context resets and can block phase advancement.

/ant:flag "Database migration needs manual review" --type blocker
/ant:flag "Consider adding rate limiting" --type issue
/ant:flag "Good pattern for error handling" --type note

Types:

  • blocker β€” Blocks phase advancement until resolved
  • issue β€” Warning that should be addressed
  • note β€” Informational, no action required

/ant:flags β€” List all flags, resolve them, or acknowledge issues.

/ant:flags                    # List all active flags
/ant:flags --all              # Include resolved flags
/ant:flags --resolve 3 "Fixed in commit abc123"

Visibility & Status

Command Purpose
/ant:status πŸ“Š Colony overview
/ant:phase N πŸ“‹ View phase details
/ant:watch πŸ‘οΈ Live tmux monitoring

/ant:status β€” Quick overview of colony state: current phase, confidence, active constraints, recent activity, and any flags.

/ant:phase N β€” View details of a specific phase including tasks, status, and which worker castes are assigned.

/ant:phase 2    # View phase 2 details

/ant:watch β€” Set up a tmux session with 4 panes showing real-time colony activity: status, progress bar, spawn tree visualization, and activity log stream. Requires tmux.


Codebase Analysis

Command Purpose
/ant:colonize πŸ” Analyze existing codebase
/ant:organize 🧹 Codebase hygiene report

/ant:colonize β€” Analyze an existing codebase before planning. Scans key files (package.json, README, entry points, configs) and creates a codebase map. Run this before /ant:plan when working with existing projects.

/ant:organize β€” Run a hygiene report on the codebase. An Architect ant scans for stale files, dead code, orphaned configs, and other cleanup opportunities. Report-only β€” doesn't modify files.


Session Management

Command Purpose
/ant:pause-colony ⏸️ Save state for break
/ant:resume-colony ▢️ Restore from pause

/ant:pause-colony β€” Save full colony state to a handoff document when you need to take a break or switch contexts. Creates .aether/HANDOFF.md with everything needed to resume.

/ant:resume-colony β€” Restore colony state from a previous pause. Reads the handoff document and gets you back to where you left off.


✨ Features

  • 🐜 Nested Spawning β€” Workers spawn sub-workers (depth 1β†’2β†’3 chains)
  • 🎨 Colorized Output β€” Each caste has its own terminal color
  • πŸ‘οΈ Runtime Verification β€” Watchers actually execute code, not just read it
  • 🚩 Flagging System β€” Issues persist across context resets
  • πŸ”¨ Named Ants β€” Hammer-42, Vigil-17, Quest-33... they feel real
  • πŸ“Š Spawn Tree Visualization β€” See the colony hierarchy in real-time

πŸ—οΈ How It Works

The Castes

Caste Emoji Role
Builder πŸ”¨ Writes code, runs commands
Watcher πŸ‘οΈ Tests, validates, quality gates
Scout πŸ” Researches docs, finds answers
Colonizer πŸ—ΊοΈ Explores codebases, maps structure
Route-setter πŸ“‹ Plans phases, breaks down goals
Architect πŸ›οΈ Synthesizes patterns, extracts learnings

Pheromone Signals

Instead of direct commands, you emit signals that the colony interprets:

Signal Purpose Decay
🎯 FOCUS "Pay attention to this" 1 hour
🚫 REDIRECT "Avoid this approach" 24 hours
πŸ’¬ FEEDBACK "Here's what I like/dislike" 6 hours

Each caste has different sensitivity to signals. Builders prioritize FOCUS, Watchers prioritize REDIRECT warnings.

Iterative Planning (95% Confidence)

When you run /ant:plan, the colony doesn't just generate a plan once. It iterates:

  1. Scout researches the codebase, identifies knowledge gaps
  2. Route-Setter drafts/refines the plan based on findings
  3. Loop continues until confidence reaches 95% (max 50 iterations)
Iteration 12/50 | Confidence: 78%
β”œβ”€β”€ Researching: API authentication patterns
└── Gaps remaining: 2 (rate limiting, error handling)

Confidence is measured across 5 dimensions: codebase knowledge, requirement clarity, risk identification, dependencies, and effort estimation. The loop includes anti-stuck checks β€” if progress stalls, it pauses for user input rather than spinning.

Spawn Depth

πŸ‘‘ Queen (depth 0)
└── πŸ”¨ Builder-1 (depth 1) β€” can spawn 4 more
    β”œβ”€β”€ πŸ” Scout-7 (depth 2) β€” can spawn 2 more
    β”‚   └── πŸ” Scout-12 (depth 3) β€” no more spawning
    └── πŸ‘οΈ Watcher-3 (depth 2)
  • Depth 1: Up to 4 spawns
  • Depth 2: Up to 2 spawns (only if genuinely surprised)
  • Depth 3: Complete inline, no further spawning
  • Global cap: 10 workers per phase

πŸ“ File Structure

~/.claude/commands/ant/           # Claude Code global slash commands
    β”œβ”€β”€ init.md, plan.md, build.md, continue.md...
    └── (20 command files)

~/.config/opencode/               # OpenCode global config
    β”œβ”€β”€ commands/ant/             # OpenCode slash commands (20 files)
    └── agents/                   # Specialized agents (queen, builder, scout, watcher)

~/.aether/                        # Global runtime (shared)
    β”œβ”€β”€ workers.md                # Worker specs with spawn protocol
    β”œβ”€β”€ aether-utils.sh           # Utility layer (34 subcommands)
    └── utils/                    # Colorization, spawn tree viz

<your-repo>/.aether/data/         # Per-project state (SHARED between tools)
    β”œβ”€β”€ COLONY_STATE.json         # Goal, plan, memory, errors
    β”œβ”€β”€ flags.json                # Blockers, issues, notes
    β”œβ”€β”€ activity.log              # Worker activity stream
    └── spawn-tree.txt            # Spawn hierarchy

Cross-Tool Compatibility

Both Claude Code and OpenCode share the same state files in .aether/data/. This means you can:

  • Start a project in Claude Code, continue in OpenCode
  • Switch tools when hitting rate limits
  • Use Claude for orchestration, GLM-4.7 for bulk coding
  • Mix and match based on task requirements

πŸ”„ Typical Workflow

1. /ant:init "Build feature X"     # Set the goal
2. /ant:colonize                    # Analyze existing code (optional)
3. /ant:plan                        # Colony generates phases
4. /ant:focus "security"            # Guide attention (optional)
5. /ant:build 1                     # Execute phase 1
6. /ant:continue                    # Review, advance
7. /ant:build 2                     # Repeat until done

Or use auto-continue:

/ant:continue --all    # Runs all phases with quality gates

Auto-continue halts if a Watcher scores below 4/10 or after 2 consecutive failures.


πŸ”§ Installation & Updates

# Install globally
npm install -g aether-colony

# Verify
aether version
ls ~/.claude/commands/ant/           # Claude Code commands
ls ~/.config/opencode/commands/ant/  # OpenCode commands

# Update
npm update -g aether-colony

# Uninstall (preserves project state)
aether uninstall && npm uninstall -g aether-colony

OpenCode Setup

OpenCode uses whatever model you have configured as your default. The included agents work with any provider.

Optional: Model-per-agent configuration

For advanced users who want different models for different castes, add to your opencode.json:

{
  "agents": {
    "aether-queen": { "model": "anthropic/claude-sonnet" },
    "aether-builder": { "model": "your-preferred/coding-model" },
    "aether-scout": { "model": "your-preferred/research-model" },
    "aether-watcher": { "model": "anthropic/claude-sonnet" }
  }
}

This is entirely optional - by default, all agents use your configured default model.


πŸ™ Acknowledgments

Massive shoutout to glittercowboy and the GSD (Get Shit Done) system. GSD showed what Claude Code could become with the right orchestration. Aether takes that inspiration and adds ant colony dynamics β€” pheromones, castes, and nested spawning.


πŸ“„ License

MIT β€” do whatever you want with it.


🐜 The colony is greater than the sum of its ants. 🐜

About

Artifical Ecology For Thought and Emergent Reasoning. A multi-agent development system for Claude Code & OpenCode

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •