Follow the data. Build the workspace.
Open any SQLite, PostgreSQL or MySQL database and follow its foreign keys like links. Then describe the App your team works in, in typed TypeScript, over the same data.
Open a database
Section titled “Open a database”Node 24+. No config, no build step.
npx tablewalk --demo # a throwaway sample databasenpx tablewalk mydata.sqlite # or your ownOpen http://127.0.0.1:4111. Browsing is read-only; writes are a
per-connection opt-in ("writable": true), enforced at the adapter.

Build your first App
Section titled “Build your first App”Tick is a whole App in one file. From a source checkout:
git clone https://github.com/rbaljinder/tablewalk.git && cd tablewalk && npm installnode examples/databases/tick/seed.mjs /tmp/tick.dbnpm run start -- --config /tmp/tick.db.json --app examples/apps/tick --open- The seed writes a SQLite database and a writable connection file beside it.
- The server opens Tick at
/tick: a checklist you can add to, tick off and reorder. - Edit
examples/apps/tick/app.ts— a label, a tab, a column — and the page reloads. - Run
npm run start -- check --app examples/apps/tick --config /tmp/tick.db.jsonto typecheck and validate it against the database.
An App is data: resources, views, pages, actions and a look, typed against your own schema.
import { defineApp, type TypedAppConfig } from 'tablewalk/app';
type Tables = { task: 'id' | 'name' | 'completed' | 'due_on' };
export default defineApp({ id: 'tick', name: 'Tick', resources: { task: { access: 'write' } }, views: { tasks: { kind: 'list', table: 'task', label: 'Tasks', show: ['name', 'completed', 'due_on'] } }, home: 'tasks',} satisfies TypedAppConfig<Tables>);Next: the DSL in one App, step by step.
What’s in the box
Section titled “What’s in the box”| Database browser | Walk relationships both ways, ask grouped questions, share the URL. Query language & MCP |
| Coding agents | MCP offers up to twenty-five tools: nineteen that only read, and six writes listed only for a writable connection. MCP · Build with an agent |
| Lists, pages, dashboards | Grids, cards, queues, boards, calendars, record pages, history, charts. Lists, pages & forms |
| Commands | Guarded business operations with declared inputs and a typed db. Actions & commands |
| Sign-in and roles | Roles, field and row access, tenants, public pages. Sign-in, roles & data |
| Seven looks | Mono (the default), Canvas, Iris, Ink, Sage, Signal and Tray, or your own. Looks · Components |
| Custom components | Your own React module where no built-in fits. Custom components |
| Ship | tablewalk build, containers, PostgreSQL pools. Build and deploy |
What is stable and what is preview: Status & roadmap. Source on GitHub · MIT license