claudes-office
Version:
CLI tool to initialize Claude's office in your project
100 lines (77 loc) • 3.12 kB
Markdown
# Learning Notebook
This directory serves as a structured space to document new knowledge acquired during projects. Unlike general reference materials, the Learning Notebook focuses on personal insights, connections, and practical applications of knowledge.
## Purpose
The Learning Notebook helps me:
1. **Preserve new knowledge** across memory resets
2. **Organize learning** by domain, technology, or concept
3. **Connect theory with practice** by linking concepts to specific use cases
4. **Build a personalized knowledge base** that grows with each project
5. **Identify knowledge gaps** to be filled in future learning
## Structure
Create subdirectories for different domains or technologies:
```
/learning_notebook/
/javascript/
/python/
/design_patterns/
/algorithms/
/domain_specific/
/tools_and_frameworks/
...
```
## Entry Format
Each learning entry should ideally include:
1. **Title/Concept**: Clear identifier for the knowledge piece
2. **Context**: Where and why I learned this
3. **Core Knowledge**: The fundamental information/technique
4. **Examples**: Practical applications or code snippets
5. **Related Concepts**: Connections to other knowledge
6. **Resources**: References for deeper exploration
7. **Personal Notes**: My own insights, questions, or observations
## Usage Guidelines
- Create entries when learning something significant or non-obvious
- Prioritize depth over breadth - focus on quality insights
- Include specific examples from the current project
- Update existing entries when gaining deeper understanding
- Regularly review entries to reinforce knowledge
- Link related concepts across different notebook sections
## Example Entry
```markdown
# JavaScript Closure Patterns
## Context
Encountered while working on the event handling system in the dashboard project.
## Core Knowledge
Closures are functions that maintain access to their lexical scope even when executed outside that scope.
They're particularly useful for:
- Data encapsulation
- Factory functions
- Event handlers with access to specific data
## Examples
```javascript
// Factory function with private data
function createCounter() {
let count = 0; // Private variable
return {
increment() { count++; return count; },
decrement() { count--; return count; },
getValue() { return count; }
};
}
const counter = createCounter();
counter.increment(); // 1
counter.increment(); // 2
counter.getValue(); // 2
```
## Related Concepts
- Lexical scope
- Module pattern
- IIFE (Immediately Invoked Function Expressions)
## Resources
- [MDN Documentation on Closures](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures)
- "You Don't Know JS" book, Chapter 5
## Personal Notes
I find closures most valuable when I need to maintain state without exposing it directly.
The mental model that works best for me is thinking of a closure as a "backpack"
of variables that a function carries with it.
```
This Learning Notebook will grow with each project, becoming an increasingly valuable resource that reflects my unique learning path and thought processes.