tablewalk check
tablewalk check is the authoring loop in one command: every step runs, each
says its verdict on one line, and the exit code names the first that failed.
npx tablewalk check --app . --config tablewalk.json# schema types passed tablewalk-schema.d.ts matches the database# typecheck passed tsconfig.json# validation failed 1 problemSteps and exit codes
Section titled “Steps and exit codes”| Exit | Step | What it does |
|---|---|---|
| 0 | — | Every step passed or was skipped as said. Warnings never fail it. |
| 1 | could not check | No App directory, no database to check against, a config listing another App, or a flag that is a mode of its own. |
| 2 | schema types | Rewrites tablewalk-schema.d.ts from the database when it drifted; fails when the database cannot be opened. A file tablewalk did not generate is left alone. |
| 3 | typecheck | The App’s tsconfig.json; each error as file:line, the mismatch and a hint. |
| 4 | validation | --check-app against the database: every problem the load finds, with its file, and authority.lock. |
| 5 | components | Custom components compiled and read for what may never ship. |
--routes adds every address the App answers to; --preview-features
lists each preview feature it uses; --design adds warnings where a page, a
form or the shell will come out basic (design checks).
Common errors
Section titled “Common errors”| Message | Fix |
|---|---|
Cannot find module 'tablewalk/app' |
npm install in the App’s project, or keep it in a checkout: start. |
has "fields" and no "access" |
fields needs access and auth with roles: what an App serves. |
"fields", a column ceiling for signed-in roles; it needs "auth" |
Without sign-in, keep the column out in the database: secrets. |
has no reference called "site_code" |
It is a column, not a foreign key: relationships. |
"created_at" is TEXT, so the time window cannot narrow by it |
Declare a date type: dates and types. |
compare "previous period" needs exactly one "last N …" phrase |
One window phrase in query, or a compare in full: dashboards. |
"week created_at" is not something to group by |
day, month, quarter or year: dashboards. |
nav entry 2 names the view "…", which this App does not declare |
Declare the view, or fix the id: navigation. |
the effective authority differs from the lock |
Review, then tablewalk --app <dir> --check-app --write-authority. |
read process.env.X, which tablewalk.json does not pass to it |
List it in apps[].env: secrets. |
preview: … may change before 1.0 |
Not a failure: status. |
Most of these messages end with the tablewalk docs <topic> that explains them.