First Steps with Foundry

This section introduces the forge command-line tool. We will walk through creating a new project, compiling it, and running tests.

To start a new project with Foundry, use the forge init command:

$ forge init hello_foundry

Now, let’s explore the structure that forge has generated for us:

$ cd hello_foundry $ tree . -d -L 1 . ├── lib ├── script ├── src └── test 5 directories

You can compile the project using forge build:

$ forge build Compiling 22 files with Solc 0.8.19 Solc 0.8.19 finished in 559.74ms Compiler run successful!

To run the tests, use the forge test command:

$ forge test No files changed, compilation skipped Ran 2 tests for test/Counter.t.sol:CounterTest [PASS] testFuzz_SetNumber(uint256) (runs: 256, μ: 32229, ~: 32385) [PASS] test_Increment() (gas: 31874) Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 7.25ms (6.87ms CPU time) Ran 1 test suite in 8.10ms (7.25ms CPU time): 2 tests passed, 0 failed, 0 skipped (2 total tests)

💡 Tip

You can always view detailed help for any command or subcommand by appending --help to it.

For visual learners, be sure to check out these beginner guides.