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
│       ├── 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, 10 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