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

# Quickstart

> Create an organization, connect AWS and GitHub, and open your first project.

This guide takes you from a new Gapstack account to a project on the [dashboard](https://app.gapstack.dev/). When you finish, Gapstack can provision AWS resources in your account and deploy artifacts from your GitHub repositories, such as Lambda code.

## Prerequisites

Before you start, you need:

* An email you can use to sign up
* An AWS account where you have **AdministratorAccess** (recommended). Root user access works, but is not recommended.
* A GitHub account that can install the Gapstack GitHub App

<Note>
  Gapstack deploys into **your** AWS account. The CloudFormation stack you create only grants Gapstack permission to provision resources there. You own the infrastructure.
</Note>

<Steps>
  <Step title="Sign up">
    Open [https://app.gapstack.dev/](https://app.gapstack.dev/) and create an account. If you already have one, sign in.
  </Step>

  <Step title="Create your organization">
    After you sign in, Gapstack asks you to create an organization. This is your company or team in the product. The API calls it a tenant.

    1. Enter an **Organization name** you will recognize, such as your company name.
    2. Do not include spaces in the name.
    3. Click **Create organization**.

    If someone already invited you, click **See invitations** instead of creating a new organization.

    <Frame caption="Create your organization. The name cannot include spaces.">
      <img src="https://mintcdn.com/gapstack/yKvLUa6Aiw6qx2wS/images/quickstart-create-organization.png?fit=max&auto=format&n=yKvLUa6Aiw6qx2wS&q=85&s=78ffa3eb2455ae1386a1ca403dde505d" alt="Create your organization screen with an organization name field. The name must not include spaces." style={{ width: "360px", height: "auto" }} width="750" height="1024" data-path="images/quickstart-create-organization.png" />
    </Frame>
  </Step>

  <Step title="Connect your AWS account">
    Next, link the AWS account where Gapstack should provision resources. See [Connect an AWS account](/guides/connect-aws-account) for the full walkthrough.

    1. Click **Connect a new account**.
    2. Enter an **Account name** you will recognize, such as `Dev`.
    3. Click **Open AWS Authorization Page**. Do not change anything on the CloudFormation stack.
    4. Select **I acknowledge that AWS CloudFormation might create IAM resources with custom names.**
    5. Click **Create stack**.
    6. Wait a few minutes, then open [Organization settings](https://app.gapstack.dev/settings/aws-account) and refresh until the status is **Connected**.

    <Info>
      You must have **AdministratorAccess** (recommended) or be the root user (not recommended) to create the stack.
    </Info>
  </Step>

  <Step title="Connect GitHub">
    Connect GitHub so Gapstack can deploy your artifacts, including Lambda code.

    1. Click **Connect to GitHub**.
    2. Authorize the Gapstack GitHub App for the account or organization that owns your repositories.

    <Frame caption="Connect GitHub so you can deploy artifacts such as Lambda code.">
      <img src="https://mintcdn.com/gapstack/yKvLUa6Aiw6qx2wS/images/quickstart-connect-github.png?fit=max&auto=format&n=yKvLUa6Aiw6qx2wS&q=85&s=7ede948b587a9853134c5239fb910d48" alt="Connect to your GitHub account screen with a Connect to GitHub button." style={{ width: "360px", height: "auto" }} width="784" height="1024" data-path="images/quickstart-connect-github.png" />
    </Frame>
  </Step>

  <Step title="Create your first project">
    After AWS and GitHub are connected, Gapstack opens the [dashboard](https://app.gapstack.dev/dashboard). The sidebar lists **Dashboard**, **Projects**, **Environments**, **Resources**, and **Workflows**.

    1. Click **+ Create a New Project** at the top of the sidebar.
    2. Name the project and save it.

    A project only groups environments. It does not create a CloudFormation stack. You add environments under the project. Each environment can target its own AWS account or `us-*` region, and that is when Gapstack provisions resources.

    <Frame caption="Click + Create a New Project on the dashboard.">
      <img src="https://mintcdn.com/gapstack/yKvLUa6Aiw6qx2wS/images/quickstart-dashboard.png?fit=max&auto=format&n=yKvLUa6Aiw6qx2wS&q=85&s=b9a4322b74022dc009c026ce60ba3b5a" alt="Gapstack dashboard with a + Create a New Project button in the sidebar, plus counts for projects, environments, and resources." style={{ width: "640px", height: "auto" }} width="5176" height="2962" data-path="images/quickstart-dashboard.png" />
    </Frame>
  </Step>
</Steps>

<Check>
  You have an organization, a linked AWS account, GitHub connected, and a project on the dashboard.
</Check>

## Next steps

<Card title="Connect an AWS account" icon="cloud" href="/guides/connect-aws-account">
  Create the CloudFormation stack and confirm the account shows as Connected.
</Card>

<Card title="Deploy an artifact to S3" icon="box-archive" href="/guides/deploy-artifacts">
  Add the GitHub Actions steps that upload Lambda artifacts to the environment S3 bucket.
</Card>

<Card title="API overview" icon="terminal" href="/api-reference/introduction">
  Call the same workflow from the API: tenants, projects, environments, and AWS accounts.
</Card>
