๐ Contribution Guidelines
April 17, 2026 ยท View on GitHub
This document lays out the basic principles which govern contributions to this project.
๐ ๏ธ Workflow
- Clone the repository:
git clone https://github.com/SgtSwagrid/<repository-name>.git. - Create a feature branch:
git switch -c feature_<description>. - Make your changes (use of IntelliJ IDEA is recommended but not required).
- Reformat the code according to our style rules:
sbt scalafmtAll. - Commit (
git add -Athengit commit -m "<description>"). - Push your changes, either to this repository directly if you have write access, or to a forked version of it if you don't.
- Create a pull request to
main, with the title given as[<scope>] <Description>(e.g.[rendering] Solved inverted colours.). - 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:
- We adhere to the principles of functional programming.
- Scalafmt will automatically reformat your code for you with
sbt scalafmtAll.
๐ณ 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.