Thanks for considering a contribution. SDGScript is a small hobby project, so the process is deliberately light.
You need Go 1.25 or newer. Build the interpreter and run the examples:
go build -o sdg .
./sdg run examples/footprint.sdg --reportgo vet ./... should stay quiet, and go build ./... should pass before you
open a pull request.
New keywords and builtins are welcome when they carry real behaviour, so the sustainability naming reflects something the language actually does. If you add a themed feature, say in the pull request what the underlying behaviour is.
Keep the surface small and readable. New syntax lives in lexer, ast, and
parser; runtime behaviour lives in evaluator; values live in object.
Describe what changed and why. If the change affects how a program runs, include
a short example program and its output. Update the README and the man page
(sdg.man) when you change user-facing behaviour, and add an entry to
CHANGELOG.md under the Unreleased heading.
Open an issue with a minimal .sdg program that reproduces the problem, the
command you ran, and what you expected to happen.