Working on an Existing Project

Foundry makes developing with existing projects have no overhead.

For this example, we will use PaulRBerg’s foundry-template.

First, clone the project and run forge install inside the project directory.

$ git clone https://github.com/PaulRBerg/foundry-template $ cd foundry-template $ forge install $ bun install # install Solhint, Prettier, and other Node.js deps

We run forge install to install the submodule dependencies that are in the project.

To build, use forge build:

$ forge build Compiling 28 files with Solc 0.8.28 Solc 0.8.28 finished in 1.10s Compiler run successful!

And to test, use forge test:

$ forge test No files changed, compilation skipped Ran 3 tests for tests/Foo.t.sol:FooTest [PASS] testFork_Example() (gas: 3755) [PASS] testFuzz_Example(uint256) (runs: 1000, μ: 9111, ~: 9111) [PASS] test_Example() (gas: 11861) Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 20.65ms (20.38ms CPU time) Ran 1 test suite in 21.73ms (20.65ms CPU time): 3 tests passed, 0 failed, 0 skipped (3 total tests)