Build, test, fuzz, debug and deploy Solidity contracts Usage: forge [OPTIONS] Commands: bind Generate Rust bindings for smart contracts bind-json Generate bindings for serialization/deserialization of project structs via JSON cheatcodes build Build the project's smart contracts [aliases: b, compile] cache Manage the Foundry cache clean Remove the build artifacts and cache directories [alias: cl] clone Clone a contract from Etherscan compiler Compiler utilities completions Generate shell completions script [alias: com] config Display the current config [alias: co] coverage Generate coverage reports create Deploy a smart contract [alias: c] doc Generate documentation for the project eip712 Generate EIP-712 struct encodings for structs from a given file exploit Ask a model on the Tempo Gateway to find a bug in a contract and prove it with a test. flatten Flatten a source file and all of its imports into one file [alias: f] fmt Format Solidity source files fuzz Run and manage Forge fuzzing corpora geiger DEPRECATED: Detects usage of unsafe cheat codes in a project and its dependencies help Print this message or the help of the given subcommand(s) init Create a new Forge project inspect Get specialized information about a smart contract [alias: in] install Install one or multiple dependencies [aliases: i, add] lint Lint Solidity source files [alias: l] lsp Open Solidity in VS Code or start the language server properties Run agents that prove bugs with failing tests and report the bugs that they agree on reinit Reinitialize the project's Git submodules, discarding local changes remappings Get the automatically inferred remappings for the project [alias: re] remove Remove one or multiple dependencies [alias: rm] script Run a smart contract as a script, building transactions that can be sent onchain selectors Function selector utilities [alias: se] snapshot Create a gas snapshot of each test's gas usage [alias: s] soldeer Soldeer dependency manager test Run the project's tests [alias: t] tree Display a tree visualization of the project's dependency graph [alias: tr] update Update one or multiple dependencies [alias: u] verify-bytecode Verify the deployed bytecode against its source on Etherscan [alias: vb] verify-check Check verification status on the selected verifier [alias: vc] verify-contract Verify smart contracts on Etherscan and Sourcify [alias: v] Options: -h, --help Print help (see a summary with '-h') -j, --threads Number of threads to use. Specifying 0 defaults to the number of logical cores [alias: --jobs] --profile The configuration profile to use -V, --version Print version Display options: --color The color of the log messages Possible values: - auto: Intelligently guess whether to use color output (default) - always: Force color output - never: Force disable color output --json Format log messages as JSON --md Format log messages as Markdown -q, --quiet Do not print log messages -v, --verbosity... Verbosity level of the log messages. Pass multiple times to increase the verbosity (e.g. -v, -vv, -vvv). Depending on the context the verbosity levels have different meanings. For example, the verbosity levels of the EVM are: - 2 (-vv): Print logs for all tests. - 3 (-vvv): Print execution traces for failing tests. - 4 (-vvvv): Print execution traces for all tests, and setup traces for failing tests. - 5 (-vvvvv): Print execution and setup traces for all tests, including storage changes and backtraces with line numbers. Find more information in the book: https://getfoundry.sh/forge/overview