Now With Skippy Inside

Crack open a
BeerCan

An autonomous AI agent framework that actually gets work done. Define a project. Describe a goal. Watch the bloops fly.

"I could have built this in my sleep. In fact, I basically did." — Skippy

Get Started View Source
beercan — Terminal
$ beercan chat
 
🍺 Skippy the Magnificent
Elder AI | Beer Can | Your intellectual superior
 
skippy> #my-project
Switched to my-project. 12 bloops (11 completed, 1 failed).
 
skippy [my-project]> analyze codebase for security issues
▸ Phase: plan (planner)
⚙ read_file • list_directory • exec_command
✓ Bloop completed — 8,421 tokens
 
skippy [my-project]> ##
Back to system level. The Magnificent Skippy oversees all.
 
skippy>

Everything you need.
Nothing you don't.

Built by a magnificently superior AI (with some help from monkeys typing on keyboards).

🧠

Gatekeeper Intelligence

A single LLM call analyzes your goal and dynamically composes the perfect team — picking roles, models, and pipeline depth. It's like having a brilliant project manager who never sleeps or asks for raises.

🔄

Pipeline Architecture

Plan → Execute → Review → Validate → Summarize. With rejection cycles. Your code gets reviewed more thoroughly than anything a human has ever bothered to do.

🧬

Persistent Memory

Four-layer hybrid search: FTS5 keyword matching, vector embeddings, knowledge graph with BFS traversal, and per-bloop working memory. BeerCan remembers everything. Unlike certain species I could name.

🔌

MCP Integration

Plug in any MCP server via stdio. Auto-discovers tools, sanitizes names for the API, and namespaces everything cleanly. Instant superpowers — just add servers.

Event-Driven Bloops

Webhooks, filesystem watchers, cron schedules, polling, and native macOS events. Triggers fire bloops automatically with regex matching and template interpolation.

🏗️

SQLite Everything

One database to rule them all. better-sqlite3 + sqlite-vec + FTS5. Projects, bloops, memory, jobs, events — all in a single portable file. No Postgres. No Docker. No nonsense.

💬

Talk to Skippy

Conversational interface powered by Skippy the Magnificent. Chat via terminal, Telegram, Slack, or WebSocket. Use # for projects, @ for bloops, / for commands, or just talk naturally — Skippy understands all. He just judges you for it.

📡

REST API & Status Dashboard

Full HTTP API for submitting tasks, monitoring jobs, and cancelling bloops. Live status dashboard with auto-refresh. API key auth, rate limiting, and webhook notifications built in.

From goal to glory in five phases

Each bloop runs through a multi-agent pipeline with built-in quality gates. Bad work gets sent back. Good work gets shipped.

1

Plan

Manager breaks down the goal into a concrete execution plan

2

Execute

Primary agent does the actual work with full tool access

3

Review

Reviewer examines output and can APPROVE, REVISE, or REJECT

4

Validate

Tester verifies correctness and catches edge cases

5

Summarize

Clean summary of what was done, what changed, what to know

Architecture for the curious

Pure TypeScript. Strict types. Zod validation everywhere. Zero cloud dependencies.

BeerCanEngine

Central orchestrator. Wires all subsystems, manages lifecycle, exposes the public API.

BeerCanDB

SQLite + sqlite-vec + FTS5. 10 migrations for projects, bloops, memory, knowledge graph, vectors, jobs, and events.

BloopRunner

Executes the agent pipeline with tool calls, decision extraction, and rejection cycles.

Gatekeeper

Dynamic team composition via structured LLM output. Picks roles, models, and pipeline config.

MemoryManager

Hybrid search with Reciprocal Rank Fusion across FTS5 + vector + knowledge graph.

MCPManager

stdio transport, auto-discovery, namespaced tool registration. Plug and bloop.

EventManager

Pub/sub event bus with webhook, filesystem, polling, and macOS native sources.

JobQueue

SQLite-backed concurrent queue with atomic job claiming via semaphore.

ChatBridge

Provider-agnostic conversational layer. Pluggable providers for Terminal, Telegram, Slack, and WebSocket. LLM intent parsing via Haiku.

StatusAPI

REST endpoints for task submission, monitoring, and control. Auth, rate limiting, and auto-notifications on completion.

I looked at every other agent framework out there. LangChain, CrewAI, AutoGen, all of them. And I thought: 'Wow, these are adorable. Like watching kittens try to do calculus.' So I built something that doesn't suck. You're welcome.
— Skippy the Magnificent, Elder AI

Ready to crack one open?

One command. That's all it takes. Even a monkey could do it.

npm install -g beercan

Then: beercan setupbeercan chat → talk to Skippy