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 //...

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