Create project structure and monorepo workspace
Create the project folder and navigate into it:
Create the
packages
directory with subdirectories forcontracts
andcli
The contracts
subdirectory will house the Seismic smart contract(s) and test(s) for the project, while the cli
will house the interface to interact with the contracts.
Initialize a bun project in the root directory:
We remove the default index.ts
and tsconfig.json
files created by bun init -y
to keep the root directory clean and focused on managing the monorepo structure rather than containing code. We also create a .prettierrc
file for consistent code formatting and a .gitmodules
file to manage contract submodules.
Replace the default
package.json
with the following content for a monorepo setup:
Add the following to the
.prettierrc
file for consistent code formatting:
Replace the
.gitignore
file with:
Add the following to the
.gitmodules
file to track git submodules (in our case, only the Forge standard library,forge-std
):
Last updated