๐Ÿ“œ Contribution Guidelines

April 17, 2026 ยท View on GitHub

This document lays out the basic principles which govern contributions to this project.

๐Ÿ› ๏ธ Workflow

  1. Clone the repository: git clone https://github.com/SgtSwagrid/<repository-name>.git.
  2. Create a feature branch: git switch -c feature_<description>.
  3. Make your changes (use of IntelliJ IDEA is recommended but not required).
  4. Reformat the code according to our style rules: sbt scalafmtAll.
  5. Commit (git add -A then git commit -m "<description>").
  6. Push your changes, either to this repository directly if you have write access, or to a forked version of it if you don't.
  7. Create a pull request to main, with the title given as [<scope>] <Description> (e.g. [rendering] Solved inverted colours.).
  8. Before merging, the code must pass the build test (defined in build-integrity.yml).

๐ŸŽฉ Code Style

Please see the Code Style Guidelines for details on our design principles and code style. In brief:

๐ŸŒณ Branching Strategy

This project follows simple trunk-based development. All work happens on short-lived feature branches, which are merged into main by pull request. Releases are by tag, and there are no separate release branches.

๐Ÿค– LLM Agent Usage

The use of agents where it makes sense is allowed and encouraged. In particular, this project is configured for optimal interoperability with Claude Code. You are however free to use whichever tooling you wish.

Responsibility

You are still responsible for code that was written or partially written by an LLM. You should always read and understand all changes before submitting them.

Generally, the reviewer doesn't need to know which code was generated or manually created. Such a distinction would undermine any sense of responsibility: all of the code belongs to you. An exception exists when an LLM was used to perform a menial transformation en masse, in which case you might consider isolating such changes to a stand-alone commit, and sharing the prompt.

๐Ÿ“ž Contact

Created by Alec Dorrington. For questions or issues, please use the GitHub issue tracker.

๐Ÿ” Origin

The primary source of truth for this document can be found in the Scala Config repository, from which it is automatically synchronised with Github Graph. This should be updated there rather than here, lest any changes be subsequently reverted.