I Built a Self-Hosted AI Engineering Team That Won't Push Code Without My Approval A developer has released AI Employee, an MIT-licensed, self-hosted system that wraps AI coding agents in a multi-stage pipeline — planner, coder, reviewer, and UI/security critics — so no code reaches GitHub without human approval. The tool stores all projects, tasks, approvals, costs, and memory in a single SQLite file and routes model calls through a local gateway that tracks token spend and enforces budget limits. The author describes it as a developer preview used daily on personal projects, with interfaces and schema still subject to change. Coding agents are good at writing code and bad at knowing when they're wrong. I've watched an agent confidently ship a broken change, add a dependency that was published 20 hours ago, or quietly leak a secret into a commit message. So I built AI Employee — a self-hosted system that wraps AI coding agents in the same process a careful human team already uses, before anything reaches your GitHub. Instead of "agent writes code → you review a diff," the pipeline looks like this: \ Task → Planner → Coder own Git worktree → Quick checks → Reviewer → UI/Security critics → Commit → Your approval → Push \ \ Every stage exists because I hit a real failure mode without it: Giving an agent a shell is giving it enough rope to do real damage, so most of the design effort went into containment rather than capability: Every project, task, event, approval, cost record, and memory entry lives in a single SQLite file using Node's built-in node:sqlite , with FTS5 for memory search . Backing up the whole system is copying one file. There's no cloud account, no external database to provision, and no vendor lock-in for something as basic as "what did my agents do last week." Agents talk to models through a local gateway that adds the provider's API key, records tokens and cost, and refuses calls once a budget is hit. You can mix and match: OpenAI for planning, a local Ollama model for routine coding, Claude for the final review — whatever your cost/quality tradeoff looks like. New dependencies, model calls, and even screenshot judging can each use a different provider. This is a developer preview — it's used daily on my own projects, but the interfaces and database schema may still shift between commits. If you're curious about the failure modes of autonomous coding agents, or just want a coding assistant you don't have to babysit line-by-line, I'd love feedback: 🔗 Repo: https://github.com/adnanahamed66772ndpc/ai-employee https://github.com/adnanahamed66772ndpc/ai-employee It's MIT licensed and PRs are welcome — especially around the review/critic pipeline and sandbox hardening.