Repository navigation
Add project memory (CLAUDE.md + imported .claude/memory/MEMORY.md) - #22
Open
CallumHoward wants to merge 2 commits into
Open
CallumHoward wants to merge 2 commits into
CallumHoward wants to merge 2 commits into
Conversation
Persistent Claude Code project memory capturing the toolchain and conventions: - CLAUDE.md (root, auto-loaded): pnpm-only policy, oxc toolchain + commands, the enforced filename/TS conventions, and working agreements. @imports the detailed memory. - .claude/memory/MEMORY.md: the rationale/decisions log (oxc migration, oxlint jsPlugins gotchas, filename-rule hybrid, the accepted check-file lint-perf trade-off, stylelint/Tailwind specifics, Fallow setup, CI/hooks). - .gitignore: un-ignore .claude/memory/ so it's committed. Note: .claude/memory/MEMORY.md is auto-loaded only because CLAUDE.md @imports it (that path otherwise refers to Claude Code's machine-local auto-memory, not a committed location). .claude/** stays in oxfmt ignorePatterns so the memory file isn't reformatted. https://claude.ai/code/session_01Jw19mDiCUF334Q4Srmr3Ce
The .claude/memory/MEMORY.md path is reserved for Claude Code's machine-local auto-memory (Claude-maintained, not committed) — committing a hand-authored file there was a deviation, and it only loaded via an @import. Switch to the officially recommended committed-memory structure: CLAUDE.md (root, auto-loaded, the de-facto root — manual memory has no index file) plus .claude/rules/ (rules without paths: frontmatter auto-load at startup). No @import needed. - Move .claude/memory/MEMORY.md -> .claude/rules/conventions.md - CLAUDE.md: drop the @import; point to .claude/rules/ - .gitignore: un-ignore .claude/rules/ instead of .claude/memory/ https://claude.ai/code/session_01Jw19mDiCUF334Q4Srmr3Ce
CallumHoward
force-pushed
the
claude/project-memory
branch
from
September 27, 2026 09:33
ec7a851 to
7ef0154
Compare
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.
Adds committed Claude Code project memory.
CLAUDE.md(root, auto-loaded): pnpm-only policy, oxc toolchain and command table, enforced TS/filename conventions, working agreements..claude/rules/conventions.md: decision log so agents don't re-litigate choices (oxc migration, oxlintjsPluginsgotchas, filename-rule hybrid, acceptedcheck-filelint-perf cost, Stylelint/Tailwind, Fallow, CI/hooks). Rules withoutpaths:frontmatter auto-load..gitignore: un-ignore.claude/rules/.This uses
CLAUDE.mdplus.claude/rules/rather than.claude/memory/MEMORY.md, because that path belongs to Claude Code's machine-local auto memory, not committed files.Before merging
The content predates #78, #82 and #85 and needs a refresh: typechecking is now
tsc(TypeScript 7 via@typescript/native, withtypescriptaliased to@typescript/typescript6), and the React Compiler rules now come from native oxlintreact/*, withreact-hooks-jsonly for unported rules. The React Compiler itself now builds viaoxc-transform-reactinstead of Babel..claude/**is in oxfmtignorePatterns;CLAUDE.mdpassesformat:check.https://claude.ai/code/session_01Jw19mDiCUF334Q4Srmr3Ce