fauna project init

Initialize a project directory by creating a .fauna-project file.

Syntax

fauna project init [<PROJECT_DIR>]

Description

fauna project init initializes a project directory by creating a .fauna-project file.

fauna project init

Interactive prompts

The fauna project init command requires input to interactive prompts.

When running fauna project init, you’ll be prompted for:

  • Schema directory

    • Location to store your .fsl schema files

    • Default: Current director

    • Example: schema or db/schema

  • Default environment

    • Default environment for the project

    • Example: dev, qa, or prod

    • Defined in .fauna-project

  • Default endpoint

    • Default Fauna endpoint for the environment

    • Example: fauna-us or fauna-eu

    • Defined in .fauna-shell

  • Default database

    • Default database for the environment

    • Example: myapp/dev or myproject_development

Project directory

A project directory includes:

<APP>/              // Directory containing app source code (optional)
├── .fauna-project  // INI-format file containing Fauna CLI defaults for the project
├── schema/         // Directory containing Fauna .fsl schema files
│   └── *.fsl
...
  • A .fauna-project file that stores a default configuration for the project in Fauna CLI

  • .fsl files for the project’s database(s), typically stored in a subdirectory

  • (Optional) The application’s source code

For more about the .fauna-project file, see Project configuration.

.fauna-project file

.fauna-project is an INI-format file that stores a default Fauna CLI configuration for a project directory.

The Fauna CLI uses these defaults when you run commands in the directory. If you run commands in a subdirectory, the CLI searches parent directories for the nearest .fauna-project file.

Example:

schema_directory=schema
default=dev

[environment.dev]
endpoint=fauna-us
database=accounts/dev

[environment.qa]
endpoint=fauna-us
database=accounts/qa

[environment.prod]
endpoint=fauna-us
database=accounts/prod

Several Fauna CLI commands, such as fauna eval, let you easily switch environments using the --environment option:

fauna eval "Product.all()" --environment='prod'

For more information about environments, see environments.

The .fauna-project` file is typically committed to version control.

Set up a project

You can use fauna project init to set up a project directory and FSL files for an application. See Set up a project using FSL and the Fauna CLI.

Arguments

Argument Description

<PROJECT_DIR>

The directory to initialize as a Fauna project. Defaults to the current directory.

If the directory doesn’t exist, the command creates it.

Options

Option Description

--help

Help for project init command.

Examples

Basic example

fauna project init

When prompted, provide:

  • A schema directory used to store .fsl files. If the directory doesn’t exist, the command creates it. Press Enter to use the current directory.

  • A default environment name. See environments.

  • A default endpoint to use for Fauna CLI commands.

  • A default database for Fauna CLI commands.

Specify a project directory

To specify a project directory to create the .fauna-project file in:

fauna project init path/to/some/other/dir

Is this article helpful? 

Tell Fauna how the article can be improved:
Visit Fauna's forums or email docs@fauna.com

Thank you for your feedback!