Data tables
Create a table
Create from the command palette, or type `/table` in a doc.
Three ways to create
Tables in Kition are first-class entities — not blocks inside a doc, but standalone records that sit alongside your .md files. The three entry points map to three different mental models: by capability, in-flow while writing, or by folder structure.
- Command palette →
Cmd+K→ "New table" — best when starting fresh - Inline
/tablein a doc — drop a mini table tied to the current paragraph - Right-click vault tree → "New table here" — place it inside a specific folder
The setup wizard
Creating a new table launches a lightweight wizard: name it, pick a starter template (Blank, Task tracker, CRM, Reading list, Bug log), then jump straight into editing. Templates are just pre-filled fields — change or delete columns at will after the fact.
Kition does not enforce schema-first design. Start with a few text columns, accumulate data, and tighten types later. When you change a column type, existing values get coerced when possible; coercion failures stay as strings and get flagged.
Where tables live on disk
Each table is its own <vault>/Tables/<name>.kitable file — rows, view definitions, filters, sorts, and group state all in one place. One table, one file: copy it, back it up, share it on its own.
Want raw access? kition table export <name> --format json (or --format csv) dumps the whole table without opening the app.
# Inspect a vault from the command line
kition --vault . table list
projects 42 rows updated 2026-06-04
reading 128 rows updated 2026-06-06
bug_log 17 rows updated 2026-06-07
# Export one table as JSON for scripting
kition --vault . table export projects --format json > projects.jsonNaming conventions
- Use short plural nouns —
Projects,Contacts,Bugs, notProject Tracker 2026 - Skip spaces —
{{table:projects}}reads cleaner than{{table:project tracker}}in agent prompts - Merge synonymous entities — one Reading list beats Reading + Bookmarks split
- Cap a vault at roughly 30 tables — more usually means you should consolidate or use a select field