OpenSwarm: Multi-Agent Claude CLI Orchestrator for Linear and GitHub

What OpenSwarm Does
OpenSwarm is an autonomous AI agent orchestrator powered by Claude Code CLI. It creates a multi-agent system that integrates with real development workflows, specifically Linear for issue tracking and GitHub for code management. The tool is designed to handle actual development tasks rather than toy examples.
Core Architecture and Features
The system follows a structured pipeline approach:
- Autonomous Pipeline: Cron-driven heartbeat fetches Linear issues and runs Worker/Reviewer pair loops
- Worker/Reviewer Pairs: Multi-iteration code generation with automated review, testing, and documentation stages
- Decision Engine: Scope validation, rate limiting, priority-based task selection, and workflow mapping
- Cognitive Memory: LanceDB vector store with Xenova/multilingual-e5-base embeddings for long-term recall across sessions
- Knowledge Graph: Static code analysis, dependency mapping, and impact analysis for smarter task execution
- Discord Control: Full command interface for monitoring, task dispatch, scheduling, and pair session management
- PR Auto-Improvement: Monitors open PRs, auto-fixes CI failures, auto-resolves merge conflicts, and retries until all checks pass
- Long-Running Monitors: Tracks external processes (training jobs, batch tasks) and reports completion
- Web Dashboard: Real-time status dashboard on port 3847 with PR Processor monitoring
- i18n Support: English and Korean locale support
Technical Requirements
- Node.js >= 22
- Claude Code CLI installed and authenticated (
claude -p) - Discord Bot token with message content intent
- Linear API key and team ID
- GitHub CLI (
gh) for CI monitoring (optional)
Installation and Configuration
Basic setup:
git clone https://github.com/unohee/OpenSwarm.git
cd OpenSwarm
npm installConfiguration involves copying the example config and creating a .env file:
cp config.example.yaml config.yamlRequired .env variables:
DISCORD_TOKEN=your-discord-bot-token
DISCORD_CHANNEL_ID=your-channel-id
LINEAR_API_KEY=your-linear-api-key
LINEAR_TEAM_ID=your-linear-team-idThe config.yaml supports environment variable substitution (${VAR} or ${VAR:-default}) and is validated with Zod schemas. Key configuration sections include discord, linear, github, agents, autonomous, and prProcessor settings.
Current Status and Limitations
The creator notes this is still early software with rough edges. Current TODOs focus on safety, scaling, and better task decomposition. The system is currently powering the creator's solo dev workflow for trading infrastructure, LLM tools, and other projects.
📖 Read the full source: HN AI Agents
👀 See Also

Repo Tokens: GitHub Action Adds Token Count Badge for LLM Context Window Awareness
Repo Tokens is a GitHub Action that counts your codebase's size in tokens using tiktoken and displays a badge in your README showing what percentage of an LLM's context window it fills. The badge uses green for under 30%, yellow for 50-70%, and red for 70%+.

WCY format reduces LLM token overhead by 50-71% and adds structural 'I don't know' markers
WCY (Watch-Compute-Yield) is a line-oriented format that reduces JSON token overhead by 50-71% and introduces structural '?' markers for LLMs to indicate uncertainty during reasoning. The format requires no fine-tuning—just three few-shot examples.

Building an Autonomous Research Agent with C# and Local LLMs
A C# research agent automates URL processing with local LLMs using Ollama and llama3.1:8b, generating structured markdown reports from web searches.
Mergetrain: A Local Merge Queue for Parallel Claude Code Sessions That Prevents Trampled Pushes
Mergetrain is a local merge queue that prevents parallel Claude Code sessions from trampling each other's pushes. It uses worktrees, a pre-push hook, and a single runner that assembles branches into a train, runs tests, then atomically pushes.