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

# Configure

The `agent configure` command sets up a Novita Agent Runtime project. It analyzes your project directory, collects agent metadata, and generates the configuration and build files needed to deploy your agent. Run it from your project root.

## Usage

```bash CLI icon="terminal" theme={"system"}
novita agent configure [options]
```

By default it runs interactively, auto-detecting sensible defaults from your project (agent name, entry point, dependency file) and prompting you to confirm or adjust them.

```bash CLI icon="terminal" theme={"system"}
# Interactive configuration using auto-detected defaults
novita agent configure

# Non-interactive with explicit values
novita agent configure \
  --name my-agent \
  --entrypoint app.py \
  --author me@example.com \
  --no-interactive
```

## Options

| Option | Description |
| - | - |
| `-n, --name <name>` | Agent name. Default: auto-detected from the project. |
| `-e, --entrypoint <file>` | Entry point file. Default: auto-detected, or `app.py`. |
| `--agent-version <version>` | Agent version. Default: `1.0.0`. |
| `-a, --author <email>` | Author email. Default: from environment or interactive prompt. |
| `-rf, --requirements-file <file>` | Dependency file path (`requirements.txt`, `pyproject.toml`, etc.). |
| `--no-interactive` | Skip interactive prompts and use only defaults / provided options. |
| `--force` | Force overwrite of an existing configuration. |
| `--verbose` | Verbose output. |

## What it generates

On success, the command writes three files into your project and prints their paths:

* The agent **configuration file** — a Kubernetes-style manifest describing the agent.
* A **Dockerfile** — used to build the agent runtime image.
* A **.dockerignore** — controls which files are excluded from the build context.

```text Output icon="code" theme={"system"}
Configuration completed successfully!
Configuration file: <project>/agent.yaml
Dockerfile: <project>/Dockerfile
Docker ignore: <project>/.dockerignore
```

## Configuration structure

The generated configuration uses a Kubernetes-style manifest. The key fields are:

| Field | Description |
| - | - |
| `apiVersion` / `kind` | Manifest identifiers, fixed as `v1` and `Agent`. |
| `metadata.name` | Agent name (lowercase letters, numbers, and hyphens). Used as the base for the generated template name. |
| `metadata.version` | Agent version. |
| `metadata.author` | Author email (required). |
| `metadata.description` | Optional agent description. |
| `spec.entrypoint` | Python entry file, e.g. `agent.py` (must be a `.py` file). |
| `spec.envVars` | Optional environment variables for the agent runtime. |
| `spec.runtime.timeout` | Startup timeout in seconds (1–3600). |
| `spec.runtime.memory_limit` | Memory limit, e.g. `512Mi` or `1Gi`. |
| `spec.runtime.cpu_limit` | CPU limit, e.g. `1` or `1000m`. |

> [!NOTE]
>
> The `status` section of the manifest (deployment phase, agent ID, build ID, last deployed time) is maintained by the system during deployment. Do not edit it manually.

## Overwriting an existing configuration

If a configuration file already exists, the behavior depends on the flags:

* With `--force`, the existing configuration is overwritten without prompting.
* In interactive mode, you are prompted to type `Y` to confirm the overwrite; any other input cancels the operation.
* With `--no-interactive` (and no `--force`), the configuration is automatically overwritten.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.