# Store starter: tickets as files in the repo, the default. `scripts/read_store.py` reads this file as the # base layer; the project's _bmad/custom/ticketing-store-config.toml names the store and replaces any key # here, key by key. With no project file this starter is the whole config. # It updates with the skill and holds only what is specific to this store: the rules every store shares # are in references/board.md. Comments and `description` are never loaded; `description` is for choosing a store. # # Tickets and artifacts live together as markdown files under `output_folder` (layout in SKILL.md, # The ticket tree), committed in the monorepo or in a repo of their own. Status and assignee change by commit, and the skill never pushes, # so others see them only after a push and pull. description = "Quick setup, and the default when nothing else is chosen. Tickets are markdown files under version control: in the monorepo, or in their own repo (recommended for mono and poly repos alike). No tracker or account needed. The simplest store — right for a solo developer or a very small team with no other tracking." [tickets] store = "repo" access = """ Read and write the files under `output_folder`. """ fields = """ risk and severity live in the frontmatter (risk: low|medium|high on any ticket; severity: P0-P3 on bugs); estimate the same way. Nothing else carries them. """ [verbs] setup = """ Tickets live in `output_folder` beside the documents. To keep them outside the project, set `output_folder` under `[core]` in `_bmad/custom/config.toml` to a folder beside it — the session then launches one level up — or in the workspace that already holds the repos. `git init` a new folder so tickets have history; skip that when the user picks a folder already under git, the monorepo included. Then create `backlog/` and the active initiative's folder there when they do not exist. """ write = """ Every change is an edit to the ticket's file, its `tickets.toml` entry, or, for a leaf's status and assignee, its plan through `tickets.py mark`. Commit only the files you wrote on the current branch. Root not in a git repo: skip the commit and say so. """ query = """ The files are the store: `tickets.py find`, `next`, and `status` answer from them. By a frontmatter field: `grep -rl "^type: bug" `. """ # BMad type -> this store's type. [tickets.types] initiative = "initiative" epic = "epic" story = "story" spike = "spike" bug = "bug" # BMad state -> this store's status. [tickets.status] backlog = "backlog" in-progress = "in-progress" review = "review" done = "done" dropped = "dropped"