Contributing to Turtle Tracer
May 9, 2026 · View on GitHub
First off—thank you for your interest in contributing to Turtle Tracer. This project exists to help FIRST Robotics teams build better autonomous routines, and community involvement is what keeps it improving.
Whether you’re fixing a bug, adding a feature, improving performance, or just tightening up documentation, your help is appreciated.
Project Status
This project is under active and rapid development. Expect:
- Frequent commits
- Breaking changes between releases
- Ongoing refactors as systems mature
If you encounter issues, please:
- Check existing Issues
- Try the latest release
- If needed, revert to a previous release and report the problem
Ways to Contribute
You can contribute in many ways:
- Bug reports and fixes
- New features or tools
- Performance improvements
- UI/UX polish
- Testing and validation
- Documentation improvements
- Plugins and extensions
No contribution is too small.
Reporting Bugs
Before opening an issue, please check if it already exists.
When reporting a bug, include:
- App version
- Operating system
- Steps to reproduce
- Expected vs actual behavior
- Screenshots or logs (if applicable)
Open issues here:
https://github.com/Mallen220/TurtleTracer/issues
Feature Requests
Feature ideas are welcome. When proposing one:
- Clearly describe the problem it solves
- Explain why it benefits FTC teams
- Include mockups or examples if possible
Keep in mind:
- Simplicity > complexity
- Performance and stability are top priorities
- Features should align with real competition workflows
Development Setup
Prerequisites
- Node.js 18+
- Git
Local Setup
git clone https://github.com/Mallen220/TurtleTracer.git
cd TurtleTracer
npm install
npm run dev
Building
npm run dist
Project Structure (High-Level)
src/– Svelte UI and core application logicelectron/– Electron main and preload processespublic/– Static assetsscripts/– Build and utility scripts
Try to keep changes scoped and modular.
Testing & Validation
- Test your changes on at least one platform (macOS, Windows, or Linux)
- Verify paths load, save, and export correctly
- Avoid introducing UI lag or frame drops
- If adding simulation logic, validate against known robot constraints
Automated testing is evolving—manual validation is currently important.
UI & UX Guidelines
-
Maintain the existing color semantics:
- Green = Paths
- Amber = Waits
- Pink = Rotations
-
Prefer clarity over visual novelty
-
Avoid unnecessary dialogs or modal overload
-
Keep workflows keyboard-friendly where possible
Coding Standards
- Favor readability and maintainability
- Avoid premature optimization
- Use descriptive variable and function names
- Keep commits focused and meaningful
Commit messages should be clear and concise:
Add path optimizer boundary check
Fix telemetry desync on timeline scrub
Pull Request Process
- Fork the repository
- Create a feature branch
git checkout -b feature/YourFeatureName - Commit your changes
git commit -m "Describe your change" - Push to your fork
git push origin feature/YourFeatureName - Open a Pull Request against
main
Please include:
- What the PR changes
- Why it’s needed
- Any known limitations or follow-ups
Plugins
If contributing a plugin:
- Keep it self-contained
- Avoid hard dependencies on internal state where possible
- Document installation and usage
- Follow the same quality and UX standards as core features
License
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License, consistent with the rest of the project.
Thanks
Every contribution helps make this tool better for teams at competitions, in the shop, and during those late-night build sessions.
Thanks for helping improve Turtle Tracer.