Welcome Contributors!
Thank you for your interest in contributing to JARVIS! This guide will help you get started.Code of Conduct
Be respectful, inclusive, and professional. We’re building a community where everyone feels welcome to contribute.Getting Started
Set up development environment
Follow the Local Setup guide to configure your environment.
Development Workflow
Making Changes
- Write your code following the Code Style guidelines
- Add tests for new functionality
- Update documentation if needed
- Run tests to ensure everything passes
- Commit your changes with clear commit messages
Running Tests
Before committing, ensure all tests pass:Commit Messages
Use clear, descriptive commit messages following Conventional Commits:feat- New featurefix- Bug fixdocs- Documentation changesrefactor- Code refactoringtest- Test additions/improvementschore- Build process, dependenciesperf- Performance improvements
Code Style
Python (Backend)
JARVIS uses Ruff for linting and formatting:TypeScript (Frontend)
Follow Next.js and React best practices:Testing Guidelines
Writing Tests
Every new feature should include tests:tests/test_new_feature.py
Test Coverage
Maintain at least 70% code coverage:- Core pipeline logic
- Agent orchestration
- API endpoints
- Error handling
Pull Request Process
Before Submitting
Submitting a PR
-
Push your branch
- Create a pull request on GitHub
-
Fill out the PR template:
- Request review from maintainers
PR Review Process
Maintainers will review your PR and may:- Request changes
- Ask questions
- Suggest improvements
- Approve and merge
Documentation
When to Update Docs
Update documentation when you:- Add a new feature
- Change API endpoints
- Modify configuration options
- Add new environment variables
- Change deployment procedures
Documentation Structure
Writing Documentation
Use clear, concise language:Bad: Vague, passive
Laminar
Laminar can be configured by setting the appropriate environment variable.Testing Locally
Test with mock services:Environment Variables
Use different.env files for testing:
Recognition
Contributors are recognized in:CONTRIBUTORS.mdfile- Release notes
- Project README
- Maintainer status
- Special acknowledgment
- Invitation to core team
Questions?
If you have questions about contributing:- Check this documentation
- Search existing GitHub issues
- Ask in GitHub Discussions
- Open a new issue with the
questionlabel
License
By contributing, you agree that your contributions will be licensed under the same license as the project.Thank You!
Every contribution, no matter how small, makes JARVIS better. Thank you for being part of our community! 🚀Local Setup
Set up your development environment
Testing
Write tests for your contributions
Architecture
Understand the system design
API Reference
Explore the API