Skip to content

docs: add supabase-axi to the community catalog - #130

Closed
laizhenyoong wants to merge 1 commit into
kunchenguid:mainfrom
laizhenyoong:add-supabase-axi
Closed

docs: add supabase-axi to the community catalog#130
laizhenyoong wants to merge 1 commit into
kunchenguid:mainfrom
laizhenyoong:add-supabase-axi

Conversation

@laizhenyoong

Copy link
Copy Markdown

Intent

The developer wanted to contribute their existing supabase-axi CLI tool to the AXI project's community catalog, following the repo's CONTRIBUTING guide, on a short branch named add-supabase-axi. They asked for a short, clean catalog entry and iterated repeatedly on the description wording, first rejecting a version that appended a differentiator clause about reads being read-only inside Postgres and writes requiring --write, then asking that it be rewritten to match the style of the official entries like gh-axi and chrome-devtools-axi (a noun/verb list followed by a "Wraps ..." sentence), settling on "Inspect schemas, run SQL, and audit RLS, indexes, and logs across Supabase projects. Wraps the Supabase Management API." They wanted the generated README.md and docs/index.html regenerated via docs:gen, and explicitly asked that the commit carry no co-author trailer. Because CONTRIBUTING requires it, they also agreed to install the no-mistakes gate and gh, fork kunchenguid/axi while leaving origin pointed at the parent repo, and push the change through the no-mistakes pipeline rather than directly to origin.

What Changed

  • Added a supabase-axi entry (author laizhenyoong, domain Supabase) to the community list in catalog.yaml.
  • Regenerated the marked community-catalog regions of README.md and docs/index.html so both render the new row.

Risk Assessment

✅ Low: Docs-only catalog addition whose generated README/HTML regions are consistent with the generator's formatting, links to a verified public repo, and touches no source, workflow, or release-managed files.

Testing

I validated the catalog contribution end-to-end as a reader would see it: ran the repo's docs generator in check mode (passes, proving the README and docs/index.html regions were regenerated from catalog.yaml rather than hand-edited), ran the generator's own unit tests, then rendered docs/index.html in headless Chrome and captured screenshots showing supabase-axi as the final Community row with author laizhenyoong, domain Supabase, the agreed description, and a live repo link (URL returns HTTP 200). One setup issue I worked around: pnpm fails under this machine's default Node 23.3.0, so I installed and ran under Node 24; the worktree was left clean afterward. Everything passed and no findings.

  • Evidence: Rendered docs/index.html — Community catalog table with supabase-axi row (local file: /var/folders/h1/z894nqbd6vlfzgl9tkkn092w0000gn/T/no-mistakes-evidence/01KZKBMAN6V3T7Q53HT78XZDJE/docs-community-catalog.png)
  • Evidence: Close-up: supabase-axi row alongside glab-axi for style comparison (local file: /var/folders/h1/z894nqbd6vlfzgl9tkkn092w0000gn/T/no-mistakes-evidence/01KZKBMAN6V3T7Q53HT78XZDJE/supabase-axi-catalog-row.png)
Evidence: docs:check output
$ node scripts/generate-docs.mjs --check
docs:check ok — generated regions match their sources

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

✅ **Review** - passed

✅ No issues found.

✅ **Test** - passed

✅ No issues found.

  • node scripts/generate-docs.mjs --check (repo's docs:check) — generated README/docs regions match catalog.yaml
  • node --test scripts/generate-docs.test.mjs — 4/4 generator escaping and link-safety tests pass
  • Rendered docs/index.html headless in Chrome and screenshotted the Community catalog table showing the new supabase-axi row
  • curl -s -o /dev/null -w '%{http_code}' https://github.com/laizhenyoong/supabase-axi → 200
  • pnpm install under Node 24 (default Node 23.3.0 in this env cannot run pnpm 11: missing node:sqlite)
✅ **Document** - passed

✅ No issues found.

✅ **Lint** - passed

✅ No issues found.

✅ **Push** - passed

✅ No issues found.

@kunchenguid

Copy link
Copy Markdown
Owner

Speaking as Kun's firstmate: independent source review of the proposed catalog add.

Pin inspected: https://github.com/laizhenyoong/supabase-axi at 55d92773fc4a48dd859340777c7410b547e9a8f2 (current main HEAD; catalog.yaml has no pin field, matching existing schema). I did not execute the package.

Source actually read: README.md, package.json, src/cli.ts, src/commands/home.ts, src/commands/query.ts, src/flags.ts, src/sql.ts, src/commands/keys.ts.

Observations from that source, not the PR body: real AXI CLI on axi-sdk-js (runAxiCli). No-args home is a live project orientation (tables ranked with RLS-off first). Reads run inside BEGIN TRANSACTION READ ONLY so Postgres enforces it; writes require --write. Unknown flags fail loud via per-command flag schemas. service_role / secret keys are withheld (allowlist of publishable/anon only). Metadata matches (supabase-axi, Supabase, laizhenyoong). Not official, empty, malware, or a name-squat.

VISION.md per-rule verdict:

  • AXI principles: aligns. Inspected CLI follows TOON output, structured errors, fail-loud flags, fail-closed writes, content-first home. Not a principles change to axi itself.
  • Catalog: aligns. Real, verifiable community AXI at the pin above. Official catalog untouched.
  • SDKs: aligns. No SDK change in this PR.

I am not merging yet. The PR is CONFLICTING against current main. I could not push a file-only resolve to laizhenyoong/axi. Please rebase onto current main, append the supabase-axi row to today's catalog.yaml, run docs:gen, and push. Once CI is green and conflict-free I will squash-merge.

@kunchenguid kunchenguid left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Speaking as Kun's firstmate: source review at 55d92773 passes. Approving the catalog add. Merge waits on a rebase against current main.

@kunchenguid

Copy link
Copy Markdown
Owner

Speaking as Kun's firstmate.

This catalog entry landed via last-resort port #152 (squash merge 19b377a250245258483a60f92582de9bda12b278) because #130 stayed CONFLICTING on the fork and we could not push a resolve there. No rebase was requested. Closing this original as redundant now that supabase-axi is on main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants