Contributing

Contributing

Everything you need to work on Rift runs in containers, so you only need Docker (opens in a new tab) and GNU Make (opens in a new tab) on your machine: no PHP, Composer, Go or Bun.


Getting started

  1. Clone the repository:

    git clone https://github.com/LucaPipolo/rift.git
    cd rift
    
  2. Install the PHP dependencies, and the commit tooling with its Git hook:

    make composer install
    make bun install
    
  3. Run the tests:

    make test
    

The first make command builds the images it needs:

ImageWhat it holds
rift-devPHP 8.5, Composer (opens in a new tab), Git and PCOV (opens in a new tab).
rift-bunBun (opens in a new tab) and Git, for the commit tooling and this documentation site.
rift-goGo (opens in a new tab), golangci-lint (opens in a new tab) and Git.

make bun install also installs the Git hook that checks commit messages.

Containers start for a single command and are removed when it finishes, so there is nothing to keep running: docker compose up is never needed. They run as your user, so files they create belong to you.


Where to go next

How Rift is built

The two programs in every binary, and the contract between them.

Development commands

Every make target, for tests, analysis, formatting, builds and this site.

Tests

How the PHP and Go suites are written, and the 100% coverage they keep.

Commits and pull requests

Commit messages, branch names, and what a pull request needs to merge.

Previous
Troubleshooting