> For the complete documentation index, see [llms.txt](/llms.txt).
> A full single-fetch corpus is available at [llms-full.txt](/llms-full.txt).
---
last_verified: 2026-05-13
title: Project Management Commands
category: CLI
description: Create and manage AGNT5 projects with Control Plane integration
---

The `agnt5 project` command family helps you create Control Plane projects, sync local configuration, and explore existing projects. Many operations require an API key because they call the Control Plane directly.


**Commands**: `agnt5 project create [name] [--organization-id <id>]` (alias `agnt5 create`); other `agnt5 project` subcommands manage existing projects
**Languages supported**: `python`, `typescript`
**Required**: API key (`agnt5 auth login` first)
**Side effects**: creates project in Control Plane; for Python projects scaffolds `app.py`, `src/<project>/functions.py`, etc.; writes `.agnt5/project-ref` for subsequent CLI calls


### `agnt5 project create`

<CommandLayout command="project create">
  <div slot="documentation">
    Creates a new project remotely and, for Python projects, scaffolds a ready-to-run repository on disk. The command is also available as a top-level shortcut `agnt5 create`.

    ### Syntax
    ```bash
    agnt5 project create [project-name] [options]
    agnt5 create [project-name] [options]
    ```

    ### Options

    | Flag | Description |
    | --- | --- |
    | `--organization-id` | Force the Control Plane organization to associate with the new project. |

    ### Flow Summary

    1. Prompt (or accept a CLI argument) for the project name
    2. Prompt for a language (`python` or `typescript`)
    3. Resolve the organization ID or prompt to choose
    4. Call the Control Plane to create the project
    5. Generate full project skeleton for Python projects
    6. Write `.agnt5/project-ref` for future CLI commands
    7. Print next steps

    ### Python Project Scaffolding

    For Python projects, the CLI generates:
    - `app.py`, `src/<project>/functions.py`
    - `tests/__init__.py`, `tests/test_functions.py`
    - `pyproject.toml`, `agnt5.yaml`, `Dockerfile`
    - `.gitignore`, `README.md`

    <Callout type="info">
    Non-Python languages currently skip the scaffolding step but still create the remote project and update your local metadata.
    </Callout>
  </div>

  <div slot="examples">
    <Tabs defaultValue="interactive">
      <TabsList>
        <TabsTrigger value="interactive">Interactive create</TabsTrigger>
        <TabsTrigger value="python">Python project</TabsTrigger>
        <TabsTrigger value="withorg">With organization</TabsTrigger>
      </TabsList>

      <TabsContent value="interactive">
        <ExampleBlock title="Command" variant="command">
          ```bash
          agnt5 project create
          ```
        </ExampleBlock>

        <ExampleBlock title="Response" variant="response">
          ```
          ? Project name: my-ai-workflow
          ? Select language:
            ❯ python
              typescript
          ? Python version: 3.12

          ? Select organization:
            ❯ Acme Corp (org-abc123)
              Personal (org-def456)

          Creating project...
          ✓ Project created successfully

          Project Details:
            ID: proj-xyz789
            Name: my-ai-workflow
            Slug: my-ai-workflow
            Reference: acme/my-ai-workflow
            Status: active

          Next steps:
            cd my-ai-workflow
            pip install -r requirements.txt
            agnt5 deploy
          ```
        </ExampleBlock>
      </TabsContent>

      <TabsContent value="python">
        <ExampleBlock title="Command" variant="command">
          ```bash
          agnt5 create python-workflow
          ```
        </ExampleBlock>

        <ExampleBlock title="Response" variant="response">
          ```
          Creating project 'python-workflow'...
          ? Select language: python
          ? Python version: 3.12
          ? Organization: Acme Corp (org-abc123)

          ✓ Project created in Control Plane
          ✓ Generating Python project structure...

          Generated files:
            ✓ app.py
            ✓ src/python_workflow/__init__.py
            ✓ src/python_workflow/functions.py
            ✓ tests/test_functions.py
            ✓ pyproject.toml
            ✓ agnt5.yaml
            ✓ Dockerfile
            ✓ .gitignore
            ✓ README.md

          ✓ .agnt5/project-ref created

          Project ready! Next steps:
            cd python-workflow
            pip install -e .
            agnt5 deploy
          ```
        </ExampleBlock>
      </TabsContent>

      <TabsContent value="withorg">
        <ExampleBlock title="Command" variant="command">
          ```bash
          agnt5 create my-project --organization-id org-abc123
          ```
        </ExampleBlock>

        <ExampleBlock title="Response" variant="response">
          ```
          Creating project 'my-project'...
          Using organization: org-abc123

          ? Select language:
            ❯ python
              typescript

          ✓ Project created successfully

          Project Details:
            ID: proj-123456
            Organization: org-abc123
            Reference: acme/my-project

          Project directory created with Python scaffolding.
          ```
        </ExampleBlock>
      </TabsContent>
    </Tabs>
  </div>
