> ## Documentation Index
> Fetch the complete documentation index at: https://neo.tvk.company/llms.txt
> Use this file to discover all available pages before exploring further.

# Commands & Options

> Complete reference for the Neo CLI commands and options

The Neo CLI provides powerful commands to streamline your Neo project development. Each command supports both interactive and flag-based usage for maximum flexibility.

## Commands Overview

| Command         | Description                              |
| --------------- | ---------------------------------------- |
| `neo create`    | Create a new Flutter project using Neo   |
| `neo config`    | Configure default values for the Neo CLI |
| `neo help`      | Display help information                 |
| `neo --version` | Print the current version of the Neo CLI |

## neo create

Create a new Flutter project using Neo.

### Usage

<CodeGroup>
  ```bash Interactive mode theme={null}
  neo create
  ```

  ```bash With project name theme={null}
  neo create --name my-app
  ```

  ```bash Full specification theme={null}
  neo create --name my-app --org com.example --template sidebar --platforms ios,android,web
  ```
</CodeGroup>

### Options

<ParamField path="--name, -n" type="string">
  Name of the project to create.
</ParamField>

<ParamField path="--org, -o" type="string">
  Organization identifier in reverse domain notation (e.g., com.example).
</ParamField>

<ParamField path="--platforms, -p" type="string">
  Comma-separated list of platforms to enable (no spaces, e.g., ios,web,macos).
</ParamField>

<ParamField path="--template, -t" type="string">
  Template to use for project creation.
</ParamField>

### What Gets Created

The `create` command performs these steps automatically:

1. **Flutter Project Creation** - Runs `flutter create` with optimized settings
2. **Neo Installation** - Adds and configures the Neo package
3. **Template Setup** - Applies your chosen template structure
4. **Dependencies** - Installs all required packages
5. **Code Generation** - Runs build runners for generated code

<Info>
  To explore available templates and choose the right one for your project, visit the [Templates](/cli/templates/) page.
</Info>

## neo config

Configure default values for the Neo CLI. These values will be used as defaults when creating new projects, but can be overridden per project.

<Note>
  Configuration only needs to be done once. You can re-run `neo config` anytime to update your settings.
</Note>

### Usage

<CodeGroup>
  ```bash Interactive setup theme={null}
  neo config
  ```

  ```bash List current config theme={null}
  neo config --list
  ```

  ```bash Update specific values theme={null}
  neo config --org com.newcompany
  ```
</CodeGroup>

### Options

<ParamField path="--list, -l" type="flag">
  Display all current configuration values.
</ParamField>

<ParamField path="--org, -o" type="string">
  Organization identifier in reverse domain notation (e.g., com.example).
</ParamField>

## neo help

Access comprehensive help information for any command.

### Usage

<CodeGroup>
  ```bash General help theme={null}
  neo help
  ```

  ```bash Command-specific help theme={null}
  neo help create
  neo help config
  ```
</CodeGroup>

## Usage Patterns

### Interactive vs Flag-Based

**Interactive Mode** (recommended for beginners):

* Guides you through each step
* Validates input in real-time
* Uses your configured defaults
* Perfect for learning and occasional use

**Flag-Based Mode** (recommended for advanced users):

* Skip prompts for faster execution
* Override defaults when needed
* Ideal for automation and scripts
* Consistent with CI/CD workflows

### Automation Examples

<CodeGroup>
  ```bash Create multiple projects theme={null}
  #!/bin/bash
  for app in app1 app2 app3; do
    neo create --name $app --org com.mycompany --template simple --platforms ios,android
  done
  ```

  ```bash CI/CD integration theme={null}
  # In your CI pipeline
  neo create --name $PROJECT_NAME --org $ORG_ID --template $TEMPLATE --platforms $PLATFORMS
  ```

  ```bash Quick prototyping theme={null}
  neo create --name prototype --template simple --platforms web
  ```
</CodeGroup>
