Skip to content

Repositories โ€‹

A repository in Qorin is "a folder on a host that one or more workspaces operate on". It can be a git repo or any other folder; the distinction is detected automatically.

The 3-tile model โ€‹

The "New workspace" modal asks how you want to get to the folder:

๐Ÿ“ Open project โ€‹

Use an existing folder on the host. Browse with the folder picker (starts at $HOME), pick the directory, spawn. If the folder is a git repo, Qorin reads git rev-parse --abbrev-ref HEAD for the default branch and offers it; otherwise spawn is "non-git" mode (branch picker hidden).

This is the most common path. Available on every plan.

๐ŸŒ Clone from Git (Pro+) โ€‹

Have the agent git clone a remote repo into an empty folder of your choice. For private repos you can paste a Personal Access Token; it stays in-memory only โ€” never persisted to Qorin's DB, never logged. After the clone the PAT is wiped from agent memory.

Remote URL:  https://github.com/org/repo.git
PAT:         ghp_xxxxxxxxxxxx   (optional, private repos)
Target:      /Users/you/dev/repo

โœจ New project โ€‹

mkdir an empty folder under a parent of your choice, then spawn. Great for greenfield work โ€” the CLI then git inits and starts from scratch.

Collision detection โ€‹

The modal checks "is there a live workspace already on this folder on this host?" before spawning:

  • Git folders: shows a heads-up but allows spawn. Worktree isolation means branches don't fight.
  • Non-git folders: hard refuses. Parallel agents on the same flat folder would clobber each other.

Auto-cleanup โ€‹

Repository rows in Qorin's DB are auto-deleted when no live workspace points at them. We keep path + isGit denormalised on the workspace itself, so the "Recent projects" list still works without the repo row (you can re-open the path with one click).

See also โ€‹

Qorin is built by Benito Borriello.