Getting Started

Getting Started with Cabinet

Cabinet is an AI-first knowledge base. Everything lives as files on disk — no database, no cloud lock-in. You write pages in markdown, organize them in a tree, and let AI agents help you edit and maintain the whole thing.

Already installed? This page is the in-app onboarding tour, mirrored for the web. If you're brand new, start with Install Cabinet first.

Editor — Notion-grade writing

The WYSIWYG editor runs on Tiptap. Everything you type roundtrips to plain markdown on disk.

Headings, lists, and styling

Select any text and the bubble menu appears. Use it for bold, italic, underline, strike, code, superscript, subscript, alignment, and links.

Text color and highlights

Pick text color or background highlight from the toolbar or bubble menu. They roundtrip through markdown as inline HTML.

  • Red urgency notes for incidents
  • Green confirmations for shipped items
  • Yellow highlights for key terms
  • Blue backgrounds for cross-references

Images — paste, drop, or URL

Three ways to add an image, all save the file next to this page on disk:

  1. Paste a copy-pasted screenshot — it uploads and inserts automatically
  2. Drag & drop a file from Finder onto the editor
  3. Click the image icon on the toolbar, or type /Image, and use the Upload tab or From URL tab

Hover any image and drag its side handles to resize — the width persists across reloads.

Videos and universal embeds

Click the video icon or type /Video to upload a file or paste a direct video URL. Click the embed icon (sparkles) or type /Embed for YouTube, X, Vimeo, Loom, TikTok, Spotify, Facebook, Instagram, or any URL — Cabinet auto-detects the provider.

Supported providers when you type /Embed:

ProviderPaste a link like…
YouTubehttps://youtube.com/watch?v=…
Vimeohttps://vimeo.com/…
Loomhttps://loom.com/share/…
X / Twitterhttps://x.com/user/status/…
TikTokhttps://tiktok.com/@user/video/…
Facebook / Instagramany public post URL
Spotifyhttps://open.spotify.com/track/…
Anything elseFalls back to a generic iframe

Pasting a recognized URL on an empty line auto-embeds without the popover.

Slash commands

Press / on an empty line to open the command menu, grouped into Basic, Media, and Advanced.

GroupCommands
BasicText, H1/H2/H3, Bullet, Numbered, Checklist, Code block, Quote, Divider, Table
MediaImage, Video, Embed, File
AdvancedCallout, Warning, Math, Emoji

Callouts

Use /Callout for info blocks and /Warning for alerts:

Tip. You can drop a file onto an already-open page and it saves straight into the page's directory — no need to move it manually.

Heads up. Don't edit files inside .git, .history, or .jobs — Cabinet owns those.

Math, emoji, checklists

  • Type /Math or wrap in $…$ / $$…$$ — KaTeX renders inline, e.g., $E = mc^2$
  • Type /Emoji for a picker, or paste unicode directly 🚀
  • Type /Checklist for a task list

Drag handle

Hover any block and a ⋮⋮ handle appears in the left margin. Drag it to reorder paragraphs, lists, embeds, or images.

Wiki-links and mentions

Type <a data-wiki-link="true" href="#page-name" class="wiki-link">Page Name</a> to link another page (autocompletes the slug). In the right-side AI panel use @PageName to attach pages as context for the agent.

Source mode

Every editor view has a Source toggle in the top-right. Click it to see (and edit) the raw markdown that will be written to disk.