</CommandLayout>

### `agnt5 project list`

<CommandLayout command="project list">
  <div slot="documentation">
    Lists projects visible to your API key in a simple table. Pagination, search, and ordering options are available.

    ### Syntax
    ```bash
    agnt5 project list [options]
    ```

    ### Options

    | Flag | Description |
    | --- | --- |
    | `--page`, `-p` | Page number to request (default: `1`) |
    | `--page-size` | Number of projects per page (default: `20`) |
    | `--search`, `-s` | Filter by name, ref, or slug |
    | `--language`, `-l` | Filter by language (e.g., `python`) |
    | `--status` | Filter by status returned from the Control Plane |
    | `--order-by` | Sort column: `created`, `updated`, `name` (default: `updated`) |
    | `--order-dir` | Sort direction: `asc` or `desc` (default: `desc`) |

    The output includes truncated IDs, names, references, languages (with versions when available), statuses, and creation dates. Pagination metadata at the bottom shows how many results are displayed relative to the total.
  </div>

  <div slot="examples">
    <Tabs defaultValue="basic">
      <TabsList>
        <TabsTrigger value="basic">Basic list</TabsTrigger>
        <TabsTrigger value="search">Search & filter</TabsTrigger>
        <TabsTrigger value="pagination">Pagination</TabsTrigger>
      </TabsList>

      <TabsContent value="basic">
        <ExampleBlock title="Command" variant="command">
          ```bash
          agnt5 project list
          ```
        </ExampleBlock>

        <ExampleBlock title="Response" variant="response">
          ```
          Projects (showing 3 of 3 total):

          ID        | Name             | Reference           | Language | Status  | Updated
          ----------|------------------|---------------------|----------|---------|----------
          proj-abc  | my-ai-workflow   | acme/my-ai-workflow | python   | active  | 2 days ago
          proj-def  | data-processor   | acme/data-processor | python   | active  | 1 week ago
          proj-ghi  | api-service      | acme/api-service    | node     | paused  | 2 weeks ago

          Page 1 of 1 (3 projects total)
          ```
        </ExampleBlock>
      </TabsContent>

      <TabsContent value="search">
        <ExampleBlock title="Command" variant="command">
          ```bash
          agnt5 project list --search "workflow" --language python
          ```
        </ExampleBlock>

        <ExampleBlock title="Response" variant="response">
          ```
          Projects matching 'workflow' (language: python):

          ID        | Name             | Reference           | Language | Status  | Updated
          ----------|------------------|---------------------|----------|---------|----------
          proj-abc  | my-ai-workflow   | acme/my-ai-workflow | python   | active  | 2 days ago
          proj-xyz  | batch-workflow   | acme/batch-workflow | python   | active  | 5 days ago

          Page 1 of 1 (2 projects found, 2 total)
          ```
        </ExampleBlock>
      </TabsContent>

      <TabsContent value="pagination">
        <ExampleBlock title="Command" variant="command">
          ```bash
          agnt5 project list --page 2 --page-size 10 --order-by created --order-dir asc
          ```
        </ExampleBlock>

        <ExampleBlock title="Response" variant="response">
          ```
          Projects (page 2, ordered by created date):

          ID        | Name             | Reference           | Language | Status  | Created
          ----------|------------------|---------------------|----------|---------|----------
          proj-klm  | analytics-api    | acme/analytics-api  | python   | active  | Jan 15
          proj-nop  | webhook-handler  | acme/webhook-handler| node     | active  | Jan 18
          proj-qrs  | ml-pipeline      | acme/ml-pipeline    | python   | active  | Jan 20

          Page 2 of 5 (30 projects total, showing 11-20)
          ```
        </ExampleBlock>
      </TabsContent>
    </Tabs>
  </div>
