For the complete documentation index, see llms.txt. This page is also available as Markdown.

Initialize contracts

  1. Navigate to the contracts subdirectory:

cd packages/contracts
  1. Initialize a project with sforge:

sforge init && rm -rf .github

This command will:

  • Create the contract project structure (e.g., src/, test/, foundry.toml).

  • Automatically install the Forge standard library (forge-std) as a submodule.

  • Remove the .github workflow folder (not required)

  1. Edit the .gitignore file to be the following:

.env
broadcast/
cache/
  1. Delete the default contract, test and script files (Counter.sol and Counter.t.sol and Counter.s.sol) and replace them with their ClownBeatdown counterparts (ClownBeatdown.sol, ClownBeatdown.t.sol and ClownBeatdown.s.sol):

# Remove the Counter files
rm -f src/Counter.sol test/Counter.t.sol script/Counter.s.sol

# Create empty ClownBeatdown files in the same locations
touch src/ClownBeatdown.sol test/ClownBeatdown.t.sol script/ClownBeatdown.s.sol

These files are empty for now, but we will add to them as we go along.

Last updated