Files
voculinux/docs/agents/issue-tracker.md
T
xavierk 80a3792576
CI / security (pull_request) Failing after 1m25s
CI / lint (pull_request) Failing after 34s
CI / ai-review (pull_request) Successful in 25s
chore: import vocalinux project
Import the vocalinux source tree (tray app, Next.js site in web/,
packaging, installers, docs and tests) on top of the Gitea template
commit. The project README replaces the template README, and the
template CI files (.gitea/workflows/ci.yml, .jscpd.json, CI.md) are kept.
2026-11-06 11:51:44 +05:30

41 lines
2.7 KiB
Markdown

# Issue tracker: Gitea
Issues and specs for this repo live in Gitea at `https://git.bongbetic.com/xavierk/voculinux`. Use the `tea` CLI for all operations.
Run `tea logins list` first. If no login exists for `git.bongbetic.com`, add one with `tea logins add`. When working outside a checkout whose remote points at Gitea, pass `--repo xavierk/voculinux --login <name>` explicitly.
## Conventions
- **Create an issue**: `tea issues create --repo xavierk/voculinux --title "..." --description "..."`. Use `--description-file -` with a heredoc for multi-line bodies. Add `--labels "..."` to triage at creation.
- **Read an issue**: `tea issues <index> --repo xavierk/voculinux --fields index,title,state,author,labels,assignees,milestone,body,comments`.
- **List issues**: `tea issues list --repo xavierk/voculinux --state open --fields index,title,state,author,labels --limit 30`, with `--labels`, `--author`, `--assignee`, or `--keyword` filters. Use `-o json` for machine-readable output.
- **Comment on an issue**: `tea comments add <index> "..." --repo xavierk/voculinux`.
- **Apply / remove labels**: `tea issues edit <index> --repo xavierk/voculinux --add-labels "..."` / `--remove-labels "..."`.
- **Close**: `tea issues close <index> --repo xavierk/voculinux`. Reopen with `tea issues reopen <index>`.
- **Manage labels**: `tea labels list --repo xavierk/voculinux`. Create missing triage labels with `tea labels create`.
## Pull requests as a triage surface
**PRs as a request surface: no.**
When set to `yes`, PRs run through the same labels and states as issues, using the `tea pulls` equivalents.
## When a skill says "publish to the issue tracker"
Create a Gitea issue with `tea issues create`.
## When a skill says "fetch the relevant ticket"
Read it as in **Read an issue** above.
## Wayfinding operations
Used by `/wayfinder`. The **map** is a single issue with **child** issues as tickets.
- **Map**: a single issue labelled `wayfinder:map`, holding the Notes / Decisions-so-far / Fog body.
- **Child ticket**: an issue with `Part of #<map-index>` at the top of its body. Labels: `wayfinder:<type>` (`research`/`prototype`/`grilling`/`task`). Once claimed, assign it to the driving dev with `tea issues edit <index> --add-assignees <user>`.
- **Blocking**: a `Blocked by: #<n>, #<n>` line at the top of the child body. A ticket is unblocked when every blocker is closed.
- **Frontier query**: list the map's open children, drop any with an open blocker or an assignee; first in map order wins.
- **Claim**: `tea issues edit <n> --add-assignees <user>`, the session's first write.
- **Resolve**: `tea comments add <n> "<answer>"`, then `tea issues close <n>`, then append a context pointer to the map's Decisions-so-far.