Hosted repositories

Keep code that isn't on GitHub in a repository V12 hosts, put your code in with Git or a ZIP, and review it.

A hosted repository is a Git repository that V12 keeps for you. Use one when your code isn't on GitHub: create it, push your project or upload it as a ZIP, then review it with runs like any other repository.

Only an Admin can create a hosted repository and put code in it. Members can open hosted repositories and start runs on them. Where these screens say "organization owner", they mean an Admin. See Roles.

Create a hosted repository

Open Settings → Repositories. In Hosted by V12, click New repository.

Enter a Name: lowercase letters, numbers, dots, underscores and hyphens, starting and ending with a letter or number, up to 100 characters. Each hosted repository in a workspace needs its own name.

Choose Push with Git if your project uses Git, which keeps its history, or Upload ZIP for code without Git. For a ZIP, drop the file or click choose a file.

Click Create repository, or Create and import for a ZIP.

The repository's page opens. For a ZIP, it opens once the files are imported; if that takes more than 10 minutes, V12 says "Still importing name. It appears here when it finishes."

You can't rename or remove a hosted repository.

Push with Git

A new repository's page starts with Push with Git, which gives you two things to copy:

  • Git command: git push <push URL> HEAD:main. Run it in your project's folder to push the branch you're on to the repository's main branch.
  • Prompt for a coding agent: paste it into Claude Code or another coding agent working in your project. The agent sets up Git if needed, asks before committing your changes, pushes, and tells you the commit it pushed.

If your project doesn't use Git yet, commit it first, then run the Git command:

git init
git add -A
git commit -m "First commit"

The page watches for the push for 10 minutes and updates by itself when it arrives; after that, reload it. V12 then imports the history.

A push URL:

  • works for one hour;
  • pushes to one branch only, and refuses a force push;
  • contains a credential, so don't share it or save it as a remote.

Upload a ZIP

Upload ZIP imports the files in a .zip as the repository's first commit, on main.

  • The file can be up to 100 MB, and can unpack to at most 1 GB and 100,000 files.
  • If everything sits in one folder, that folder's contents become the top of the repository.
  • V12 imports regular files only. It skips symbolic links, .git folders and macOS metadata (__MACOSX and ._ files).

Update the code

  • Push again. Push on the repository's row in Settings → Repositories shows a new Git command and prompt for main. On the repository's page, Push with Git has Create push URL.
  • Commit a file, on the repository's page, commits without Git: a .zip replaces every file on the branch, and a .patch or .diff is applied on top. Files can be up to 8 MB. Drop the file, adjust the commit message, and click Commit.

To create a hosted repository and push from a script or an AI assistant, or to push another branch, see Push code to a hosted repository.

Review it

Once the first push is in, start runs on the repository as on any other; see Start a run. Until then, its page says "Runs open after the first push."

Runs on a hosted repository review The code: a branch or a commit. Reviewing A change and Autopilot need a GitHub repository.

Status

In Settings → Repositories, a hosted repository's Status reads:

StatusMeaning
Setting up…V12 is preparing the repository.
Waiting for pushIt has no code yet.
Importing history…V12 is reading what you pushed or uploaded.
ReadyIts history is imported.
Setup failed, Import failedAn Admin clicks Retry on its row.

On this page