Skip to content

Latest commit

 

History

History

dev

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Developer Docs

The Foundry project is organized as a regular Cargo workspace.

Installation requirements

We use cargo-nextest as test runner (both locally and in the CI):

Recommended

If you are working in VSCode, we recommend you install the rust-analyzer extension, and use the following VSCode user settings:

"editor.formatOnSave": true,
"rust-analyzer.rustfmt.extraArgs": ["+nightly"],
"[rust]": {
  "editor.defaultFormatter": "rust-lang.rust-analyzer"
}

Note that we use Rust's latest nightly for formatting. If you see ; being inserted by your code editor it is a good indication you are on stable.

Getting started

Build the project.

$ make build

Run all tests.

$ make test

Run all tests and linters in preparation for a PR.

$ make pr

Contents

Note: This is incomplete and possibly outdated

Getting in Touch

See also Getting Help

Issue Labels

Whenever a ticket is initially opened a T-needs-triage label is assigned. This means that a member has yet to correctly label it.

If this is your first time contributing have a look at our first-issue tickets. These are tickets we think are a good way to get familiar with the codebase.

We classify the tickets in two major categories: T-feature and T-bug. Additional labels are usually applied to help categorize the ticket for future reference.

We also make use of T-meta aggregation tickets. These tickets are tickets to collect related features and bugs.

We also have T-discuss tickets that require further discussion before proceeding on an implementation. Feel free to jump into the conversation!

CI

We use GitHub Actions for continuous integration (CI).

We use cargo-nextest as the test runner.

If make test passes locally, that's a good sign that CI will be green as well.