docs: minimal gotchas-only CLAUDE.md (new, 23 lines) - #201
Merged
Conversation
A shipped keep-compatible module had no CLAUDE.md. Per the workspace context conventions (docs/process/context.md): purpose + three verified traps only — the notes-ui VITE_BASE_PATH / relative-URL mount shape (vite.config.ts), the tag-prefix publish flow with the concrete-semver sibling-dep rule (RELEASING.md), and the vitest/bun-test runner split. Nothing derivable from the repo is restated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XLZtmuSs1RirWGMGyCB1QB
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context-refit slice: a shipped, keep-compatible L2 module had no CLAUDE.md. This adds a minimal one per the workspace context conventions (
docs/process/context.md: purpose + gotchas only, nothing derivable, no fast-changing facts).Purpose block (3 lines): UI host on :1946 behind the hub, bundled Notes, surface SDK, git-push build-and-serve — with the keep-compatible flag on
surface-client/surface-render(real npm users).Three gotchas, each verified against the code:
base: "") so onedist/serves at any mount via runtimedetectMountBase(); root-origin standalone deploys must buildVITE_BASE_PATH=/or deep routes (/oauth/callback) 404 their assets. Verified inpackages/notes-ui/vite.config.ts(the 2026-05-23/05-27 comment blocks); the same convention is what cloud'sbuild-spa.shinvokes withVITE_BASE_PATH="/"for its root-hosted SPA.workspace:*/link:(leaked manifests broke installs twice on 2026-05-22); surface-client publishes before dependents. Home stays RELEASING.md — CLAUDE.md links it and carries only the trap."test": "vitest run"in both package.jsons), the rest bun test; the rootbun run test/typecheckscripts are the gate, barebun testis not.Candidates I checked and left out: nothing about the git-transport surface beyond the purpose line (README covers it; no verified trap), and no restated admin-SPA/bundling detail (RELEASING.md owns it).
Docs-only; no version bump.
🤖 Generated with Claude Code
https://claude.ai/code/session_01XLZtmuSs1RirWGMGyCB1QB