Contributing

ScarScript welcomes bug reports, feature requests, documentation improvements, tests, and code contributions.

Where to start

Development setup

The project contribution guide lists Go 1.22 or newer and Git as prerequisites:

git clone https://github.com/ScarfazeCompany/scar-script.git cd scar-script go build ./... go test ./...

Run an example program with:

go run ./cmd/scar run examples/demo.scar

Before opening a pull request

  1. Create a branch for the change.
  2. Add or update tests for code changes.
  3. Run the test suite and relevant checks.
  4. Update the language specification or documentation for user-facing changes.
  5. Include a changelog entry when a change affects users.

The repository contribution guide lists go test ./..., go vet ./..., and gofmt -l . among its checks. Follow the repository’s current contribution instructions if they change.

Adding a language feature

The repository recommends updating the specification first, then implementing the lexer, parser, type checker, code generator, and tests. Keep the standard-library reference and user guides in sync with behavior.

Community expectations

Be respectful and constructive. See the repository’s Code of Conduct  for the community standards and reporting process.