Spectrum uses a feature-branch Git workflow where all new work is developed on isolated branches, tested in simulation first, and merged intoDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/spectrum3847/2026-Spectrum/llms.txt
Use this file to discover all available pages before exploring further.
main only after passing a code review. This keeps the main branch buildable at all times — a broken main means a broken robot for the whole team.
Feature branch workflow
Create a feature branch
Branch off
main for every new feature or significant change. Name branches descriptively.Develop and test in simulation
Write your code and validate it in WPILib simulation before touching hardware. Use AdvantageScope to replay logs and verify behavior. Catch logic errors early — sim is free, robot time is not.
Keep your branch up to date
Regularly pull
main into your feature branch to avoid large merge conflicts when you eventually open a PR.Verify the build passes
Before opening a PR, confirm your branch builds cleanly. A non-building branch will break robot code for everyone if merged.
Open a pull request and request review
Push your branch and open a PR on GitHub. Request review from a programming lead or the person you collaborated with. Do not merge without approval.
Writing good commit messages
Commits are a record of why changes were made, not just what changed. Future-you (and teammates) will read these during debugging.Keep the summary line concise
Keep the summary line concise
The first line should be a short summary (under 72 characters) written in the imperative mood.
Add a body for complex changes
Add a body for complex changes
For large refactors or non-obvious decisions, follow the summary with a blank line and a body explaining the rationale.
When detailed messages matter most
When detailed messages matter most
Detailed commit bodies are most valuable for:
- Large architectural changes across multiple files
- Non-obvious tradeoffs or algorithm choices
- Changes that affect multiple robots or configurations
Pull request checklist
Before marking a PR ready for review:- Branch is up to date with
main(git pull origin main) -
./gradlew clean buildpasses with no errors - Simulation testing completed for changed behavior
- No merge conflicts
- Code follows style conventions
- New mechanisms or states are documented in code comments
Resolving merge conflicts
Whenmain has diverged from your branch, Git will flag conflicts. Resolve them file by file:
- Keep incoming: Accept changes from
main(the other person’s version) - Keep current: Accept your own changes
- Merge both: Manually combine both sets of changes
./gradlew build again to confirm nothing broke during the merge.