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

# outerbounds flowproject

export const GCell = ({children, className}) => <div className={`grid-table-cell ${className || ""}`} role="cell">
    {children}
  </div>;

export const GTH = ({children, className}) => <div className={`grid-table-th ${className || ""}`} role="columnheader">
    {children}
  </div>;

export const GRow = ({children}) => <div className="grid-table-row" role="row">{children}</div>;

export const GBody = ({children}) => <div className="grid-table-body" role="rowgroup">{children}</div>;

export const GHead = ({children}) => <div className="grid-table-head" role="rowgroup">{children}</div>;

export const GTable = ({children, className, cols}) => <div className={`grid-table not-prose overflow-hidden rounded-2xl ${className || ""}`} style={{
  "--grid-table-cols": cols
}} role="table">
    {children}
  </div>;

The `outerbounds flowproject` subcommands manage deployed project resources: workflow templates, assets, apps, and metadata. These are the same primitives that [`obproject-deploy`](/docs/platform/guides/deploy/cicd-integration) creates during CI/CD.

<Note>
  These commands require a configured Metaflow profile with access to the platform API. They read credentials from your `~/.metaflowconfig` directory.
</Note>

All `outerbounds flowproject` subcommands accept:

<GTable cols="25% 27% 48%">
  <GHead>
    <GRow>
      <GTH>Option</GTH>
      <GTH>Default</GTH>
      <GTH>Description</GTH>
    </GRow>
  </GHead>

  <GBody>
    <GRow>
      <GCell>`-d`, `--config-dir`</GCell>
      <GCell>`~/.metaflowconfig`</GCell>
      <GCell>Path to Metaflow configuration directory</GCell>
    </GRow>

    <GRow>
      <GCell>`-p`, `--profile`</GCell>
      <GCell>`$METAFLOW_PROFILE`</GCell>
      <GCell>Named Metaflow profile to use</GCell>
    </GRow>
  </GBody>
</GTable>

Several commands require `--id` in the format `project/branch`:

```bash theme={null}
outerbounds flowproject list-templates --id my_project/main
outerbounds flowproject teardown-branch --id my_project/feature-v2
```

Branch names are normalized to match how `obproject-deploy` stores them: `-` and `/` characters are replaced with `_`, and the result is lowercased. So `--id my_project/feature-v2` resolves to branch `feature_v2`.

## Subcommands

* [.get-metadata](/docs/platform/guides/projects/utilities-api/cli/flowproject/get-metadata): View the metadata record for a project branch.
* [.set-metadata](/docs/platform/guides/projects/utilities-api/cli/flowproject/set-metadata): Register metadata describing deployed resources after deploying through your own tooling.
* [.list-templates](/docs/platform/guides/projects/utilities-api/cli/flowproject/list-templates): List workflow templates deployed for a project branch.
* [.delete-metadata](/docs/platform/guides/projects/utilities-api/cli/flowproject/delete-metadata): Delete only the metadata record for a branch.
* [.teardown-branch](/docs/platform/guides/projects/utilities-api/cli/flowproject/teardown-branch): Delete all deployed resources for a branch: templates, assets, apps, and metadata.