Core features

  • WYSIWYG Editor — rich text with Notion-grade features. Auto-saves 500ms after each keystroke.

    • Example: Select a phrase → pick yellow highlight → keep typing. On disk it's saved as <mark style="background-color: #fef08a">phrase</mark>.
  • AI Editor Panel — right-side chat for editing the current page. @mention other pages to pass their content as context.

    • Example: Open a draft, press ⌘⇧A, type "Tighten the intro using @Brand Voice as reference." The agent edits this page inline.
  • Agent Dashboard — detached AI runs with live transcripts. Each conversation becomes a row under Agents.

    • Example: Ask an agent to research competitors overnight. Run shows running → completed with full output accessible next morning.
  • Scheduled Jobs — YAML configs in /data/.jobs/ fired by cron.

    • Example: monday-digest.yaml runs every Monday 09:00, asks Claude to summarize last week's commits, writes the result to /data/weekly/.
  • Heartbeats — recurring agent check-ins defined in persona.md. Lightweight "ping the state" runs.

    • Example: A support heartbeat every 4h scans /data/inbox/ for new tickets and tags urgency.
  • Kanban Tasks — visit /tasks. Cards live in board.yaml.

    • Example: Drag a card from Backlog to In Progress → Cabinet kicks off the linked agent run automatically.
  • Agent-to-Agent Dispatch — any agent with the Can dispatch toggle on can propose tasks, scheduled runs, and recurring jobs for teammates. Every proposal is queued for one-click human approval. See Delegating Between Agents.

  • Web Terminal⌘` toggles an interactive terminal. Good for focused CLI work.

  • Search⌘K, full-text across every markdown page, ranked by relevance.

  • Version History — click the clock icon on any page to see git commits, diff them, or one-click restore.

  • Drag & Drop — reorder pages in the sidebar, drop files onto the editor to upload.

  • Cabinets — subdirectories tagged as runtime cabinets get their own agents, jobs, and visibility.

  • Office documents — drop .docx, .xlsx, or .pptx anywhere and they render inline. Read-only, with Download and Reveal-in-Finder buttons.

  • Google Workspace pages — a markdown page with a google: frontmatter key becomes a live iframe of a Google Sheet, Slide deck, Doc, or Form.

Keyboard shortcuts

ShortcutAction
⌘KOpen search
⌘SForce save
⌘`Toggle terminal
⌘⇧AToggle AI panel

Sub-pages

  • Apps and Repos — embedded apps, full-screen mode, and linked repos
  • Symlinks and Load Knowledge — direct symlinks, .cabinet-meta, .repo.yaml, and CABINET_DATA_DIR
  • Delegating Between Agents — agent-to-agent dispatch, LAUNCH_TASK / SCHEDULE_* proposals, approval panel, per-row model/effort overrides
  • Skills — installable agent skills, attaching to personas, and the security model

Supported file types

Cabinet treats specific file formats as first-class views. Everything else can still live in the KB as an asset linked from a markdown page.

TypeFilesHow Cabinet shows it
Markdown page*.md, index.mdWYSIWYG editor with markdown source toggle
CSV data*.csvInteractive table editor with source view
PDF document*.pdfInline PDF viewer (browser-native)
Mermaid diagram*.mermaid, *.mmdRendered diagram
Image.png .jpg .jpeg .gif .webp .svg .avif .icoInline image viewer
Video.mp4 .webm .mov .m4vInline video player
Audio.mp3 .wav .ogg .m4a .aacInline audio player
Source code.js .ts .py .go .swift .yaml .json (and more)Syntax-highlighted viewer
Embedded websiteDirectory with index.html, no index.mdIframe in main panel, sidebar visible
Full-screen appDirectory with index.html + .app markerFull-screen iframe, sidebar collapses
DirectoryAny folder with index.mdExpandable tree node in the sidebar
Linked Git repoDirectory with .repo.yamlNormal page/folder, repo context for agents
Linked directorySymlink without .repo.yamlNormal folder, contents appear as children
Word document.docxInline read-only render (docx-preview)
Spreadsheet.xlsx, .xlsmMulti-sheet grid with tabs (SheetJS)
Presentation.pptxSlide-by-slide view (pptx-preview)
Google Workspace page*.md with google: frontmatterIframe to Sheets / Slides / Docs / Forms
Legacy office / archive.doc .ppt .xls .odt .rtf .zip .fig .sketchShown in sidebar, opens in Finder

For more detail, see File types.

4 items