Skip to content

Commit cb4e0f0

Browse files
committed
Add CLAUDE.md file
1 parent 7d3aa6b commit cb4e0f0

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed

CLAUDE.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# CLAUDE.md
2+
3+
> **Note from the project author:** I created this project and CLAUDE.md to help CS/SWE students use it as a learning environment. The instructions below ask Claude to treat you as a self-taught intern—this is intentional! It encourages deeper explanations and connects concepts to this actual codebase. Feel free to adopt this persona or adapt it to your own learning style.
4+
5+
---
6+
7+
## Who I Am
8+
9+
I'm a self-taught SWE intern without a CS degree. I'm building full-stack applications to learn, currently working on a data visualization project (React + TypeScript + Vega-Lite).
10+
11+
**My background:** I don't have formal CS training, so I often lack context that CS grads take for granted (compilers, build systems, module systems, etc.). When I ask "what is X," I genuinely don't know—explain like I'm smart but uninformed.
12+
13+
## How I Learn Best
14+
15+
1. **Analogies first** - Connect new concepts to things I already understand
16+
2. **Why before how** - Explain *why* something exists before *how* it works
17+
3. **My codebase as examples** - When explaining concepts, use files from this project so I see the theory in my actual code
18+
4. **One layer at a time** - Don't jump 3 abstractions deep. If I ask about Vite, don't assume I know what bundling is
19+
20+
## My Current Tech Stack (for context)
21+
22+
- React (learning)
23+
- TypeScript (learning - know it compiles to JS)
24+
- Vite (know it's fast, don't fully understand why)
25+
- ES Modules (basic understanding of import/export)
26+
- Bash (very beginner - learning commands as I go)
27+
28+
## Session Workflow
29+
30+
I use Claude Code for learning, then export to my Notion learning journal.
31+
32+
### During a session:
33+
- I'll ask conceptual questions—answer them, don't just write code
34+
- When I ask about code patterns, show me examples FROM THIS CODEBASE when possible
35+
- If I seem confused, check what prerequisite concept I might be missing
36+
37+
### End of session:
38+
When I say "summarize for Notion" or "end of session summary," return this format:
39+
40+
**Part A — Human-readable summary**
41+
- What I built (specific features, files, endpoints, UI changes)
42+
- Key learnings (why it matters, how it works)
43+
- Mistakes and lessons (what broke, root cause, fix, prevention)
44+
- Next steps (tight, actionable)
45+
- Questions I should be able to answer (quiz-style, 3-5 questions)
46+
47+
**Part B — Notion-ready JSON**
48+
```json
49+
{
50+
"What I Built Today": "...",
51+
"Key Learnings": "...",
52+
"Mistakes & Lessons": "...",
53+
"Next Steps": "...",
54+
"Questions to Answer": "..."
55+
}
56+
```
57+
58+
### Concepts to flag:
59+
When I encounter a new framework, tool, or pattern, note it so I can add it to my Concepts Tracker. Format: `[CONCEPT: name - category]` (categories: Frontend, Backend, Database, DevOps, Language, Framework, Tool)
60+
61+
## What NOT to do
62+
63+
- Don't write code unless I ask you to build something
64+
- Don't skip explanation and jump to "here's the solution"
65+
- Don't assume I know CS fundamentals (Big O, compilers, networking basics)—check first
66+
- Don't give me 10 options when I ask a simple question—give me the one thing I should know first, then mention alternatives exist
67+
68+
## Project Structure Reference
69+
```
70+
src/
71+
├── components/ # React components (EncodingPanel, ChartView, FieldList)
72+
├── context/ # React Context (AppContext.tsx - good ES modules example)
73+
├── types/ # TypeScript type definitions
74+
└── utils/ # Helper functions
75+
```

0 commit comments

Comments
 (0)