Skip to content

Repository-specific settings

Opening a repository adds a Repository group to the settings side panel, labelled with that repo's own name. GitFlow, worktree defaults, and runnable tasks live only there — there's no global counterpart. Appearance and commit style mirror a matching global page instead, so the same field can be set globally and then overridden for just this repository.

Setting a repository's protected branches

Protected branches, the default branch name, and PR target branches are inherently project-specific — there's no sensible app-wide default, so GitFlow only ever lives in the Repository scope.

Setting a repository's protected branches

Captured from the running app by this scenario.

Do this

  1. Open the settings
  2. Open the gitflow repository settings tab
  3. Add release/* to the repository's protected branches

You should see

  • The repository's protected branches include release/*

Overriding the per-repo theme shows as overridden on the global Appearance page

Switching a mirrored field to Override seeds it from the current effective value, ready to edit — and the global page for that same field then shows an "(overridden)" badge, so editing it there doesn't look like it silently did nothing.

Overriding the per-repo theme shows as overridden on the global Appearance page

Captured from the running app by this scenario.

Do this

  1. Open the settings
  2. Open the appearance repository settings tab
  3. Override the repository's theme
  4. Select the repository theme light
  5. Open the ui_customization settings tab

You should see

  • The repository theme override is light
  • The global theme setting shows as overridden

Overriding the per-repo commit instructions shows as overridden on the global AI Features page

Commit style mirrors theme the same way: switching it to Override seeds the textarea from the current effective value, and the global AI Features page then shows an "(overridden)" badge next to that same field, so it's clear the repository isn't reading it any more.

Overriding the per-repo commit instructions shows as overridden on the global AI Features page

Captured from the running app by this scenario.

Do this

  1. Open the settings
  2. Open the ai_commit repository settings tab
  3. Override the repository's commit instructions
  4. Set the repository commit instructions to Reference the Jira ticket.
  5. Open the ai_features settings tab

You should see

  • The repository commit instructions override is Reference the Jira ticket.
  • The global commit instructions setting shows as overridden

Choosing which files new worktrees start with

A worktree created from this repository starts as a fresh checkout — untracked files like a local .env don't exist in it. A pattern added here copies any matching file from the main worktree into every worktree created afterwards, so a second checkout isn't missing what the first one has.

Choosing which files new worktrees start with

Captured from the running app by this scenario.

Do this

  1. Open the settings
  2. Open the worktree repository settings tab
  3. Start adding a worktree default file
  4. Set the default file pattern to package.json
  5. Save the worktree default file
  6. Edit the worktree default file
  7. Set the default file pattern to pnpm-lock.yaml
  8. Save the worktree default file
  9. Delete the worktree default file pnpm-lock.yaml

You should see

  • The worktree default files list includes package.json
  • The worktree default files list includes pnpm-lock.yaml
  • The worktree default files list is empty

The repository's own scripts are suggested when adding a task

Tasks are the commands you start from the app rather than retyping in a terminal — a build, a test run, a dev server. You name them yourself, and the command field suggests the scripts your repository's package.json already declares, so the common ones are one click rather than one recall.

The repository's own scripts are suggested when adding a task

Captured from the running app by this scenario.

Do this

  1. Open the settings
  2. Open the run repository settings tab
  3. Start adding a repository task

You should see

  • The task command suggestions include build
  • The task command suggestions include test

A saved task becomes the toolbar's Launch button

Once a task is saved, it leaves Settings for good: the toolbar grows a Launch button. Its main click starts the repository's default task, and the arrow beside it lists every task you've defined. Tasks launch in your external terminal (the one configured under External tools), in the folder of the tab you're on — so in a worktree, the dev server starts in that worktree, not in the main checkout.

A saved task becomes the toolbar's Launch button

Captured from the running app by this scenario.

Do this

  1. Open the settings
  2. Open the run repository settings tab
  3. Start adding a repository task
  4. Name the repository task Build
  5. Pick the task command suggestion build
  6. Save the repository task
  7. Go back from the settings
  8. Open the toolbar Launch menu

You should see

  • The toolbar shows the Launch button
  • The toolbar Launch menu lists the task Build

Editing or removing a saved task

Nothing about a saved task is fixed: reopening it for editing turns it back into the same two fields it was created from, prefilled with what's already saved — and removing it needs no confirmation, since nothing beyond the toolbar's Launch button depends on it.

Editing or removing a saved task

Captured from the running app by this scenario.

Do this

  1. Open the settings
  2. Open the run repository settings tab
  3. Start adding a repository task
  4. Name the repository task Build
  5. Pick the task command suggestion build
  6. Save the repository task
  7. Edit the repository task
  8. Name the repository task Build the app
  9. Save the repository task
  10. Delete the repository task

You should see

  • The repository task Build the app is saved
  • The repository has no saved tasks

Choosing which task the Launch button's primary click runs

With more than one task saved, the first one saved is the default until you say otherwise — starring a different task moves the primary click to it, and the arrow menu keeps every task reachable either way.

Choosing which task the Launch button's primary click runs

Captured from the running app by this scenario.

Do this

  1. Open the settings
  2. Open the run repository settings tab
  3. Start adding a repository task
  4. Name the repository task Build
  5. Pick the task command suggestion build
  6. Save the repository task
  7. Start adding a repository task
  8. Name the repository task Test
  9. Pick the task command suggestion test
  10. Save the repository task
  11. Go back from the settings
  12. Open the settings
  13. Open the run repository settings tab
  14. Set the repository task Test as the default
  15. Go back from the settings

You should see

  • The toolbar Launch button's primary action runs the task Build
  • The repository task Test is the default
  • The toolbar Launch button's primary action runs the task Test

This page is generated from apps/e2e/features/settings-repository.feature, the end-to-end test that drives the feature it describes.

MIT licensed · Screenshots exported from the real app by the end-to-end suite.