# Private Repository

Set up your own private GitHub repository so your code pushes there while you can still pull updates from the official ARI repo.

## Overview

ARI puts you in control. The full source code is available, giving you complete freedom and autonomy. You can store it in your own private GitHub repository, customize it to your needs, and build with confidence.

Set up your own private GitHub repository. Your code pushes here, while you can still pull updates from the official ARI repo. This is free — private repositories on GitHub are available on any account.

Follow these three steps to set up your private repository.

## 1. Authenticate with GitHub

If you haven't already, log in to GitHub via the CLI:

```
gh auth login
```

This uses the [GitHub CLI](https://cli.github.com/) (`gh`). Follow the prompts to complete authentication.

## 2. Create Your Private Repository

From your ARI project folder, run:

```
gh repo create my-ari --private --source=. --remote=origin --push
```

Replace `my-ari` with whatever you'd like to name your repo.

This single command creates a new private repository on GitHub, sets it as your `origin` remote, and pushes your current ARI project to it.

## 3. Verify Your Setup

Check that both remotes are configured:

```
git remote -v
```

You should see both remotes:

```
origin    https://github.com/you/my-ari.git (fetch)
origin    https://github.com/you/my-ari.git (push)
upstream  https://github.com/ARIsoftware/ARI.git (fetch)
upstream  https://github.com/ARIsoftware/ARI.git (push)
```

- **origin** = your private repo (your changes go here)
- **upstream** = official ARI repo (pull updates from here with `/ari-update`)

## Enable GitHub Sync (Optional)

Enabling GitHub Sync is **optional**. When you install new modules from the Module Library, ARI can automatically commit them to your repo so they persist across rebuilds. To enable this, create a Personal Access Token and paste it into the wizard.

### How to Create the Token

1. Go to [github.com/settings/tokens](https://github.com/settings/tokens) and click **Generate new token**
2. Set **Token name** to something like `ARI Module Sync`
3. Set **Expiration** to your preference (or no expiration)
4. Under **Repository access**, select **Only select repositories** and choose your ARI repo
5. Click **Repository permissions**, find **Contents**, and set it to **Read and write**
6. Click **Generate token** and copy it

### Paste the Token into ARI

In the ARI Settings \> GIT tab, fill in the three fields:

| Field | Value |
| --- | --- |
| Personal Access Token | `github_pat_xxxxxxxxxxxxx` (the token you just copied) |
| Repository Owner | `your-github-username` |
| Repository Name | `my-ari` (or whatever you named your private repo) |

Once saved, ARI will automatically commit and push module installs to your private repo so they persist across rebuilds.

## Next Steps

- [Backup & Restore](https://ari.software/docs/backup) — Export and import your ARI data
- [Updating ARI](https://ari.software/docs/updating) — Move to the latest release
- [Security](https://ari.software/docs/security) — Harden your instance

## Your Personal Workspace. Your Rules.

Source Code Available. Self-Hosted. Full Data Control. Fully Extendable. AI Native. Dozens of Built-In Modules And Build Your Own In Minutes. No Coding Required.

[Get Started](https://ari.software/docs/installation)

---

Source: https://ari.software/docs/git

Markdown rendering of this page, served for `Accept: text/markdown`. Full site index for agents: https://ari.software/llms.txt

