Skip to content

Commit 3744aae

Browse files
ZviBaratzclaude
andcommitted
docs: add key reference files and known gotchas to CLAUDE.md
Graduate stable knowledge from auto-memory into CLAUDE.md where it's more reliably available: 6 key reference file paths and 6 known gotchas accumulated over 27 development sessions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 526a868 commit 3744aae

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

CLAUDE.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,15 @@ bash skills/ego-lint/scripts/ego-lint.sh tests/fixtures/<fixture-name>
3535
- `skills/` — Five skills, each with a `SKILL.md` (skill definition + instructions for Claude) and supporting files. Auto-discovered by Claude Code.
3636
- `docs/ci-integration.md` — GitHub Actions and GitLab CI examples
3737

38+
### Key reference files
39+
40+
- `skills/ego-simulate/references/reviewer-persona.md` — Reviewer persona for simulation
41+
- `skills/ego-simulate/references/rejection-taxonomy.md` — 23-reason rejection taxonomy (weight-based)
42+
- `skills/ego-lint/references/rules-reference.md` — Canonical rule docs (R-XXXX-NN format)
43+
- `docs/research/` — Requirements reference, gap analysis, approved patterns, real review findings
44+
- `docs/internal/` — Field test reports, false-positive analysis, pipeline reviews
45+
- `tests/fixtures/regressions/` — Regression test fixtures
46+
3847
### Skill hierarchy
3948

4049
`ego-submit` is the top-level orchestrator: it invokes `ego-lint` (automated checks) then `ego-review` (manual code review) then validates packaging. `ego-simulate` is an optional pre-flight that simulates the reviewer's triage process using a 23-reason rejection taxonomy with weight-based scoring; it integrates ego-lint FAIL results into its verdict. `ego-scaffold` is independent (creates new extensions).
@@ -120,6 +129,15 @@ fix(ego-scaffold): correct schema path in template
120129
test(ego-lint): add fixture for deprecated ByteArray usage
121130
```
122131

132+
### Known gotchas
133+
134+
- **Guard pattern comment gotcha**: Comments mentioning deprecated API (e.g., `// use Clutter.Color`) trigger the pattern but NOT the guard — use `skip-comments: true` for rules where comment FPs are common
135+
- **Import graph BFS direction**: `check-imports.sh` uses BFS from extension.js/prefs.js (not glob) to find runtime-reachable files. Helper functions must be defined before both BFS blocks
136+
- **`src/` layout fallback**: check-css.py, check-prefs.py, ego-lint.sh all check `src/` as fallback for extension.js, stylesheet.css, prefs.js
137+
- **Schema trademark case-insensitive**: check-schema.sh lowercases schema ID before stripping `org.gnome.shell.extensions.` prefix
138+
- **Obfuscation regex pitfalls**: `[a-z]\d+` catches unicode escapes (`\u2013`); `re.IGNORECASE` on guard patterns catches `console.debug` when matching `DEBUG`
139+
- **Git history rewritten 2026-02-27**: `git filter-repo` removed internal files. All SHAs before that date are invalid
140+
123141
## Requirements
124142

125143
- **Required**: bash, python3

0 commit comments

Comments
 (0)