Thank you for your interest in contributing to memU Bot! This document provides guidelines and information for contributors.
We welcome all types of contributions:
- 🐛 Bug Reports - Help us identify and fix issues
- 💡 Feature Requests - Suggest new capabilities and improvements
- 📝 Documentation - Improve guides, examples, and API docs
- 🔧 Code Contributions - Add features, fix bugs, optimize performance
- 🧪 Testing - Write tests, improve coverage, test edge cases
- 🎨 UI/UX - Enhance user experience and interface design
- 🌐 Translations - Help make memU Bot accessible globally
- 📢 Community - Help others in discussions and support channels
- Node.js >= v23.11.1
- npm (comes with Node.js)
- Git
- A code editor (VS Code recommended)
# 1. Fork the repository on GitHub
# 2. Clone your fork locally
git clone https://github.com/YOUR_USERNAME/memUBot.git
cd memUBot
# 3. Install dependencies
npm install
# 4. Start development mode
npm run dev:memunpm install # Install dependencies
npm run dev:memu # Start development mode
npm run typecheck # Run TypeScript type checking
npm run build:memu:mac # Build for macOS
npm run build:memu:win # Build for Windows- Follow TypeScript best practices
- Use ESLint for code linting
- Use type annotations for all functions and methods
- Write clear and maintainable code
- All code must pass type checking (
npm run typecheck) - Use meaningful variable and function names
- Keep functions focused and small
- Follow React best practices for UI components
# Run type checking
npm run typecheck
# Test the application
npm run dev:memu- Search existing issues to avoid duplicates
- Create an issue for new features or major changes
- Discuss your approach in the issue before implementing
When reporting bugs, please include:
- Environment details (Node.js version, OS, memU Bot version)
- Reproduction steps with minimal code example
- Expected vs actual behavior
- Error messages or stack traces
For feature requests, please describe:
- The problem you're trying to solve
- Proposed solution or approach
- Alternative solutions you've considered
- Use cases and examples
-
Create a feature branch
git checkout -b feature/amazing-feature # or for bug fixes git checkout -b bugfix/fix-memory-leak -
Make your changes
- Write clear, descriptive commit messages
- Keep commits focused and atomic
- Add tests for new functionality (if applicable)
- Update documentation as needed
-
Test your changes
npm run typecheck npm run dev:memu
-
Submit pull request
- Use descriptive title and description
- Reference related issues (e.g., "Fixes #123")
- Include testing instructions
- Add screenshots for UI changes
Use conventional commit format:
type(scope): description
Examples:
feat(memory): add semantic search functionality
fix(llm): resolve OpenAI timeout issues
docs(readme): update installation instructions
test(agent): add unit tests for memory retrieval
refactor(core): restructure memory storage logic
Types:
feat: New featurefix: Bug fixdocs: Documentation changestest: Adding or fixing testsrefactor: Code restructuring without feature changesperf: Performance improvementschore: Maintenance tasks
| Label | Description |
|---|---|
good first issue |
Perfect for newcomers |
help wanted |
Extra attention needed |
bug |
Something isn't working |
enhancement |
New feature request |
documentation |
Improvements to docs |
performance |
Performance optimization |
breaking change |
Requires version bump |
priority:high |
Urgent issues |
priority:medium |
Important issues |
priority:low |
Nice to have |
- Be open to feedback and constructive criticism
- Respond promptly to review comments
- Make requested changes in new commits (don't force push)
- Ask questions if feedback is unclear
- Be constructive and respectful in feedback
- Focus on code quality, maintainability, and project goals
- Suggest improvements with explanations
- Approve when ready, request changes when needed
Reporting Security Issues:
- DO NOT create public issues for security vulnerabilities
- Email security issues privately to contact@nevamind.ai
- Include detailed reproduction steps and impact assessment
- We'll acknowledge receipt within 24 hours
By contributing to memU Bot, you agree that:
- Your contributions will be licensed under the GNU Affero General Public License v3.0
- You have the right to contribute the code/content
- Your contribution doesn't violate any third-party rights
- Be respectful and inclusive
- Follow our Code of Conduct
- Help others learn and grow
- Share knowledge and best practices
- Celebrate diverse perspectives and experiences
| Channel | Best For |
|---|---|
| 💬 Discord | Real-time chat, quick questions |
| 🗣️ GitHub Discussions | Feature discussions, Q&A |
| 🐛 GitHub Issues | Bug reports, feature requests |
| Private inquiries |
Contributors are recognized in:
- README.md contributors section
- Release notes for significant contributions
- Our Contributors page
Thank you for helping make memU Bot better! 🚀