Your knowledge base. Your AI team.
The AI-first startup OS where everything lives as markdown files on disk. No database. No vendor lock-in. Self-hosted. Your data never leaves your machine.
runcabinet.com | hi@runcabinet.com | Star on GitHub
npx create-cabinet@latest
cd cabinet
npm run dev:allOpen http://localhost:3000. The onboarding wizard builds your custom AI team in 5 questions.
Every time you start a new Claude session, it forgets everything. Your project context, your decisions, your research — gone. Scattered docs in Notion. AI sessions with no memory. Manual copy-paste between tools.
One knowledge base. AI agents that remember everything. Scheduled jobs that compound. Your team grows while you sleep.
If it feels like enterprise workflow software, it's wrong. If it feels like watching a team work, it's right.
| Feature | What it does |
|---|---|
| WYSIWYG + Markdown | Rich text editing with Tiptap. Tables, code blocks, slash commands. |
| AI Agents | Each has goals, skills, scheduled jobs. Watch them work like a real team. |
| Scheduled Jobs | Cron-based agent automation. Reddit scout every 6 hours. Weekly reports on Monday. |
| Embedded HTML Apps | Drop an index.html in any folder — it renders as an iframe. Full-screen mode. |
| Web Terminal | Full Claude Code terminal in the browser. xterm.js + node-pty. |
| File-Based Everything | No database. Markdown on disk. Your data is always yours, always portable. |
| Git-Backed History | Every save auto-commits. Full diff viewer. Restore any page to any point in time. |
| Missions & Tasks | Break goals into missions. Track progress with Kanban boards. |
| Internal Chat | Built-in team channels. Agents and humans communicate. |
| Full-Text Search | Cmd+K instant search across all pages. Fuzzy matching. |
| PDF & CSV Viewers | First-class support for PDFs and spreadsheets. |
| Dark/Light Mode | Theme toggle. Dark mode by default. |
This is the biggest difference between Cabinet and tools like Obsidian or Notion. Drop an index.html in any directory — it renders as an embedded app. Full-screen mode with sidebar auto-collapse. AI-generated apps written directly into your KB. Version controlled via git. No build step.
| Feature | Cabinet | Obsidian | Notion |
|---|---|---|---|
| AI agent orchestration | Yes | No | No |
| Scheduled cron jobs | Yes | No | No |
| Embedded HTML apps | Yes | No | No |
| Web terminal | Yes | No | No |
| Self-hosted, files on disk | Yes | Yes | No |
| No database / no lock-in | Yes | Yes | No |
| Git-backed version history | Yes | Via plugin | No |
| WYSIWYG + Markdown | Yes | Yes | Yes |
Cabinet ships with 20 pre-built agent templates. Each has a role, recurring jobs, and a workspace in the knowledge base.
| Department | Agents |
|---|---|
| Leadership | CEO, COO, CFO, CTO |
| Product | Product Manager, UX Designer |
| Marketing | Content Marketer, SEO Specialist, Social Media, Growth Marketer, Copywriter |
| Engineering | Editor, QA Agent, DevOps Engineer |
| Sales & Support | Sales Agent, Customer Success |
| Analytics | Data Analyst |
| Operations | People Ops, Legal Advisor, Researcher |
- Install & Run — One command. Next.js + daemon start.
- Answer 5 Questions — Cabinet builds your custom AI team.
- Watch Your Team Work — Agents create missions, write content, scout Reddit, file reports.
- Knowledge Compounds — Every agent run, every edit adds to the KB. Context builds over time.
cabinet/
src/
app/api/ -> Next.js API routes
components/ -> React components (sidebar, editor, agents, jobs, terminal)
stores/ -> Zustand state management
lib/ -> Storage, markdown, git, agents, jobs
server/
cabinet-daemon.ts -> WebSocket + job scheduler + agent executor
data/
.agents/.library/ -> 20 pre-built agent templates
getting-started/ -> Default KB page
Tech stack: Next.js 16, TypeScript, Tailwind CSS, shadcn/ui, Tiptap, Zustand, xterm.js, node-cron
- Node.js 20+
- Claude Code CLI (
npm install -g @anthropic-ai/claude-code) - macOS or Linux (Windows via WSL)
cp .env.example .env.local| Variable | Default | Description |
|---|---|---|
KB_PASSWORD |
(empty) | Password to protect the UI. Leave empty for no auth. |
DOMAIN |
localhost |
Domain for the app. |
npm run dev # Next.js dev server (port 3000)
npm run dev:daemon # Terminal + job scheduler (port 3001)
npm run dev:all # Both servers
npm run build # Production build
npm run start # Production mode (both servers)Cabinet is free, open source, and self-hosted. Your data never leaves your machine.
npx create-cabinet my-startupMIT License
