Replace Python CLI with Gitea issue tracker setup

Switch from a custom CLI ticketing tool to Gitea-native issue tracking.
Add issue templates (bug, feature, task) and a curated initial backlog
of 20 tickets covering project foundation, testing, security, docs,
features, and community maintenance.
This commit is contained in:
Arcline Dev
2026-07-03 21:38:36 -05:00
parent c6dc1a2acf
commit 28e38916f2
13 changed files with 452 additions and 632 deletions

View File

@@ -1,62 +1,62 @@
# Tickets
A lightweight CLI ticket tracker that stores tickets as JSON in your home directory (`~/.tickets/tickets.json`).
Central issue tracker and ticket backlog for the **Arcline Project**.
All work is tracked as **Gitea Issues** in this repository. No external tooling required — just open an issue.
---
## Quick Start
```bash
# Install in development mode
pip install -e ".[dev]"
### Creating a Ticket
# Run tests
pytest tests/ -v
```
1. Go to the **Issues** tab in this repo.
2. Click **New Issue**.
3. Pick a template:
- 🐛 **Bug Report** — something is broken.
-**Feature Request** — propose something new.
- 📋 **Task / Epic** — a general task, spike, or umbrella issue.
4. Fill in the fields, attach labels, and submit.
## Commands
> The templates live in `.gitea/ISSUE_TEMPLATE/` if you want to tweak them.
| Command | Alias | Description |
|----------------------|-------|------------------------|
| `tickets create` | `c` | Create a new ticket |
| `tickets list` | `ls` | List tickets |
| `tickets view <id>` | `v` | Show ticket details |
| `tickets update <id>`| `u` | Modify a ticket |
| `tickets delete <id>`| `rm` | Remove a ticket |
### Labels
### Examples
| Label | Purpose |
|----------------|----------------------------------------------|
| `bug` | Defect or unexpected behaviour |
| `enhancement` | New capability or improvement |
| `task` | General work item |
| `epic` | Large body of work spanning multiple issues |
| `triage` | Needs prioritisation / hasn't been reviewed |
| `documentation`| Docs, READMEs, comments |
| `good first issue` | Beginner-friendly starting point |
| `blocked` | Waiting on something else |
| `wontfix` | Acknowledged but not planned |
```bash
# Create tickets
tickets create "Fix login bug" -d "Users can't sign in" -p high -a alice -t bug auth
tickets create "Add dark mode" -p low -t feature
### Prioritisation
# List all tickets
tickets list
Prefix issue titles to signal urgency at a glance:
# Filter by status or priority
tickets list -s todo
tickets list -p critical
- `[P0]` — Drop everything. Critical / blocking.
- `[P1]` — Important. Should be in the current iteration.
- `[P2]` — Nice to have. Backlog.
- `[P3]` — Someday / maybe.
# View details
tickets view abc12345
Example: `[P1] [Bug] Login page returns 500 on `\n` in username`
# Update a ticket
tickets update abc12345 -s done -a bob
tickets update abc12345 -t "Better title" -p critical
---
# Delete a ticket
tickets delete abc12345 -f
```
## Workflow
## Fields
1. **Open** an issue using a template.
2. **Triage** — assign labels, priority, milestone, and an owner.
3. **Work** — branch off `main`, reference the issue in commits (`#42`).
4. **Close** — when the work lands, close the issue (or let a PR close it automatically with `Closes #42`).
- **title** — short summary (required)
- **description** — longer details (optional)
- **priority** — `low`, `medium` (default), `high`, `critical`
- **status** — `todo` (default), `in_progress`, `done`, `cancelled`
- **assignee** — who's working on it (optional)
- **tags** — list of labels (optional)
---
## Storage
## Backlog
All tickets are persisted to `~/.tickets/tickets.json`. Since this is a plain JSON file, you can version-control it with git or back it up easily.
See [`ISSUES.md`](./ISSUES.md) for the initial curated backlog of tickets ready to be filed.