Contributing to Claude-mem
Contribute to claude-mem with development setup, testing patterns, and development philosophy.Development Philosophy
Follow the “Make It Work First” manifesto. Prioritize:- Direct implementation over defensive programming
- Natural failure modes over artificial guards
- Real problem solving over theoretical edge case handling
- Readable intent over comprehensive validation
Code Style Principles
Development Setup
Prerequisites
- Bun (required, no npm allowed)
- Node.js 18+
- ChromaDB (installed automatically)
- Claude Code CLI
Local Development Environment
Development Workflow
Project Structure
Source Code Organization
Hook System Structure
Coding Standards
TypeScript Guidelines
Error Handling Patterns
Follow the “Make It Work First” philosophy:Logging Standards
Testing Strategies
Manual Testing Workflow
Integration Testing
Hook Testing
Contribution Workflow
1. Issue Creation
Before implementing features or fixes:- Search existing issues to avoid duplicates
- Create descriptive issues with:
- Clear problem statement
- Expected vs actual behavior
- Minimal reproduction steps
- Environment details
2. Development Process
3. Pull Request Guidelines
PR Title Format
PR Description Template
4. Code Review Process
For Reviewers
- Focus on intent clarity - Can you understand what the code does?
- Check for “Make It Work First” adherence - No defensive fortresses?
- Verify real problem solving - Does it solve actual issues?
- Test the changes - Does it work in practice?
Review Checklist
- Code follows project philosophy
- No unnecessary defensive programming
- Error handling is natural and helpful
- Logging provides useful context
- Changes are manually tested
- No new theoretical edge cases added
- Documentation updated if behavior changes
Release Process
Version Bumping
Release Checklist
- Version bumped in package.json
- CHANGELOG.md updated
- All tests passing
- Manual testing completed
- Breaking changes documented
- Migration guide provided (if needed)
Development Tools
Useful Commands
IDE Configuration
For VS Code, recommended extensions:- TypeScript and JavaScript Language Features
- ESLint
- Prettier
- Error Lens
Common Pitfalls
Avoid These Patterns
Follow These Patterns
Getting Help
Resources
- Documentation: /docs in repository
- Issues: GitHub issues for bugs and features
- Discussions: GitHub discussions for questions
- Code Examples: Look at existing commands and tests
Community Guidelines
- Be respectful and constructive
- Search before asking - check existing issues/discussions
- Provide context - include error messages, environment details
- Share solutions - document fixes you discover
- Follow the philosophy - embrace “Make It Work First”