Thanks for helping with Greyalien. This repository is a prototype interpreter plus design docs, so changes should keep implementation and specs aligned.
- Fork the repo and create a branch.
- Make small, focused changes.
- Run tests:
python -m unittest discover -s tests- Update docs and examples when behavior changes.
- Format Python with
ruff formatand check lint withruff check. - Keep behavior explicit and error messages clear.
- Add tests for new syntax, runtime semantics, and edge cases.
- Keep the subset spec and README in sync with interpreter behavior.
Install dev tools:
python -m pip install -e ".[dev]"Common checks:
make ci- If you add or change syntax, update both
SPEC.mdandSPEC_V0.md. - Keep
GREYALIEN_CORE.mdandGREYALIEN_VISION.mdaligned with the direction you intend.
- Include a small repro program and the expected vs actual output.
- Note the interpreter version (commit hash) when possible.
- Confirm the report is reproducible or request missing details.
- Apply a type label (
bug,enhancement,documentation, orquestion). - Verify one primary
area:label; override auto-labeling if needed. - Add
good first issueorhelp wantedwhen appropriate. - Assign a milestone when the work aligns with the roadmap.
- Close with context if duplicate, invalid, or out of scope.
- See
TRIAGE.mdfor label meanings and triage flow.