Skip to content

Settings

Settings (Ctrl+,, or at the bottom of the sidebar) holds the project’s shared settings and your own preferences. This page also describes every key of .genbeya.yml, for editing it by hand.

SectionWhat it holdsShared with
ProjectName, task ID prefix, wiki folder and home page, task folder, Workflow, Task types, Custom fieldsEveryone: saved to .genbeya.yml
Where content livesWhether the wiki, the tasks and the settings live in the checkout or on the Content branch, and Sync automaticallyEveryone, through the content branch
AI agentsFiles that teach coding agents to use the tasks and the wiki — see AI agentsEveryone, once committed
RemotesAdd, edit and remove Git remotesThis clone
AppTheme, Reopen last repository on start, Show minimap in the editorThis computer
HelpThe version, Start the tour, Show what’s new, Open the documentation—

Changes to Project wait for Save (Ctrl+S) or Discard; everything else applies right away. Saving writes .genbeya.yml, an ordinary change to commit in Changes — unless the settings live on the content branch, where the save is committed right away.

.genbeya.yml sits at the root of the checkout, or of the content branch when the settings live there. Every key is optional; a repository without the file uses the defaults below. This is Genbeya’s own file:

name: Genbeya
wikiRoot: docs
wikiHome: Home.md
taskRoot: tasks
taskPrefix: GENBEYA
statuses:
- backlog
- todo
- in-progress
- review
- done

Genbeya rewrites only the keys whose values you changed. Comments, keys it does not know and the spelling of everything else stay as they are, so the file can be edited by hand and in Settings alike.

KeyTypeDefaultMeaning
nametext, up to 120 charactersThe repository’s folder nameThe project’s name, shown at the top of the sidebar
wikiRootfolderdocsThe wiki folder, relative to the repository root
wikiHomeMarkdown fileHome.mdThe wiki’s first page, relative to wikiRoot
taskRootfoldertasksThe task folder. It must not contain the wiki folder, nor the other way round
taskPrefixletters and digits, starting with a letter, up to 12From the name: its capitals (TaskBoard → TB), the first letters of its words (my project → MP), or its first three letters (atlas → ATL)New tasks are TB-1, TB-2, … Written in capitals

Changing a folder does not move any files: move them first, then change the setting. Changing the prefix leaves existing IDs as they are.

The workflow states, in board order: the board’s columns, left to right. The last one counts as done. 1 to 12 unique names of up to 40 characters.

statuses:
- todo
- name: in-progress # a state with its own icon
icon: play
- name: done
icon: flag

A state is written as a name, or as name and icon once it has an icon. Without an icon, a column shows a ring that fills as work advances, and a check for the last state. Default: backlog, todo, in-progress, review, done.

Renaming or removing a state does not change any task. Tasks in a state that is no longer listed appear in an extra column, so nothing gets lost.

States the board leaves out; the list still shows their tasks. Each must be one of the statuses.

hiddenColumns:
- backlog

Unticking a state in the list layout writes this key for everyone. The key is left out while no column is hidden.

The task types. Default: bug, feature, improvement, chore. types: [] turns types off.

types:
- name: bug
icon: bug
tone: red # gray, blue, green, yellow, orange, red or purple
- name: spike
icon: flask-conical
- feature # a name alone brings its usual icon and colour
  • A name alone uses the type’s usual icon and colour. Well-known names have their own: bug, feature, improvement, chore, task, story, docs, question, research. Others get a generic icon.
  • Written out, a type needs name and icon; tone is optional.
  • Names use letters, digits, spaces, - and _, up to 40 characters, unique ignoring case. Up to 20 types.
  • Each type’s description template is <taskRoot>/.templates/<name>.md — see Tasks.

Custom task fields, edited under a task’s properties and saved to its frontmatter. Up to 30.

fields:
- name: estimate
type: number
- name: due
type: date # written as 2026-05-01
- name: area
type: choice
options: [ui, backend, docs]
- name: reviewer # text, unless a type is given
typeValue in a task
text (the default)Any text
numberA number
dateYYYY-MM-DD
choiceOne of options: 1 to 30 unique values of up to 60 characters

Names start with a letter and use letters, digits, - and _, up to 40 characters, unique ignoring case. Genbeya’s own task keys are taken: id, title, type, status, priority, assignee, labels, epic. The key is left out while there are no fields.

The project’s people, for @mentions and the Assignee menu. Genbeya finds people on its own, from commits, assignees and comments (see Writing pages); list them here to give them a handle of your choice, a name, or to join several names and emails into one person. Up to 500.

people:
- handle: ada
name: Ada Lovelace
email: ada@example.com
aliases: [Ada King, ada@old.example] # other names and emails of the same person
- handle: grace
name: Grace Hopper
  • handle and name are required. Handles use letters, digits, - and _, starting and ending with a letter or digit, up to 39 characters, unique ignoring case.
  • email and aliases are optional. Commits, assignees and comments under the email or an alias count as this person; an alias shaped like a handle also mentions them (@lovelace). An alias must not be another person’s handle.
  • A listed person keeps their handle; people Genbeya derives handles for get others when they would clash.

The key is left out while no one is listed; Settings keeps it as written.

icon of a state or a type names one of these Lucide icons, which Settings offers in its icon picker:

bug, sparkles, trending-up, wrench, square-check, book-open, file-text, circle-question-mark, flask-conical, lightbulb, shield, zap, palette, gauge, rocket, circle-dot, circle, circle-dashed, circle-check, circle-x, clock, eye, play, pause, ban, archive, inbox, flag

Any other name shows a generic icon.

When a Content branch exists, the file .genbeya-content at its root says where each area lives. Genbeya writes it whenever an area moves in Settings → Where content lives; there is no need to edit it.

# Where Genbeya keeps each area: "branch" is this content branch,
# "checkout" is the checked-out code branch of every clone.
[areas]
wiki = checkout
tasks = branch
settings = checkout

Areas it does not name live in the checkout. A content branch without the file holds all three, as content branches did before areas could be split.

Two keys of git config change how Genbeya treats one clone:

KeyMeaning
genbeya.branchThe name of the content branch, instead of genbeya
genbeya.storageworktree keeps every area of this clone in its checkout, whatever the team’s layout: a personal opt-out. Choosing a layout in Settings removes it
Terminal window
git config genbeya.branch team-content

Theme, Reopen last repository, Show minimap, recent repositories and what the onboarding has shown you are stored per variant in the app’s data folder (state.json), not in the repository.