solidity-foundry-development
Installation
SKILL.md
Foundry Development Guide
When to Apply
Apply this skill when working on Solidity projects using the Foundry toolkit. This includes setting up new projects, writing unit and integration tests, performing fuzz and invariant testing, simulating mainnet conditions via fork testing, and managing deployments using Solidity scripts.
Project Setup
Initialize a project with forge init. Manage dependencies using forge install <author>/<repo>. Configure foundry.toml for remappings, optimizer settings, and EVM versions. Use remappings.txt to simplify imports (e.g., @openzeppelin/=lib/openzeppelin-contracts/contracts/).
Testing Best Practices
Test Structure
Tests should inherit from forge-std/Test.sol. Use setUp() for state initialization.
test_Xxx: Standard test case.testFuzz_Xxx: Fuzz test case.testFail_Xxx: Test expected to fail (prefervm.expectRevert).