Projects
A project in Codality maps to a git repository on your server.
Creating a project
Open the Projects page and click New Project. There are three creation modes:
Existing folder
Point Codality at a git repository already on your server. Enter the absolute path. Codality validates that:
- The path exists
- It contains a
.gitdirectory - It's readable and writable
If the directory exists but isn't a git repo, Codality offers to run git init.
Clone from GitHub
Clone a repository from a URL. Enter the clone URL and Codality clones it to a local path. The name and path auto-fill from the repository name.
Requires GitHub integration to be connected if cloning private repositories.
Create new
Create a new local git repository from scratch. Codality creates the directory, runs git init, adds a README, and makes an initial commit.
The default path is ~/repos/{project-slug}.
Project settings
Each project has a settings page at Project → Settings with tabs:
General
- Name — Display name
- Default branch — The branch the agent merges to (e.g.
main). All git operations use this value. - Protected main branch — When enabled, the agent creates pull requests instead of merging directly. See Protected Main Branch.
GitHub
Link the project to a GitHub repository. See Linking Repositories.
Webhooks
View recent GitHub webhook events for the project. Useful for debugging integration issues.
Default branch
Codality never hardcodes main. Every git operation — branching, merging, rebasing — uses the project's configured default branch. Change it in project settings if your repository uses master or another name.
Worktrees
When the agent starts working on a ticket, it creates a git worktree — an isolated copy of the repository on a dedicated branch. This means:
- The agent never modifies your main branch directly
- Multiple tickets can be worked on simultaneously
- Each ticket's changes are isolated from each other
Worktrees are stored under the WORKTREE_BASE directory configured in your environment.
Navigation
The sidebar shows all projects. Click a project to see its pages:
- Issues — Ticket tracker
- Plans — Collaborative planning documents
- Code — Browse the repository
- Settings — Project configuration