> ## Documentation Index
> Fetch the complete documentation index at: https://ravion-b90c0359-devin-1787260547-context7-ownership.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Start here

> Install the Ravion agent skill and let your coding agent install the CLI, connect your AWS account, and deploy your project to your own AWS account.

Ravion runs infrastructure in your own AWS account, and your coding agent drives it. Setup is two commands: teach the agent, then ask.

<Steps>
  <Step title="Install the Ravion agent skill">
    ```bash theme={null}
    npx skills add ravionhq/skills
    ```

    This works with Claude Code, Cursor, Codex, and every other agent that supports [Agent Skills](https://agentskills.io). See [Ravion agent skill](/agent-skill) for the plugin and URL options.
  </Step>

  <Step title="Ask your agent">
    ```
    Deploy this project to AWS with Ravion.
    ```

    The agent installs the CLI, signs you in, connects your AWS account, writes the project config, applies it, and sets up a build and deploy pipeline.
  </Step>
</Steps>

## What the agent needs from you

The agent handles the terminal work. Three things need you, because only you can do them:

* **Approve the sign-in.** `ravion login` prints a URL and a short code for you to confirm in the browser. No account yet? [Sign up](https://app.ravion.com/signup) first — Ravion is free for individuals, and teams start with a free trial.
* **Confirm the AWS account.** The agent runs `aws sts get-caller-identity` and asks whether that is the account Ravion should manage. It then connects it by deploying Ravion's CloudFormation stack, which creates a cross-account IAM role. Without AWS CLI credentials, connect it in [AWS accounts](https://app.ravion.com/org/settings/aws-accounts?connect=%7B%7D) instead.
* **Connect your Git repository.** `ravion git connect` prints a URL that needs your Git permissions. Skip it if Ravion only deploys images from a registry.

The agent also asks for the decisions it should not guess, such as region, instance sizes, and domains, and it pauses for your approval before any change that modifies, replaces, or removes existing infrastructure.

## Working without the skill

Agents that fetch URLs but do not support skills read the hosted copy:

```
Deploy this project with Ravion: https://www.ravion.com/SKILL.md
```

To search the docs from the agent's context window, add the [Ravion Docs MCP server](/mcp/overview) — the skill installs it on its own, so this is only for doing it up front:

```bash theme={null}
npx add-mcp https://www.ravion.com/docs/mcp --name ravion-docs
```

<Accordion title="Set up the CLI yourself">
  Nothing here is required when an agent does the setup for you.

  Install the CLI with Homebrew on macOS:

  ```bash theme={null}
  brew install ravionhq/tap/ravion
  ```

  Or with the install script:

  ```bash theme={null}
  curl -fsSL https://github.com/ravionhq/cli/releases/latest/download/install.sh | sh
  ```

  Sign in, then select your active organization if you belong to more than one:

  ```bash theme={null}
  ravion login
  ravion switch
  ```

  See [Install the Ravion CLI](/cli/installation) and [Authentication](/cli/authentication).
</Accordion>

<Accordion title="Connect AWS from the AWS CLI yourself">
  Confirm which account your credentials belong to:

  ```bash theme={null}
  aws sts get-caller-identity
  ```

  Create the Ravion AWS account record and get the CloudFormation template for it:

  ```bash theme={null}
  ravion aws account create --given-id my-account --name "My account" --json
  ravion aws account cloudformation-template-url <aws-account-id> --json
  ```

  Deploy the template in `us-east-1`, where the template's authenticator runs. The role it creates lets Ravion provision in any region:

  ```bash theme={null}
  aws cloudformation create-stack \
    --region us-east-1 \
    --stack-name ravion-<aws-account-id> \
    --template-url "<templateUrl>" \
    --capabilities CAPABILITY_NAMED_IAM

  aws cloudformation wait stack-create-complete \
    --region us-east-1 \
    --stack-name ravion-<aws-account-id>
  ```

  The template carries your account id and a single-use token, so pass no `--parameters` and keep the URL private. `CAPABILITY_NAMED_IAM` is required because the stack creates a named role and named managed policies.

  Confirm the connection:

  ```bash theme={null}
  ravion aws account get <aws-account-id> --json
  ```

  The `status` field reads `CONNECTED` once the stack finishes. When Ravion later ships new permissions, review them with `ravion aws account policy-diff <aws-account-id>`, then apply them with `aws cloudformation update-stack` and a freshly fetched template URL.
</Accordion>

## Useful references

<CardGroup cols={2}>
  <Card title="Ravion agent skill" icon="sparkles" href="/agent-skill">
    Install the skill that teaches agents how to use Ravion.
  </Card>

  <Card title="Project config file" icon="file-code" href="/config-as-code/project-config-file">
    Define environments and module instances from one file.
  </Card>

  <Card title="Pipeline config file" icon="arrow-progress" href="/config-as-code/pipeline-config-file">
    Define build, deploy, trigger, and approval workflows.
  </Card>

  <Card title="Module catalog" icon="boxes-stacked" href="/module-definitions/catalog">
    Understand module definitions, versions, inputs, and config.
  </Card>

  <Card title="CLI reference" icon="terminal" href="/cli/overview">
    Browse every Ravion CLI command.
  </Card>

  <Card title="Report bugs and feedback" icon="bug" href="/report-bugs-and-feedback">
    File bugs and feedback from the terminal, including from agent sessions.
  </Card>
</CardGroup>
