Your knowledge base. Your AI team.
🗂️ Files on disk • 📁 AI workspaces • 🧠 Agents with memory
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.
Built by Hila Shmuel, former Engineering Manager at Apple — now building Cabinet in public, with the open-source community.
@HilaShmuel • runcabinet.com • hi@runcabinet.com
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.
Cabinet is built around a few principles that we think matter deeply for the future of AI + data tools:
- Yours — Your data stays yours: local, visible, and portable. It’s not trapped inside a particular AI provider’s system with no clean way to get it out. You stay in control of your information.
- Git everything — Memory should have history. You should be able to inspect changes, revert mistakes, audit how knowledge evolves, and treat your AI system like the important infrastructure it is.
- BYOAI — Bring your own AI. Cabinet should work with Claude, Codex, OpenCode, local models, and whatever comes next, without forcing your knowledge into a single provider’s ecosystem.
- KISS — Keep it simple, stupid. AI tools should be understandable, inspectable, and hackable. We prefer plain files, clear behavior, and systems that developers can actually reason about.
- Security — We care deeply about security. If AI is going to work with your documents, research, plans, and internal context, the system should minimize surprise, reduce unnecessary exposure, and make trust a design requirement rather than an afterthought.
- Self-hosted — If AI is going to hold your context, plans, research, and operating memory, it should run in an environment you control.
| 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 local AI CLI 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+
- At least one supported CLI provider:
- Claude Code CLI (
npm install -g @anthropic-ai/claude-code) - Codex CLI (
npm install -g @openai/codexorbrew install --cask codex)
- Claude Code CLI (
- 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-startupSee CHANGELOG.md for breaking changes, or follow the full release history on the documentation site.
Questions, ideas, feedback, screenshots, wild experiments — bring them to the Discord. That’s where the Cabinet community hangs out and where a lot of the product direction gets shaped in real time.
Cabinet is moving fast right now. We’d love thoughtful contributors who want to help shape it early.
If you’re thinking about opening a PR, please start by joining the Discord and talking with Hila before coding. Hila is Cabinet’s builder, and that early sync helps us keep the roadmap coherent while the product is still evolving rapidly.
Once the direction is aligned, open your PR on GitHub. The goal is not gatekeeping — it’s making sure your energy goes into work that has a clear path to landing and shipping.
MIT License
