Thanks for your interest in contributing! This document covers the org-wide ground rules. Individual repos may add their own CONTRIBUTING.md with project-specific build/test instructions — when in doubt, the per-repo file wins.
- 🐛 Report a bug — open an issue on the affected repo using the bug template. Include OS, Node version (or Rust toolchain), and a minimal reproduction.
- 💡 Request a feature — open a feature-request issue describing the use case and why existing functionality isn't enough.
- 💬 Ask a question — head to Discussions. Issues are for actionable work.
- 📝 Improve docs — typo fixes, clarifications, and new recipes are always welcome.
- 🔌 Send a PR — see below.
- Fork the repo and create a branch off
main. Use a descriptive branch name (e.g.fix/parser-readline-trailing-cr,feat/reconnect-jitter). - Discuss large changes first. For anything beyond a small bug fix or doc change, open an issue or Discussion to align on approach before you write code. Saves everyone time.
- Code style — match the existing style. Run
npm run lintandnpm run format(Node packages) orcargo fmt && cargo clippy(Rust crate) before pushing. - Tests — every behavioral change needs a test that fails before your fix and passes after. Run
npm test(orcargo test). New features need new tests. - Docs — if you change a public API, update the README and any relevant recipes.
- Changeset — for npm packages, run
npm run changesetand commit the generated markdown file. This drives our release notes. - Sign your commits is appreciated but not required.
- Rebase onto the latest
mainbefore opening the PR. Resolve conflicts cleanly. - Open the PR using the template — fill in the summary, type, test plan, and checklist.
- Small, focused changes (one concern per PR).
- A clear "why" in the PR description.
- Green CI on Linux, macOS, and Windows.
- New tests covering the change.
- Docs updated alongside the code.
By contributing, you agree your contributions are licensed under the MIT License, the same license that covers SerialPilot itself.
All contributors are expected to follow the SerialPilot Code of Conduct. Please read it.
Open a Discussion or email contact@riteshrana.engineer.