</CommandLayout>

### `agnt5 project info`

<CommandLayout command="project info">
  <div slot="documentation">
    <Callout type="warning">
    **Work in Progress**

    Placeholder command that will eventually print detailed metadata about the current project or a provided ID. For now it simply acknowledges the request. Use `agnt5 project list` to locate IDs until the implementation is complete.
    </Callout>

    ### Syntax
    ```bash
    agnt5 project info [project-id]
    ```

    This command will eventually provide comprehensive project details including configuration, deployment status, environment variables, and resource usage metrics.
  </div>

  <div slot="examples">
    <Tabs defaultValue="current">
      <TabsList>
        <TabsTrigger value="current">Current project</TabsTrigger>
        <TabsTrigger value="specific">Specific project</TabsTrigger>
      </TabsList>

      <TabsContent value="current">
        <ExampleBlock title="Command" variant="command">
          ```bash
          agnt5 project info
          ```
        </ExampleBlock>

        <ExampleBlock title="Response" variant="response">
          ```
          Command acknowledged but not yet implemented.
          Use 'agnt5 project list' to view available projects.
          ```
        </ExampleBlock>
      </TabsContent>

      <TabsContent value="specific">
        <ExampleBlock title="Command" variant="command">
          ```bash
          agnt5 project info proj-123
          ```
        </ExampleBlock>

        <ExampleBlock title="Response" variant="response">
          ```
          Command acknowledged but not yet implemented.
          Use 'agnt5 project list' to view available projects.
          ```
        </ExampleBlock>
      </TabsContent>
    </Tabs>
  </div>
</CommandLayout>

### `agnt5 project init`

<CommandLayout command="project init">
  <div slot="documentation">
    <Callout type="warning">
    **Work in Progress**

    Reserved for initializing an existing directory as an AGNT5 project. The command currently prints a stub message.
    </Callout>

    ### Syntax
    ```bash
    agnt5 project init
    ```

    This command will eventually initialize an existing directory as an AGNT5 project by creating the necessary configuration files and project metadata.
  </div>

  <div slot="examples">
    <ExampleBlock title="Command" variant="command">
      ```bash
      agnt5 project init
      ```
    </ExampleBlock>

    <ExampleBlock title="Response" variant="response">
      ```
      Command acknowledged but not yet implemented.
      Use 'agnt5 project create' to create new projects.
      ```
    </ExampleBlock>
  </div>
</CommandLayout>

## Local Project Metadata

Most project-aware commands rely on two files created during `project create`:

| File | Purpose |
| --- | --- |
| `.agnt5/project-ref` | Binds the working directory to a Control Plane project reference |
| `agnt5.yaml` | Holds language, environment, deploy, and variable configuration for the deployment pipeline |

<Callout type="tip">
If you clone an existing project make sure both files are present (or run `SaveProjectRef` / `SaveDeploymentProjectConfig` helper functions) before using `agnt5 deploy`.
</Callout>

### Project Reference File

The `.agnt5/project-ref` file contains the Control Plane project reference that links your local directory to the remote project. This file is automatically created during `agnt5 project create` and is required for deployment commands.

### Deployment Configuration

The `agnt5.yaml` file contains project-specific configuration used by the deployment pipeline:

```yaml
# Example agnt5.yaml structure
language: python
version: "3.12"
environment:
  development:
    # Development-specific config
  production:
    # Production-specific config
deploy:
  # Deployment configuration
variables:
  # Environment variables
```
