Skip to content

Commit 65fbdeb

Browse files
committed
create memory bank
1 parent 830d6f2 commit 65fbdeb

File tree

7 files changed

+2067
-0
lines changed

7 files changed

+2067
-0
lines changed

memory-bank/README.md

Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
# Memory Bank: Python Janus Client
2+
3+
This Memory Bank provides comprehensive context about the Python Janus Client project for Cline (AI assistant) to maintain continuity across sessions.
4+
5+
## Purpose
6+
7+
After each session reset, Cline relies entirely on this Memory Bank to understand the project and continue work effectively. These files serve as the single source of truth for project context, decisions, and current state.
8+
9+
## File Structure
10+
11+
### Core Files (Read in Order)
12+
13+
1. **[projectbrief.md](projectbrief.md)** - Foundation Document
14+
- Project identity and purpose
15+
- Core requirements and scope
16+
- Success criteria
17+
- Development principles
18+
- **Read this first** - shapes all other files
19+
20+
2. **[productContext.md](productContext.md)** - Product Understanding
21+
- Why this project exists
22+
- Problems it solves
23+
- How it should work
24+
- User experience goals
25+
- User personas
26+
27+
3. **[systemPatterns.md](systemPatterns.md)** - Architecture & Design
28+
- System architecture
29+
- Core components
30+
- Design patterns
31+
- Implementation patterns
32+
- Component relationships
33+
34+
4. **[techContext.md](techContext.md)** - Technical Setup
35+
- Technology stack
36+
- Development setup
37+
- Build system (Hatch)
38+
- Testing strategy
39+
- Documentation system
40+
41+
5. **[activeContext.md](activeContext.md)** - Current State
42+
- Current work focus
43+
- Recent changes
44+
- Active decisions
45+
- Important patterns
46+
- Next steps
47+
- **Most frequently updated**
48+
49+
6. **[progress.md](progress.md)** - Project Status
50+
- What works
51+
- What's left to build
52+
- Known issues
53+
- Evolution of decisions
54+
- Roadmap
55+
56+
## How to Use This Memory Bank
57+
58+
### Starting a New Session
59+
60+
1. **Always read ALL Memory Bank files** at the start of every task
61+
2. Start with `projectbrief.md` for foundation
62+
3. Read files in the order listed above
63+
4. Pay special attention to `activeContext.md` for current state
64+
5. Check `progress.md` for what's completed and what's pending
65+
66+
### During Work
67+
68+
- Reference relevant files as needed
69+
- Keep context in mind when making decisions
70+
- Follow established patterns and conventions
71+
- Document significant changes
72+
73+
### Updating the Memory Bank
74+
75+
Update when:
76+
- Discovering new project patterns
77+
- After implementing significant changes
78+
- When user requests "update memory bank"
79+
- When context needs clarification
80+
81+
**When updating:**
82+
1. Review ALL files (even if some don't need updates)
83+
2. Focus on `activeContext.md` and `progress.md`
84+
3. Update cross-references if structure changes
85+
4. Keep information accurate and current
86+
5. Remove outdated information
87+
88+
## File Relationships
89+
90+
```
91+
projectbrief.md (Foundation)
92+
93+
├─→ productContext.md (Why & How)
94+
├─→ systemPatterns.md (Architecture)
95+
└─→ techContext.md (Technical)
96+
97+
├─→ activeContext.md (Current State)
98+
└─→ progress.md (Status)
99+
```
100+
101+
## Quick Reference
102+
103+
### Project Essentials
104+
- **Name:** python_janus_client (PyPI: janus-client)
105+
- **Version:** 0.8.1
106+
- **Type:** Python async WebRTC client library
107+
- **Build Tool:** Hatch
108+
- **Python:** 3.8-3.13
109+
- **Coverage:** 82%
110+
111+
### Key Commands
112+
```bash
113+
hatch env create # Setup environment
114+
hatch shell # Activate environment
115+
hatch test # Run tests
116+
hatch run docs-build # Build documentation
117+
hatch build # Build package
118+
```
119+
120+
### Key Files
121+
- `janus_client/session.py` - Core session management
122+
- `janus_client/plugin_*.py` - Plugin implementations
123+
- `janus_client/transport*.py` - Transport layer
124+
- `tests/test_*.py` - Test suite
125+
- `pyproject.toml` - Project configuration
126+
127+
### Current Focus
128+
- Memory Bank initialization (this session)
129+
- WebSocket cleanup improvements (next priority)
130+
- Documentation enhancements (ongoing)
131+
132+
### Known Issues
133+
1. WebSocket cleanup needs improvement
134+
2. Deprecation warnings from dependencies
135+
3. Occasional test flakiness (acceptable)
136+
137+
## Important Reminders
138+
139+
### Development Practices
140+
- **Always use Hatch** for development tasks
141+
- **Run tests** before committing
142+
- **Build docs with strict mode** to catch issues
143+
- **Maintain type hints** throughout
144+
- **Keep docstrings concise** but clear
145+
- **Test across Python versions**
146+
147+
### Code Standards
148+
- **Line length:** 88 characters
149+
- **Docstrings:** Google-style
150+
- **Type hints:** Required for public APIs
151+
- **Async-first:** All I/O operations
152+
- **Context managers:** For resource management
153+
154+
### Testing
155+
- **Target:** >80% coverage (currently 82%)
156+
- **Framework:** pytest with async support
157+
- **Run:** `hatch test -i py=3.8 -c` for coverage
158+
- **Integration tests:** May be flaky (acceptable)
159+
160+
## Memory Bank Maintenance
161+
162+
### Regular Updates
163+
- After significant code changes
164+
- When discovering new patterns
165+
- When project direction changes
166+
- When user requests update
167+
168+
### Quality Checks
169+
- Ensure all cross-references are valid
170+
- Remove outdated information
171+
- Keep current state accurate
172+
- Maintain consistency across files
173+
174+
### Version Control
175+
- Memory Bank files are version controlled
176+
- Track changes with meaningful commits
177+
- Review changes during code review
178+
- Keep in sync with code changes
179+
180+
## Contact & Support
181+
182+
For questions about the Memory Bank structure or content:
183+
- Review this README
184+
- Check individual file headers
185+
- Refer to project documentation
186+
- Ask the user for clarification
187+
188+
---
189+
190+
**Last Updated:** 2025-10-22
191+
**Memory Bank Version:** 1.0
192+
**Project Version:** 0.8.1

0 commit comments

Comments
 (0)