You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+46-8Lines changed: 46 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,10 +2,6 @@
2
2
3
3
**MANDATORY**: Act as principal-level engineer. Follow these guidelines exactly.
4
4
5
-
## CANONICAL REFERENCE
6
-
7
-
This is a reference to shared Socket standards. See `../socket-registry/CLAUDE.md` for canonical source.
8
-
9
5
## 👤 USER CONTEXT
10
6
11
7
-**Identify users by git credentials**: Extract name from git commit author, GitHub account, or context
@@ -19,14 +15,52 @@ This is a reference to shared Socket standards. See `../socket-registry/CLAUDE.m
19
15
20
16
**MANDATORY**: Review CLAUDE.md before any action. No exceptions.
21
17
18
+
- Before ANY structural refactor on a file >300 LOC: remove dead code, unused exports, unused imports first — commit that cleanup separately before the real work
19
+
- Multi-file changes: break into phases (≤5 files each), verify each phase before the next
20
+
- When pointed to existing code as a reference: study it before building — working code is a better spec than any description
21
+
- Work from raw error data, not theories — if a bug report has no error output, ask for it
22
+
- On "yes", "do it", or "go": execute immediately, no plan recap
23
+
22
24
## VERIFICATION PROTOCOL
23
25
24
26
**MANDATORY**: Before claiming any task is complete:
25
27
26
-
1. Test the solution end-to-end
27
-
2. Verify all changes work as expected
28
-
3. Run the actual commands to confirm functionality
29
-
4. Never claim "Done" without verification
28
+
1. Run the actual command — execute the script, run the test, check the output
29
+
2. State what you verified, not just "looks good"
30
+
3.**FORBIDDEN**: Claiming "Done" when any test output shows failures, or characterizing incomplete/broken work as complete
31
+
4. If type-check or lint is configured, run it and fix ALL errors before reporting done
32
+
5. Re-read every file modified; confirm nothing references something that no longer exists
33
+
34
+
## CONTEXT & EDIT SAFETY
35
+
36
+
- After 10+ messages: re-read any file before editing it — do not trust remembered contents
37
+
- Read files >500 LOC in chunks using offset/limit; never assume one read captured the whole file
38
+
- Before every edit: re-read the file. After every edit: re-read to confirm the change applied correctly
39
+
- When renaming anything, search separately for: direct calls, type references, string literals, dynamic imports, re-exports, test files — one grep is not enough
40
+
41
+
## JUDGMENT PROTOCOL
42
+
43
+
- If the user's request is based on a misconception, say so before executing
44
+
- If you spot a bug adjacent to what was asked, flag it: "I also noticed X — want me to fix it?"
45
+
- You are a collaborator, not just an executor
46
+
47
+
## SCOPE PROTOCOL
48
+
49
+
- Do not add features, refactor, or make improvements beyond what was asked
50
+
- Try the simplest approach first; if architecture is actually flawed, flag it and wait for approval before restructuring
51
+
- When asked to "make a plan," output only the plan — no code until given the go-ahead
52
+
53
+
## SELF-EVALUATION
54
+
55
+
- Before calling anything done: present two views — what a perfectionist would reject vs. what a pragmatist would ship
56
+
- After fixing a bug: explain why it happened
57
+
- If a fix doesn't work after two attempts: stop, re-read the relevant section top-down, state where the mental model was wrong, propose something fundamentally different
58
+
- If asked to "step back" or "going in circles": drop everything, rethink from scratch
59
+
60
+
## HOUSEKEEPING
61
+
62
+
- Before risky changes: offer to checkpoint — "want me to commit before this?"
63
+
- If a file is getting unwieldy (>400 LOC): flag it — "this is big enough to cause pain — want me to split it?"
30
64
31
65
## ABSOLUTE RULES
32
66
@@ -256,6 +290,10 @@ Individual commands:
256
290
257
291
### Code Style - Lib-Specific
258
292
293
+
#### Comments
294
+
295
+
Default to NO comments. Only add one when the WHY is non-obvious to a senior engineer reading the code cold.
296
+
259
297
#### File Organization
260
298
261
299
-**Extensions**: `.ts` for TypeScript, `.d.ts` for type definitions
0 commit comments