Getting Started#

A step-by-step walkthrough for new S-CORE contributors. By the end of this tutorial, you will have a working development environment, a successful build, and passing tests.

What you’ll need#

  • GitHub account with access to the eclipse-score organization

  • VS Code (or another devcontainer-capable IDE)

  • Docker installed and running

1. Clone a repository#

Pick a module repository to work with. For this tutorial, we use module_template:

git clone https://github.com/eclipse-score/module_template.git
cd module_template

2. Open in devcontainer#

Open the cloned repository in VS Code. When prompted, click Reopen in Container.

The devcontainer image (ghcr.io/eclipse-score/devcontainer) includes all required tooling: Bazel, Python, pre-commit, language toolchains, and more.

If VS Code does not prompt automatically, open the command palette (Ctrl+Shift+P) and select Dev Containers: Reopen in Container.

3. Verify your environment#

Run these commands inside the devcontainer:

bazel version
python3 --version
pre-commit --version

All three should succeed. If any fail, the devcontainer image may need rebuilding — ask in #score-infrastructure.

4. Build everything#

bazel build //...

This compiles all targets in the repository. On the first run, Bazel downloads external dependencies — this takes a few minutes. Subsequent builds are fast.

5. Run all tests#

bazel test //...

To see full output when a test fails, add --test_output=all.

You should see all tests pass. If a test fails in a clean clone, it’s a known issue — report it.

6. Set up pre-commit hooks#

pre-commit install

This configures git hooks that check formatting and hygiene before each commit.

Verify by running all checks manually:

pre-commit run --all-files

What you’ve accomplished#

You now have:

  • A working devcontainer environment

  • A successful Bazel build

  • Passing tests

  • Pre-commit hooks catching issues before they reach CI

Next steps#