Project Meta
Contributing Guide
Guidelines for contributing to the Rune project.
We welcome contributions to the Rune interpreter, VS Code extension, and website!
Development Setup
If you want to modify the language core or build runtime tools, you can run the interpreter directly from the Python source files.
Prerequisites
Rune requires Python 3.10 or later. Verify your installation:
python --versionSteps
-
Clone the Repository
Clone the Rune Core repository:
git clone https://github.com/lang-rune/rune.git cd rune -
Verify Setup
Run the interpreter's unit tests to verify your environment setup:
python -m unittest rune.tests.test_interpreter -v -
Running the Interpreter
You can execute a local
.rnfile or start the REPL directly using:# Run a script file: python -m rune.cli.main path/to/file.rn # Launch the REPL: python -m rune.cli.main
Code Style
- Python Core — Standard PEP 8 formatting. Relative imports must be preserved to prevent stdlib
astnamespace collisions. - VS Code Extension — TypeScript command/service architecture.
- Website — Next.js 15, Tailwind v4, HSL design tokens matching
DESIGN.md.
Running the Core Tests
Before submitting changes, make sure the integration test suite passes:
# Run from the root workspace directory:
python -m unittest rune.tests.test_interpreter -vTests cover number math, variables hoisting, spells recursion, loops skip/stop control signals, and condition chains.
Submitting Pull Requests
- Fork the target repository (
lang-rune/rune,lang-rune/website, orlang-rune/vscode). - Create a feature branch.
- Write clear, documented code. Include test cases in
test_interpreter.pyif changing the language core. - Verify tests pass.
- Open a Pull Request on GitHub.