docs: trim derivable content from CLAUDE.md and lazy-load release + checklist guidance - #737
Merged
Merged
Conversation
…hecklist guidance The root CLAUDE.md, apps/docs/CLAUDE.md, and new-feature-checklist.md all loaded into context on every turn, carrying content a session can derive from the codebase itself. - CLAUDE.md: drop the #v0/utilities, #v0/types, and #v0/constants inventory tables (the file already states the vuetify0 skill is the source of truth and that it does not duplicate the inventory), the Apps list, Requirements, Build Tooling, and the package.json script dump. Keep the non-guessable directives (lint:fix over lint, repo:check, metrics after a .bench.ts edit). - CLAUDE.md: move the changeset content contract, the two version domains, and the beta pre-exit steps into a new 'releasing' skill. The branch-model table stays resident since it applies to every PR. - apps/docs/CLAUDE.md: drop the Stack list, src/ tree, Key Components table, and Virtual Modules table. Preserve the useMarkdown 'only runtime markdown pipeline' rule, which was buried in the composables table. - new-feature-checklist.md: add paths frontmatter so it loads when adding a component or composable instead of on every turn. It was the only rules file without scoping despite self-declaring a narrow scope. Net: ~7.4k characters off always-loaded context.
johnleider
marked this pull request as ready for review
July 28, 2026 18:16
4 tasks
johnleider
added a commit
that referenced
this pull request
Jul 28, 2026
#737 lazy-loaded release guidance but kept present-tense "repo is in pre mode" after the 1.0.0 cut (#687). Correct that, and land the rest of the review follow-ups: - CLAUDE.md / releasing skill: drop false pre/beta state; reframe as optional pre-channel re-entry; point at skill path explicitly - CLAUDE.md: metrics is CI-only (local: test:bench); keep isThenable in the utilities pointer; note checklist is path-scoped - releasing skill: add changeset / release:prepare commands - new-feature-checklist: match sibling single-line paths frontmatter - apps/docs/CLAUDE.md: gn-example is canonical for feature pages
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.
Problem
Three memory files load into context on every turn and carry content a session can reconstruct from the codebase itself:
CLAUDE.md.claude/rules/new-feature-checklist.mdapps/docs/CLAUDE.mdapps/docs)new-feature-checklist.mdwas the only file in.claude/rules/withoutpaths:frontmatter, despite its own first line reading "Applies to: Adding any new component or composable topackages/0/." It loaded while answering questions, editing docs, or triaging issues.The root
CLAUDE.mdwas also self-contradictory: line 45 stated "The skill is the source of truth; this file does not duplicate the inventory" — directly below 33 lines duplicating exactly that inventory.What changed
CLAUDE.md#v0/utilities/#v0/types/#v0/constants/globalstables, replaced with a 3-line pointer to the barrels. Thevuetify0skill remains the inventory source of truth.ls), Requirements (engines), and Build Tooling (package.json).lint:fixoverlint,repo:check, andmetricsafter a.bench.tsedit.releasingskill. The branch-model table stays resident — base-branch routing applies to every PR and must not depend on a skill being invoked.new-feature-checklist.mdto the Detailed Rules index now that it is scoped..claude/rules/new-feature-checklist.md— addedpaths:frontmatter coveringpackages/0/src/components/**,packages/0/src/composables/**,maturity.json,surface.test.ts, both READMEs, and the docs pages/examples it instructs you to create.apps/docs/CLAUDE.md— cut the Stack list,src/tree, Key Components table, and Virtual Modules table (all derivable; several already covered by the path-scoped.claude/rules/docs.md). Preserved theuseMarkdown"only runtime markdown pipeline, never instantiateMarkedin a component" rule, which was buried inside the App Composables table..claude/skills/releasing/SKILL.md— new, holds the migrated release content.Not changed
No behavior, no source, no CI. Every "never do X" prohibition was kept. Path aliases and the UnoCSS theme block stayed despite being technically derivable — short, high-traffic, and cheap.
Result
~7.4k characters (~1.9k est. tokens) off always-loaded context per session, plus ~3.5k est. tokens no longer loaded outside new-feature work.