What are Cabinets?
A cabinet is a portable, file-system native operating unit for AI-powered business functions. It is a directory on disk that contains everything a team needs to operate.
A company is a tree of cabinets
Just as a real company is a tree of teams — each with its own people, knowledge, and workflows — an AI company is a tree of cabinets. The root cabinet is your company. Child cabinets are departments, projects, or functions.
What's inside a cabinet
.cabinet
YAML identity file — name, version, description, and parent relationships.
schemaVersion: 1 id: marketing name: Marketing kind: child
.agents/
AI team members. Each agent has a persona, heartbeat schedule, budget, and focus areas.
name: CEO emoji: "🎯" type: lead heartbeat: "0 9 * * 1-5"
.jobs/
Scheduled automations. Cron expressions, owner agent, and prompt templates.
schedule: "0 9 * * 1" ownerAgent: ceo enabled: true
index.md
Entry point describing the cabinet's purpose, with YAML frontmatter for tags and metadata.
--- title: Marketing tags: [marketing, growth] ---
Core principles
Local-first
Files on disk, no database required. Your data stays where you put it.
Portable
Copy, move, or version control any cabinet. It is just a directory.
Inspectable
Everything is readable in a text editor. No opaque formats, no lock-in.
Composable
Nest cabinets to model any org structure. A child cabinet is just a subdirectory with its own .cabinet file.
Install a cabinet
Clone the registry and copy any cabinet into your project.
$ git clone https://github.com/hilash/cabinets.git && cp -r cabinets/text-your-mom ./my-companyAdd a cabinet to the registry
- 1
Fork the repo
Fork the cabinets repo on GitHub.
- 2
Create your directory
Add a new top-level directory with your cabinet name in kebab-case.
- 3
Add the required files
Include .cabinet, .agents/, .jobs/, and index.md.
- 4
Submit a pull request
Open a PR and your cabinet will appear in the registry.
Learn more about Cabinet at runcabinet.com.