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

# Flow Parity Matrix

> Every step from a repository to production, with the exact page, CLI command or MCP tool on each surface, and the recorded reason where a surface does not have it yet.

Each step from a repository to production, on each surface. A **Gap** says why the surface does not have the step. Gaps marked "by design" stay; the others are meant to close.

The table is generated and checked in the docs build: a command that is no longer on the [CLI reference](https://docs.ankra.ai/reference/cli/index.md) or a tool no longer on the [MCP tool reference](https://docs.ankra.ai/platform/mcp-tools.md) fails it. UI pages are relative to the [new Ankra portal](https://platform.ankra.app/next).

| Step | UI | CLI | MCP |
| - | - | - | - |
| **Connect GitHub** | `/ai/settings/gateway` - Gateway connections, GitHub, Install the GitHub App | **Gap.** Installing a GitHub App is a browser consent. Register a repository once the connection exists. | **Gap.** By design: a credential is never created over MCP, because the secret would be a tool argument. |
| **Register the repository** | `/applications/create` - Find a repository, Connect and prepare | `ankra application add`, `ankra application ship` | `create_application` |
| **Read the setup pull request** | `/applications/[id]` - Ship, Go live | `ankra application add --wait` | `get_application_setup_proposal` |
| **Approve pipeline authority** | `/applications/[id]` - Pipelines, a run, Review authority for approval, Approve for future runs | `ankra pipeline definitions approve` | **Gap.** By design: only a person approves what a pipeline may do. |
| **Watch a run** | `/applications/[id]` - Pipelines | `ankra pipeline get --wait`, `ankra pipeline logs` | `watch_pipeline_run`, `get_pipeline_step_logs` |
| **Read findings** | `/applications/[id]` - Protect | `ankra pipeline findings`, `ankra application container-security` | `get_application_container_security`, `list_security_findings` |
| **AI fix, with approval** | `/applications/[id]` - Protect, Fix with Ankra | `ankra chat`, `ankra chat actions confirm` | **Gap.** No tool starts Ankra AI's fix on a finding. The connected client writes the change itself and opens a pull request with scm\_create\_pull\_request, or hands the work to Ankra AI's board with file\_ticket where the AI experience is on. |
| **Merge** | `/applications/[id]` - Protect, Fixes Ankra opened, Merge; or the Merge when green switch on the GitHub connection | **Gap.** No merge verb; the merge train is the only route and must be enabled. | `scm_merge_pull_request`. Refused unless the GitHub connection is in Agent mode with merge-when-green on; an organisation admin turns that on with enable\_merge\_when\_green. |
| **Deploy with Postgres** | `/applications/[id]/deploy` - Deploy a version | `ankra application ship --set-up-database` | `deploy_application`, `prepare_service_setup`, `confirm_service_setup`. Cannot yet install the Postgres operator on a cluster without one. |
| **Public address** | `/applications/[id]/deploy` - Public access, Public hostname | `ankra application deploy --set` | `deploy_application` |
| **Pull request previews** Open bug on every surface: a preview on Ankra Cloud does not come up. | `/applications/[id]` - Ship, Previews | `ankra application demo config set`, `ankra application demo deploy` | `update_application_demo_config`, `deploy_pr_demo` |
| **AI review** | `/ai/settings/gateway` - Gateway connections, GitHub, repository rules, AI review | `ankra org ai-review repos set`, `ankra application pull-request-reviews` | `list_application_pull_request_reviews`, `update_application_ai_config`. update\_application\_ai\_config turns the pull request lane on or off for one application's repository. |
| **Promote** | `/applications/[id]` - Ship, Promote a version | `ankra application deploy --set`. No promote verb: deploy the tag that passed. | `promote_application` |
| **Roll back** | `/applications/[id]` - Ship, Put back. Put back is offered when a release did not go live; otherwise deploy the previous version. | `ankra application deploy --set`. Deploy the previous tag. | `deploy_application`. Deploy the previous tag. |
| **Connect Slack** | `/ai/settings/gateway` - Gateway connections, Slack, Add to Slack | **Gap.** No install verb; the browser sign-in starts from the portal. | **Gap.** Slack's install is a browser consent, so no tool starts it. |
| **Route alerts** | `/organisation/notification-routes` - Routing rules, Add rule | `ankra alerts destinations create`, `ankra alerts routes create` | `create_alert_destination`, `create_notification_route` |
| **AI sandbox** | `/organisation/ai-workspaces` - Choose the cluster | `ankra org ai-environment set`, `ankra cluster node-group add`. The labelled node group goes on the CI cluster: a new CI cluster needs one first. | `update_ai_environment`, `add_node_group`. add\_node\_group sets the label on kubeadm clusters only. |
| **CI cluster** | `/organisation/pipelines` - CI clusters, Add a cluster | `ankra org ci-settings pool add` | **Gap.** No tool changes the organisation's CI cluster pool. |

To change it, edit `scripts/flow_parity.json`, then run `node scripts/check_flow_parity.mjs --write`.


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