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

# Entire Repositories

> Host repositories on Entire's Git network and push and pull from a region close to you.

## What Is an Entire Repository?

An Entire repository lives on Entire's Git network with no GitHub origin, so you can push and pull through a region close to where you work: the US, the EU, India, or Australia. When you [mirror a repository](/guides/repositories/mirrors) instead, GitHub stays the origin and Entire serves clones and pulls.

<Note>
  On mirroring, Entire serves reads but still sends pushes back to GitHub. Those pushes depend on GitHub's speed and availability. With an Entire repository, both reads and writes stay on Entire.
</Note>

## How Are Entire Repositories Helpful?

Entire repositories help you:

* Keep working when GitHub is down. Since your code lives on Entire, your agents can clone, pull, and push without GitHub.
* Have faster read access for your agents. Since agents pull and push a lot more than humans, Entire repositories make the development lifecycle faster by being geographically close to you and your agents.
* Work from a single remote. You can push to and pull from the same Entire remote. If you use a regional mirror, Entire forwards your pushes to the primary region.

## Create an Entire Repository

You can create an Entire repository both from the CLI, on entire.io, or by asking your coding agent to do it.

<Tabs>
  <Tab title="CLI">
    Before you start, [install the Entire CLI](/installation) and log in with `entire login`.

    ### 1. Create a Project

    A project holds your repositories. Choose an available project name and specify its owner. This example uses `readme`; replace it with your project name throughout the commands and replace `nodo` with your organization's name:

    ```bash theme={null}
    entire project create readme --owner nodo
    ```

    Example output:

    ```text theme={null}
    ✓ Created project readme (01M31ZJJJ1SGSFQNK3VQKZFJNG)
    ```

    If you already have a project, use its name in the next step. See the [project command reference](/cli-reference/project) for other ownership options.

    ### 2. Create a Repository

    Create a repository named `documentation` in your project:

    ```bash theme={null}
    entire repo create documentation --project readme
    ```

    Example output:

    ```text theme={null}
    ✓ Waiting for repository documentation to become active
    ✓ Created repository documentation (01M31ZQKMDEPMSG40Y4M9J0SG3)
      Last observed state: active
      Remote: entire://aws-us-east-2.entire.io/et/readme/documentation
    ```

    By default, Entire creates the repository in the project's region. In this example, the primary region is `aws-us-east-2`.

    ### 3. Check the Repository's Regions

    Inspect the repository to see its regions, clone URLs, and status:

    ```bash theme={null}
    entire repo mirror get et/readme/documentation
    ```

    Example output:

    ```text theme={null}
    Name:
      /et/readme/documentation
    Visibility:
      Private

    CLUSTER        ROLE     CLONE URL                                                   STATUS
    aws-us-east-2  primary  entire://aws-us-east-2.entire.io/et/readme/documentation      active
    ```

    At this point, the repository is available in one region, marked `primary`. You can clone, pull, and push without adding a mirror.

    ### 4. Add a Mirror in Another Region (Optional)

    To add a mirror, select a region close to you or your agents. For this example, select `eu-central`:

    ```bash theme={null}
    entire repo mirror add et/readme/documentation
    ```

    Example output:

    ```text theme={null}
    readme/documentation @ aws-eu-central-1.entire.io  ✓ ready

    REPO                   REGION                 STATUS  CLONE URL
    /et/readme/documentation  aws-eu-central-1 (eu)  ready  entire://aws-eu-central-1.entire.io/et/readme/documentation

    Clone them:
      git clone entire://aws-eu-central-1.entire.io/et/readme/documentation
    ```

    The repository now spans two regions: a primary in `aws-us-east-2` and a mirror in `aws-eu-central-1`.
  </Tab>

  <Tab title="entire.io">
    To create an Entire repository from entire.io, follow these steps:

    1. Open [entire.io](https://entire.io) and sign in.
    2. Open an [existing project or create a new project](/guides/configuration/projects) and choose its primary region.
    3. Create a repository within the project and give it a name.
    4. Once the repository is ready, Entire opens its page. Use the CLI command to clone it, or copy the prompt and give it to your coding agent.

    <iframe className="w-full aspect-video rounded-xl" src="https://customer-0x5hsk8lh27fm00g.cloudflarestream.com/9b73ec794491e34480a5599e8204599f/iframe" title="Create an Entire Repository on entire.io" loading="lazy" frameBorder="0" allow="accelerometer; gyroscope; autoplay; encrypted-media; picture-in-picture" allowFullScreen />
  </Tab>

  <Tab title="Agent Prompt">
    Paste this prompt into Claude, Codex, or another coding agent with terminal access:

    ```text theme={null}
    Create a new Entire repository for me using the Entire CLI.

    Ask me for the repository name and which Entire project to use. If I
    need a new project, ask for its name and owner.

    Check that the Entire CLI is installed and that I'm logged in. If either
    step is incomplete, help me finish it before continuing. Read
    `entire agent-help` and the relevant command help to confirm the commands
    and flags supported by my installed CLI.

    Create the project if needed, then create the repository in that project.
    Wait until the repository is ready, then show me its status and remote
    URL. Give me the Git command to clone it.
    ```
  </Tab>
</Tabs>
