Thank you for your interest in contributing to MOTO! This project is developed and maintained by Intrafere LLC.
This document provides guidelines for contributing to the project.
- Bug Reports: Found a bug? Open an issue with detailed reproduction steps
- Feature Requests: Have an idea? Propose it in an issue first
- Code Contributions: Submit pull requests for bug fixes or features
- Documentation: Improve documentation, guides, or examples
- Testing: Test the system with different models and report results
- Feedback: Share your experience using the system
-
Fork the repository on GitHub
-
Clone your fork:
git clone https://github.com/Intrafere/MOTO-Autonomous-ASI cd MOTO-Autonomous-ASI -
Install dependencies:
# Python dependencies pip install -r requirements.txt # Frontend dependencies cd frontend npm install cd ..
-
Set up development environment:
- Install Cursor IDE (recommended for AI-assisted development)
- The
.cursor/rules/folder contains complete design specifications - Cursor can help you understand and modify the codebase
-
Create a branch for your work:
git checkout -b feature/your-feature-name # or git checkout -b bugfix/issue-description
Python:
- Follow PEP 8 style guide
- Use type hints where appropriate
- Add docstrings to classes and functions
- Keep functions focused and modular
JavaScript/React:
- Use functional components with hooks
- Follow JSX best practices
- Use meaningful variable names
- Add comments for complex logic
Understand the three-tier architecture:
- Tier 1 (Aggregator):
backend/aggregator/- Multi-agent knowledge building - Tier 2 (Compiler):
backend/compiler/- Paper compilation and validation - Tier 3 (Autonomous):
backend/autonomous/- Autonomous research workflow
Key directories:
backend/shared/: Shared utilities, API clients, modelsbackend/api/: FastAPI routes and WebSocketfrontend/src/components/: React UI components.cursor/rules/: Complete system design specifications
CRITICAL: Before making significant changes, read the relevant design docs in .cursor/rules/:
- part-1-aggregator-tool-design-specifications.mdc: Multi-agent aggregation workflow
- part-2-compiler-tool-design-specification.mdc: Paper compilation system
- part-3-autonomous-research-mode.mdc: Autonomous topic selection and synthesis
- rag-design-for-overall-program.mdc: RAG architecture and 4-stage pipeline
- program-directory-and-file-definitions.mdc: File structure and purpose
These specifications are used by AI agents (like Cursor) to assist with development.
- Search existing issues to avoid duplicates
- Check the documentation in
.cursor/rules/and README.md - Test with latest version from main branch
**Describe the bug**
Clear description of what the bug is.
**To Reproduce**
Steps to reproduce:
1. Go to '...'
2. Click on '...'
3. Scroll down to '...'
4. See error
**Expected behavior**
What you expected to happen.
**Screenshots**
If applicable, add screenshots.
**Environment**
- OS: [e.g., Windows 11]
- Python version: [e.g., 3.10.0]
- Node.js version: [e.g., 18.0.0]
- LM Studio version: [e.g., 0.2.9]
- Models used: [e.g., DeepSeek R1 70B, Llama 3.1 70B]
**Logs**
Paste relevant logs from:
- Backend terminal output
- Browser console (F12)
- `backend/logs/system.log`
**Additional context**
Any other relevant information.- Check if already proposed in issues
- Review design specs to understand current architecture
- Consider system constraints (multi-agent coordination, RAG pipeline, etc.)
**Is your feature related to a problem?**
Clear description of the problem.
**Describe the solution you'd like**
Clear description of desired functionality.
**Describe alternatives considered**
Alternative solutions or features you've considered.
**Architecture impact**
How would this affect:
- Aggregator (Tier 1)?
- Compiler (Tier 2)?
- Autonomous Research (Tier 3)?
- RAG system?
- UI/UX?
**Additional context**
Mockups, examples, or relevant information.- Follow code style guidelines
- Add tests if applicable
- Update documentation if needed
- Test thoroughly with different models
Use descriptive commit messages:
# Good
git commit -m "Fix: Prevent duplicate section headers in compiler validation"
git commit -m "Feature: Add batch validation for 2-3 submissions"
git commit -m "Docs: Update RAG pipeline documentation"
# Bad
git commit -m "fix bug"
git commit -m "changes"
git commit -m "update"git push origin your-branch-nameThen create a Pull Request on GitHub with:
Title: Clear, concise description of changes
Description:
## Changes
- List of changes made
## Related Issue
Fixes #123
## Testing
- [ ] Tested with LM Studio models
- [ ] Tested with OpenRouter models
- [ ] Tested aggregator workflow
- [ ] Tested compiler workflow
- [ ] Tested autonomous research
- [ ] UI changes work in Chrome/Firefox/Edge
## Screenshots (if UI changes)
[Add screenshots]
## Checklist
- [ ] Code follows style guidelines
- [ ] Documentation updated
- [ ] No new warnings/errors
- [ ] Tested on Windows/Mac/Linux (if applicable)- Maintainers will review your PR
- Address any feedback or requested changes
- Once approved, your PR will be merged
-
Aggregator Testing:
- Start aggregator with test prompt
- Monitor acceptance/rejection rates
- Verify submissions appear in live results
- Check RAG retrieval quality
-
Compiler Testing:
- Start compiler with aggregator database
- Verify outline creation
- Check paper construction quality
- Test review and rigor phases
-
Autonomous Research Testing:
- Start autonomous mode with research goal
- Verify topic selection works
- Check brainstorm aggregation
- Test paper compilation
- Verify Tier 3 final answer generation
Test with various model combinations:
- Small models (7B-13B)
- Medium models (30B-40B)
- Large models (70B+)
- OpenRouter models (GPT-4, Claude, etc.)
- Test with long prompts
- Test with large file uploads
- Test with multiple concurrent operations
- Monitor memory usage and performance
Update documentation when you:
- Add new features
- Change existing functionality
- Fix bugs that affect usage
- Modify API endpoints
- Change configuration options
- README.md: Main project documentation
- .cursor/rules/: System design specifications (update if architecture changes)
- Code comments: Add inline documentation
- Docstrings: Document classes and functions
- Issues: Open a GitHub issue for bugs or questions
- Discussions: Use GitHub Discussions for general questions
- Documentation: Check
.cursor/rules/for detailed design specs - Cursor IDE: Use Cursor with the rules folder for AI-assisted development
Contributors will be recognized in:
- GitHub contributors list
- Release notes
- Project acknowledgments
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to MOTO! 🎉