Join the Hardhat team! We are hiring


This plugin makes it easier to use Hardhat and Foundry in the same project.

When this plugin is enabled, Hardhat will use the same contracts directory that is used by Foundry, and it will be able to use dependencies installed with forge install.

If you have a pure Hardhat project, your can use the init-foundry task to create a foundry.toml file. The file will be created using the proper values to make Foundry work well with your Hardhat project.

Read our guide to learn more.

# How it works

The plugin uses forge config to get Foundry's configuration and remappings. It then uses this information to make Hardhat's configuration compatible with Foundry.

Two of Hardhat's paths are updated: the sources path to make it match the one used by Foundry, and the cache path to guarantee that a different one is used, preventing potential issues.

The compilation task is also modified to add support for Foundry's remappings. This means that you can compile your contracts both with npx hardhat compile and forge build, and in both cases you can use dependencies installed with npm or with Foundry.