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.
41 lines
2.7 KiB
Markdown
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.
|