forge init
NAME
forge-init - Create a new Forge project.
SYNOPSIS
forge init
[options] [root]
DESCRIPTION
Create a new Forge project in the directory root (by default the current working directory).
The default template creates the following project layout:
.
├── README.md
├── foundry.toml
├── lib
│ └── forge-std
│ ├── CONTRIBUTING.md
│ ├── LICENSE-APACHE
│ ├── LICENSE-MIT
│ ├── README.md
│ ├── foundry.toml
│ ├── package.json
│ ├── scripts
│ ├── src
│ └── test
├── script
│ └── Counter.s.sol
├── src
│ └── Counter.sol
└── test
└── Counter.t.sol
8 directories, 11 files
However, it is possible to create a project from another using --template
.
By default, forge init
will also initialize a new git repository, install some submodules and create an initial commit message.
If you do not want this behavior, pass --no-git
.
OPTIONS
Init Options
--force
Create the project even if the specified root directory is not empty.
-t
template
--template
template
The template to start from.
--vscode
Create a .vscode/settings.json
file with Solidity settings, and generate a remappings.txt
file.
--offline
Do not install dependencies from the network.
VCS Options
--no-commit
Do not create an initial commit.
--no-git
Do not create a git repository.
Display Options
-q
--quiet
Do not print any messages.
Common Options
-h
--help
Prints help information.
EXAMPLES
-
Create a new project:
forge init hello_foundry
-
Create a new project, but do not create a git repository:
forge init --no-git hello_foundry
-
Forcibly create a new project in a non-empty directory:
forge init --force