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:
84
README.md
84
README.md
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user