Overview
forge init
forge init <project_name>
creates a new directory named after your project from the default template.
also initializes a new
git
repository.
Creating a New Project from template
forge init --template https://github.com/foundry-rs/forge-template <project_name>
Project Layout
You should see 3 directories:
lib -> dependencies are stored as git submodules
src -> default directory for contracts
test -> default directory for tests
You can configure where Forge looks for both dependencies and contracts using the --lib-paths
and --contracts
flags respectively. Alternatively you can configure it in foundry.toml
For automatic Hardhat support you can also pass the --hh
flag, which sets the following flags: --lib-paths node_modules --contracts contracts.
forge build
compiles project
forge test
run all tests
creates two new directories
out -> contains contract artifacts, such as the ABI
cache -> used by
forge
to only recompile what is necessary
Last updated