Skip to content

Latest commit

 

History

History
23 lines (14 loc) · 1.46 KB

CONTRIBUTING.md

File metadata and controls

23 lines (14 loc) · 1.46 KB

Contributing to tramlines

This repository is a read-only mirror of tramlines. Each release reaches it as one commit, which an export from the project's own repository creates, and nobody commits to it directly. This guide explains how to report a bug or ask for a feature, and how to build tramlines from this repository.

Report a bug or ask for a feature

Open an issue, with the bug report or the feature request template. A pull request can't be merged here, because the next release replaces the whole tree. When you have a change in mind, describe it in an issue, and include a patch there if you have one.

Build tramlines

The project pins its toolchains in rust-toolchain.toml and .mise.toml, which mise installs:

mise install
cargo build --locked -p tramlines

The specifications and the grammars are in knowledge/spec/, and the build embeds the grammars into the crates. The documentation site's pages are in docs/, and npm run docs:build builds the site with mdBook.

.github/workflows/publish.yml is the release: it builds the five binaries, smoke-tests them, publishes the crates to crates.io and the packages to npm, creates the GitHub release with the notes that the tag's message carries, and deploys the documentation site. The GitHub releases hold the notes of every release: they are the project's changelog.