2026-01-11 03:10:19 -05:00
|
|
|
AGENTS instructions
|
|
|
|
|
===================
|
|
|
|
|
|
|
|
|
|
The main developer documentation is [Contributor's guide](contributing-docs/README.md).
|
|
|
|
|
|
|
|
|
|
- [Development environment](contributing-docs/02_development_environment.md)
|
|
|
|
|
|
|
|
|
|
Compiling with sbt
|
|
|
|
|
------------------
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-08-24 03:38:07 -04:00
|
|
|
sbt --client --color=false --supershell=false --batch compile
|
2026-01-11 03:10:19 -05:00
|
|
|
```
|
|
|
|
|
|
2026-03-01 00:25:09 -05:00
|
|
|
Pull request guideline
|
2026-01-11 03:10:19 -05:00
|
|
|
----------------------
|
|
|
|
|
|
2026-01-25 15:48:09 -05:00
|
|
|
- Follow the PR guidance in [CONTRIBUTING.md](./CONTRIBUTING.md).
|
|
|
|
|
- [ ] Before working on a pull request, please confirm that **you can reproduce the reported problem** using GitHub Actions or your computer.
|
|
|
|
|
- [ ] After making the code change, please confirm that **your change compiles, and has fixed the problem**.
|
|
|
|
|
- [ ] In the commit message, include "Generated-by" tag for Gen-AI tools.
|
2026-01-11 03:10:19 -05:00
|
|
|
|
|
|
|
|
Coding style
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-08-24 03:38:07 -04:00
|
|
|
sbt --client --color=false --supershell=false --batch scalafmtAll
|
2026-01-11 03:10:19 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
- Follow [Coding style and best practices](contributing-docs/03_coding_style.md)
|
2026-09-10 13:13:11 -04:00
|
|
|
- For newly written code, avoid braces in Scala 3.x, that is use SIP-44 Fewer Braces syntax.
|
|
|
|
|
- Prefer scala.util.Using over try-finally.
|
2026-01-11 03:10:19 -05:00
|
|
|
- Avoid inline comments!
|
|
|
|
|
|
|
|
|
|
Tests
|
|
|
|
|
-----
|
|
|
|
|
|
|
|
|
|
Always add tests. For changes with small scopes prefer HedgeHog for Scala.
|
|
|
|
|
For changes that require coordination with file changes and tasks, use scripted test.
|
|
|
|
|
|
2026-01-11 15:08:20 -05:00
|
|
|
- [contributing-docs/04_unit_tests.md](contributing-docs/04_unit_tests.md)
|
|
|
|
|
- [contributing-docs/05_scripted_tests.md](contributing-docs/05_scripted_tests.md)
|
|
|
|
|
- [contributing-docs/06_manual_tests.md](contributing-docs/06_manual_tests.md)
|
2026-01-11 03:10:19 -05:00
|
|
|
|
2026-08-24 03:38:07 -04:00
|
|
|
For example, here's how to run "actions/compile" scripted test:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
sbt --color=false --supershell=false --client --batch scripted actions/compile
|
|
|
|
|
```
|
|
|
|
|
|
2026-01-22 04:20:06 -05:00
|
|
|
Tech stack
|
|
|
|
|
----------
|
|
|
|
|
|
2026-03-01 00:25:09 -05:00
|
|
|
- [contributing-docs/07_tech_stack.md](contributing-docs/07_tech_stack.md)
|
2026-01-22 04:20:06 -05:00
|
|
|
|
2026-01-11 03:10:19 -05:00
|
|
|
Binary compatibility
|
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
|
|
sbt MUST maintain backward binary compatibility across minor releases.
|
|
|
|
|
This means removing public method signature MUST be avoided.
|
|
|
|
|
|
|
|
|
|
Use mima to check:
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-08-24 03:38:07 -04:00
|
|
|
sbt --client --color=false --supershell=false --batch mimaReportBinaryIssues
|
2026-01-11 03:10:19 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Copyright
|
|
|
|
|
---------
|
|
|
|
|
|
|
|
|
|
- NEVER reproduce copyrighted material.
|