Skip to content

Introduction ​

PR Rules ​

  • We prefer smaller PRs.
  • Try stacked PRs with graphite if you have write access, which will be given to you when you contribute a lot.
  • Please create an issue or discussion if the PR contains architectural changes.

Development Policy ​

  • All performance issues (runtime and compilation speed) are considered as bugs in this project.
  • Embrace data-oriented design.
  • APIs should be simple and well-documented.
  • Third-party dependencies should be minimal.
  • Avoid the regex crate when possible. Regex is slow, most of them can be rewritten in a performant way by using Rust iterator and string methods.
  • Avoid heavy macros or generics or any Rust techniques that would penalize compilation speed.
  • Always reference the source if the implementation comes from elsewhere.

Maintenance Policy ​

  • Monitor code coverage for unused code. Aim for 99% code coverage.
  • CI time should be actively monitored and reduced to speed up merging of PRs. The current CI time on GitHub actions is around 3 minutes.

Action Policy ​

Taken from Astral's values:

We bias towards action, even in the face of uncertainty. We favor pragmatic doing over prolonged debating; we favor asking for forgiveness over permission. We value decisiveness — especially when a decision isn’t clear cut, and especially when a decision is reversible.

A bias towards action is not the same as recklessness. Rather, it’s a bias towards making responsible decisions and acting on them with urgency, even if we’re left with lingering ambiguity or known unknowns.

Released under the MIT License.