-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: add basic dev docs folder (#2608)
- Loading branch information
Showing
3 changed files
with
54 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# Contributing Quick Start | ||
|
||
The foundry Rust project is organized as a regular [Cargo workspace][cargo-workspace]. | ||
|
||
Simply running | ||
|
||
``` | ||
$ cargo test | ||
``` | ||
|
||
should be enough to get you started! | ||
|
||
To learn more about how foundry's tools works, see [./architecture.md](./architecture.md). | ||
It also explains the high-level layout of some aspects of the source code. | ||
To read more about how to use it, see [📖 Foundry Book][foundry-book] | ||
Note though, that the internal documentation is very incomplete. | ||
|
||
# Getting in Touch | ||
|
||
See also [Getting Help](../../README.md#getting-help) | ||
|
||
# Issue Labels | ||
|
||
* [good-first-issue](https://github.com/foundry-rs/foundry/labels/good%20first%20issue) | ||
are good issues to get into the project. | ||
* [D-easy](https://github.com/foundry-rs/foundry/issues?q=is%3Aopen+is%3Aissue+label%3AD-easy), | ||
[D-average](https://github.com/foundry-rs/foundry/issues?q=is%3Aopen+is%3Aissue+label%3AD-medium), | ||
[D-hard](https://github.com/foundry-rs/foundry/issues?q=is%3Aopen+is%3Aissue+label%3AD-hard), | ||
[D-chore](https://github.com/foundry-rs/foundry/issues?q=is%3Aopen+is%3Aissue+label%3AD-chore), | ||
labels indicate how hard it would be to write a fix or add a feature. | ||
|
||
|
||
# CI | ||
|
||
We use GitHub Actions for CI. | ||
We use [cargo-nextest][nextest] as the test runner | ||
If `cargo test` passes locally, that's a good sign that CI will be green as well. | ||
We also have tests that make use of forking mode which can be long running if the required state is not already cached locally. | ||
Forking-related tests are executed exclusively in a separate CI job, they are identified by `fork` in their name. | ||
So all of them can be easily skipped by `cargo t -- --skip fork` | ||
|
||
[foundry-book]: https://book.getfoundry.sh | ||
[cargo-workspace]: https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html | ||
[nextest]: https://nexte.st/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Architecture | ||
|
||
This document describes the high-level architecture of foundry. | ||
|
||
# TODO |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Debugging foundry tools | ||
|
||
All crates use [tracing](https://docs.rs/tracing/latest/tracing/) for logging. An console formatter is installed in each binary (`cast`, `forge`, `anvil`). | ||
|
||
Logging output is enabled via `RUST_LOG` var. Running `forge` with `RUST_LOG=forge` will emit all logs of the `cli` crate, same for `cast`. |