Skip to content

Contributing to MARSLib

Thank you for your interest in contributing to MARSLib! This framework is used by FIRST® teams worldwide to build championship-tier robots. Your contributions are a vital part of our collective journey of Discovery and Innovation.

  • 🤖 Impact FIRST® Teams - Your technical Innovation helps teams worldwide compete at the highest level.
  • 🧠 Discovery - Master advanced control theory and simulation through active experimentation and Impact.
  • 👥 Teamwork - Join an Inclusive community where we work together to solve complex problems.
  • 🏆 Build Portfolio - Gain experience with championship-tier software and hardware systems.
  • 🎉 Fun - Celebrate technical breakthroughs with a passionate group of robotics enthusiasts!
  1. Set up your development environment (5 minutes)
  2. Find a good first issue to work on.
  3. Make your changes following our coding standards.
  4. Test thoroughly using our simulation framework.
  5. Submit a pull request with description.

Find and fix bugs in the framework. Check out our open issues for reported bugs.

Add new capabilities to the framework. Start with a discussion to align on approach.

Improve documentation, add examples, or create tutorials. Great for first-time contributors!

Add test coverage or improve existing tests. We maintain 80% coverage for quality.

Create example projects or code snippets showing how to use MARSLib features.

Before submitting a Pull Request, please verify your contribution matches our elite standards:

  • Reading Level: Ensure all Markdown documentation tests at an 8th-grade reading level or lower. Use simple analogies.
  • Zero-Allocation: No new new keywords in periodic loops or telemetry paths.
  • Validation: Code has been run through the MARSBenchmark suite or Dyn4j simulation tests.
  • Formatting: Run ./gradlew spotlessApply before committing.

Documentation Hub

Explore the framework conceptually or dig right into tutorials.

Treat all contributors with respect and kindness. We embrace our differences and work to ensure MARSLib is a welcoming environment for everyone.

Don’t hesitate to ask for help or share ideas. We are stronger when we work together and learn from each other’s experiences.

Study existing code before making changes. Consistency is key to maintaining a high-impact, reliable framework.

Our Digital Twin testing approach ensures quality. Always use the simulation environment to discover potential issues before they reach the real robot.

Update documentation alongside code changes. Keep docs in sync with code.

Contributors are recognized in:

  • GitHub Contributors list.
  • Release notes for significant contributions.
  • Team meetings for major features.

By contributing to MARSLib, you agree that your contributions will be licensed under the MIT License.


Ready to start? Begin with our Development Setup Guide and join us in building amazing FRC software!