Build a local-first archive for Supabase/Postgres metadata and table data. The first version should help agents and maintainers answer questions like:
- What tables exist?
- Which tables have RLS enabled?
- What policies guard a table?
- What functions, triggers, indexes, and constraints exist?
- Which storage buckets are public?
- Where is a column or function mentioned?
- What source rows exist locally for fast analysis?
- Which copied tables dominate local archive size?
- Is the local archive stale?
- Can the local archive be encrypted and restored?
- Do not store Supabase API keys inside the SQLite archive.
- Do not mutate the remote Supabase project.
- Do not depend on the Supabase dashboard.
SQLite is the canonical local archive. The MVP stores:
project_infoschemastablescolumnsindexesconstraintspoliciesfunctionstriggersextensionsstorage_bucketsstorage_object_statstable_rowstable_row_ftscrawl_runsdata_copy_runssearch_docssearch_fts
The crawler replaces the metadata snapshot on each sync. sync --data and sync --full also replace the local table-row corpus. This keeps the first version simple and deterministic.
init: write local configdoctor: verify archive and remote Postgres connectionsync: crawl metadata into SQLitesync --data/sync --full: crawl metadata plus source table rows into SQLite JSON rowssync --full --no-row-fts: copy rows without row full-text indexsize: summarize archive size and largest copied source tablesexport: export one copied source table as JSONL or CSVstorage pull: download Storage blobs listed in copiedstorage.objectsstatus: print counts and last collection time- read commands: accept
--sync auto|always|neverand--stale-after report: summarize schemas and policy coveragesearch: FTS search over human-readable metadata documentssql: read-only SQL against the local archivebackup keygen: create an age identity and print the public recipientbackup init: configure local encrypted backupsbackup push: write encrypted archive shards and a manifestbackup status: print backup manifest metadatabackup pull: decrypt backup shards into a restore directory
publish,subscribe, andupdatefor git-backed snapshots- terminal UI powered by crawlkit-style explorer patterns
- Management API source for edge functions and project settings
- Supabase Management API settings export
- optional Markdown export
- materialized per-table SQLite tables for richer local SQL