The easiest way to start contributing is by using our Dev Container. You can choose between two approaches:
Prerequisites:
- Docker (or Podman)
- VS Code
- Dev Containers extension
Steps:
-
Clone the repository
git clone https://github.com/Mooncake-Labs/moonlink.git cd moonlink -
Open in VS Code
-
Inside VS Code, run the following from the
Command Paletteto get started> Dev Containers: Open Folder in ContainerThis will create an isolated Workspace in vscode.
You just need to create a new codespace.
Moonlink is a standard Rust project, and tests can be run using cargo test. By default, this will run all tests that don't require optional features.
Within the devcontainer, local GCS and S3 storage instances have been setup. To run the full test suite, including tests behind optional features such as storage-gcs and storage-s3, you can specify the features explicitly:
# Run tests with GCS support.
cargo test --features storage-gcs
# Run tests with S3 support.
cargo test --features storage-s3Formatting and linting is configured properly in devcontainer via precommit hooks, which automatically triggers before you push a commit.