91 lines
3.1 KiB
Markdown
91 lines
3.1 KiB
Markdown
---
|
|
name: bug-tracker
|
|
description: "File, list, update, and close bugs/features/tasks in the Gitea issue tracker across GuruRMM, GuruConnect, and ClaudeTools repos. Visual dashboard at projects/msp-tools/bug-tracker/dashboard.html."
|
|
triggers:
|
|
- "file a bug"
|
|
- "track a bug"
|
|
- "open an issue"
|
|
- "bug tracker"
|
|
- "what bugs are open"
|
|
- "list bugs"
|
|
- "close issue"
|
|
- "update issue"
|
|
- "mark fixed"
|
|
- "what's being worked on"
|
|
---
|
|
|
|
# Bug & Project Tracker — Gitea Issues
|
|
|
|
Manage the ACG bug/feature/skill/project tracker via Gitea Issues API.
|
|
Dashboard: `projects/msp-tools/bug-tracker/dashboard.html`
|
|
|
|
## Setup
|
|
|
|
- Gitea: `https://git.azcomputerguru.com/api/v1`
|
|
- Owner: `azcomputerguru`
|
|
- Token: vault `services/gitea` → `credentials.api.api-token`
|
|
- Tracked repos: `gururmm`, `guru-connect`, `claudetools`
|
|
|
|
## Label scheme
|
|
|
|
| Label | Purpose |
|
|
|-------|---------|
|
|
| `bug` | Something broken |
|
|
| `feature` | New capability |
|
|
| `skill` | Skill work |
|
|
| `project` | Project-level |
|
|
| `P1-critical` / `P2-high` / `P3-normal` / `P4-low` | Priority |
|
|
| `in-progress` | Being worked |
|
|
| `blocked` | Blocked |
|
|
| `dropped` | Stalled |
|
|
| `fixed` | Fix applied |
|
|
| `verified` | Confirmed working |
|
|
| `security` | Security-related |
|
|
| `component:rmm-agent` / `rmm-server` / `rmm-dashboard` / `guruconnect` / `harness` | Component |
|
|
|
|
## Operations
|
|
|
|
### File a new issue
|
|
Read the token from vault. POST to `/repos/{owner}/{repo}/issues`:
|
|
```json
|
|
{
|
|
"title": "...",
|
|
"body": "## Problem\n...\n\n## Steps to reproduce\n...\n\n## Expected behavior\n...\n\n## Session context\nFiled from session on MACHINE at DATE",
|
|
"labels": [label_id, label_id, ...]
|
|
}
|
|
```
|
|
Always include: one type label (bug/feature/skill/project), one priority label, component label(s) if applicable.
|
|
|
|
### List open issues
|
|
GET `/repos/{owner}/{repo}/issues?state=open&type=issues&limit=50`
|
|
For cross-repo view, query all tracked repos and merge results.
|
|
|
|
### Update an issue (add progress, change status)
|
|
- Add a comment: POST `/repos/{owner}/{repo}/issues/{number}/comments` with `{"body": "..."}`
|
|
- Change labels: PATCH `/repos/{owner}/{repo}/issues/{number}` or use label endpoints
|
|
- Close: PATCH with `{"state": "closed"}`
|
|
|
|
### Mark fixed
|
|
Add `fixed` label, add a comment describing the fix, reference the commit if available.
|
|
|
|
### Mark verified
|
|
Add `verified` label, close the issue.
|
|
|
|
## Auto-filing (IMPORTANT)
|
|
|
|
When a bug surfaces during a Claude session — a command fails unexpectedly, a skill hits an error that needs follow-up, or the user reports something broken — **file it as an issue automatically** (with user confirmation for the title/priority). This is the whole point: bugs should not require someone to remember them.
|
|
|
|
The issue body should include:
|
|
- What happened (error message, unexpected behavior)
|
|
- Context (what was being attempted, which machine, which session)
|
|
- Any workaround applied
|
|
- Links to relevant session logs if available
|
|
|
|
## Dashboard
|
|
|
|
Open `projects/msp-tools/bug-tracker/dashboard.html` in a browser.
|
|
Pass the Gitea token as a URL parameter: `?token=xxx`
|
|
It shows a kanban board (Open / In Progress / Blocked / Done) with filtering by repo and type.
|
|
|
|
$ARGUMENTS
|