---
layout: commands
page_title: 'Commands: Init'
sidebar_title: 'init'
description: 'Initialize and validate a project'
---

# Waypoint Init

Command: `waypoint init`

Initialize and validate a project

@include "commands/init_desc.mdx"

## Usage

Usage: `waypoint init [options]`

Initialize and validate a project.

This is the first command that should be run for any new or existing
Waypoint project per machine. This sets up the project if required and
also validates that operations such as "up" will most likely work.

This command is always safe to run multiple times. This command will never
delete your configuration or any data in the server.

#### Global Options

- `-plain` - Plain output: no colors, no animation. The default is false.
- `-app=<string>` (`-a`) - App to target. Certain commands require a single app target for Waypoint configurations with multiple apps. If you have a single app, then this can be ignored.
- `-project=<string>` (`-p`) - Project to target.
- `-workspace=<string>` (`-w`) - Workspace to operate in.

#### Command Options

- `-from-project=<string>` - Create a new application by fetching the given application from a remote source or from a local project folder or file on disk.
- `-into=<string>` - Where to write the application fetched via -from-project.
- `-update` - Update the project configuration if it already exists. This can be used to update settings such as the remote runner data source. The default is false.

@include "commands/init_more.mdx"
