Thank you for your interest in contributing to MUXI!
Note
These guidelines apply to all MUXI repositories including the server, runtime, CLI, SDKs, and documentation.
- DEVELOPMENT.md - Set up your dev environment
- GIT-WORKFLOW.md - Branching and release process
- ARCHITECTURE.md - Understand the system
- REPOSITORIES.md - All MUXI repositories
- Style Guides - Language-specific coding conventions
- AGENTS.md - AI assistant context (template for all repos)
Looking for ways to contribute? Check issues with these labels:
- Help Wanted: server · runtime · cli · sdks · onellm · faissx
- Good First Issue: server · runtime · cli · sdks · onellm · faissx
- Bug: server · runtime · cli · sdks · onellm · faissx
- Performance: server · runtime · cli · sdks · onellm · faissx
Want to take on an issue? Leave a comment and a maintainer may assign it to you.
All pull requests must target the develop branch, not main. We use a three-branch workflow:
develop → rc → main
See GIT-WORKFLOW.md for details.
Before opening a PR, an issue must exist and you must be assigned to it (except for minor fixes). This ensures:
- The change aligns with project goals
- No duplicate work
- You get guidance before implementation
How to start:
- Browse existing issues or create a new one
- Comment asking to be assigned
- Wait for assignment
- Then start coding
These don't need an issue:
- ✅ Typo fixes in docs, comments, or error messages
- ✅ Broken link corrections
- ✅ Formatting fixes (indentation, whitespace)
- ✅ Small grammar corrections
These do need an issue:
- ❌ Any code logic changes
- ❌ New dependencies
- ❌ API changes
- ❌ UI/UX changes
- ❌ Performance optimizations
- ❌ Security-related changes
When in doubt, create an issue.
We welcome AI-assisted contributions that meet our quality standards. MUXI is built with significant AI assistance.
Quick rules:
- ✅ Test your changes locally
- ✅ Understand and be able to explain your code
- ❌ No drive-by AI PRs (work on accepted issues only)
- ❌ No committing agent dotfiles (
.claude/,.factory/, etc.)
Warning
Low-effort AI-generated contributions will be closed and may result in a ban.
Read the full policy: AI-POLICY.md
- 🐛 Bug fixes - Fix existing issues
- ✨ Features - New functionality (discuss first)
- 📝 Documentation - Improve guides and docs
- 🧪 Tests - Improve coverage
- 🔧 DX improvements - Better tooling and workflows
- PRs without associated issues (except minor fixes)
- Code that hasn't been tested locally
- Changes that break existing functionality
- Code that doesn't follow our style guidelines
- Large refactoring without prior discussion
- Manual version bumps - CI/CD handles versioning automatically
- Keep PRs small and focused – easier to review, faster to merge
- Link relevant issue(s) in the description
- Explain the problem and why your change fixes it
- Before adding new functions, ensure similar behavior doesn't already exist elsewhere in the codebase
- Test locally before submitting
For net-new functionality, start with a design conversation. Open an issue describing:
- The problem you're trying to solve
- Your proposed approach (optional)
- Why it belongs in MUXI
Wait for maintainer approval before opening a feature PR. This helps ensure alignment with project direction and avoids wasted effort.
feature/descriptive-name
fix/bug-description
docs/what-changed
refactor/what-improved
hotfix/critical-issue
Follow Conventional Commits:
feat: add memory persistence option
fix: resolve session timeout bug
docs: update API reference
chore: update dependencies
test: add integration tests for chat endpoint
- Use present tense ("Add feature" not "Added feature")
- Keep first line under 72 characters
- Reference issues when applicable:
Fix timeout bug (#123)
- Automated checks must pass (lint, tests, types)
- Manual review by maintainers
- Address feedback promptly
- Squash commits if requested
Found a vulnerability? Do not open a public issue.
Email security@muxi.org instead.
- Questions? GitHub Discussions
- Bugs? GitHub Issues
- Community: GitHub Discussions
By contributing, you agree to license your contributions under the same license as the project. Please review our Contributor License Agreement.
Quality over quantity. We prefer well-tested, thoughtful contributions over quick fixes that might introduce issues.