jcfischer / jcfischer/supertag-cli
Playwright-free full export via Local API (sync export --full)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 49
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
Context
Reported by a user (Ryan, via Claude Code) running supertag-cli under Daniel Miessler's PAI. Two related constraints make the current browser-based supertag-export a non-starter in that environment:
- Packaging — the
supertag-exportstandalone binary couldn't even load Playwright (--externalresolves from/$bunfs/root). Partial fix landed infix/watch-snapshot-column-and-export-load(lazy import so--helpworks + clear error), but it does not make export function without Playwright. - Policy — PAI's constitution bans Playwright outright (CDP is detectable, headless misses real rendering). So any Playwright-dependent path is disallowed regardless of packaging.
The opportunity
The reporter built a complete 854k-node index — attachments, references, fields, supertag schema — with the browser export never having run (sync status: Latest export: None found). Delta-sync from an empty DB effectively performs a full backfill straight from the Tana Local API.
So a browser may not be needed for full export at all.
Proposal
Add supertag sync export --full (or index --full) that pages the entire graph from the Local API to a point-in-time JSON snapshot — no Playwright, no headless Chrome, works under PAI. This would:
- give users the legitimate snapshot file the old browser export produced, without a browser
- make
supertag-exportoptional / deprecatable - sidestep both the packaging bug and the PAI policy ban in one move
If a true browser flow is ever required again, the PAI-compatible route is Interceptor (real Chrome), not Playwright — but the Local API already exposing the full dataset suggests the browser is avoidable.
Scope / open questions
- Snapshot format: match existing Tana JSON export schema (the schema registry already handles
storeDatawrapping) so downstream indexing is unchanged? - Paging strategy + watermark interaction with delta-sync.
- CLI + MCP surface.
- Deprecation path for
supertag-export.
Filed from external bug report, 2026-06-08.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the existing sync and browser export entry points, then read the schema registry that handles storeData wrapping. Clarify the snapshot format, paging and watermark behavior, CLI and MCP surfaces, and the deprecation path before implementation; done means a full Local API export produces the expected snapshot without Playwright.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, cli, data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100