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.
311 lines
7.2 KiB
Markdown
311 lines
7.2 KiB
Markdown
# Initial Ticket Backlog
|
||
|
||
Curated list of tickets to file in Gitea Issues. Copy each block into a new issue using the matching template.
|
||
|
||
---
|
||
|
||
## 🏗️ Project Foundation
|
||
|
||
### 1. Repository bootstrapping
|
||
|
||
> **Template:** 📋 Task / Epic
|
||
> **Labels:** `task`
|
||
> **Priority:** P0
|
||
|
||
**Title:** `[P0] [Task] Bootstrap repo structure and tooling`
|
||
|
||
- [ ] Add `.gitignore`, `.editorconfig`, `CONTRIBUTING.md`
|
||
- [ ] Set up branch protection on `main`
|
||
- [ ] Configure CI linting (shellcheck, markdownlint, yamllint)
|
||
- [ ] Add pre-commit hooks
|
||
|
||
---
|
||
|
||
### 2. README & onboarding docs
|
||
|
||
> **Template:** 📋 Task / Epic
|
||
> **Labels:** `documentation`
|
||
> **Priority:** P0
|
||
|
||
**Title:** `[P0] [Task] Write project README and onboarding guide`
|
||
|
||
- [ ] High-level architecture overview
|
||
- [ ] Local development setup instructions
|
||
- [ ] Contribution workflow (branching, commits, reviews)
|
||
- [ ] Link to this tickets repo
|
||
|
||
---
|
||
|
||
### 3. CI pipeline
|
||
|
||
> **Template:** 📋 Task / Epic
|
||
> **Labels:** `task`
|
||
> **Priority:** P0
|
||
|
||
**Title:** `[P0] [Task] Set up CI pipeline`
|
||
|
||
- [ ] Build step (compile / install deps)
|
||
- [ ] Lint step (static analysis)
|
||
- [ ] Test step (unit + integration)
|
||
- [ ] Status badge in README
|
||
|
||
---
|
||
|
||
## 🧪 Testing
|
||
|
||
### 4. Unit-test scaffolding
|
||
|
||
> **Template:** 📋 Task / Epic
|
||
> **Labels:** `task`
|
||
> **Priority:** P1
|
||
|
||
**Title:** `[P1] [Task] Scaffold unit-test framework`
|
||
|
||
- [ ] Choose and wire up a test runner
|
||
- [ ] Add a single passing smoke test
|
||
- [ ] Document how to run tests locally
|
||
|
||
---
|
||
|
||
### 5. Integration tests
|
||
|
||
> **Template:** 📋 Task / Epic
|
||
> **Labels:** `task`
|
||
> **Priority:** P1
|
||
|
||
**Title:** `[P1] [Task] Add integration / end-to-end test harness`
|
||
|
||
- [ ] Spin up a local environment for tests
|
||
- [ ] Write 2-3 critical-path integration tests
|
||
- [ ] Wire into CI
|
||
|
||
---
|
||
|
||
### 6. Test coverage reporting
|
||
|
||
> **Template:** ✨ Feature Request
|
||
> **Labels:** `enhancement`
|
||
> **Priority:** P2
|
||
|
||
**Title:** `[P2] [Feature] Add test coverage reporting`
|
||
|
||
> **Problem:** No visibility into what code paths have tests.
|
||
> **Solution:** Generate coverage reports in CI and block merges below a threshold (e.g. 80 %).
|
||
|
||
---
|
||
|
||
## 🔒 Security & Quality
|
||
|
||
### 7. Dependency scanning
|
||
|
||
> **Template:** ✨ Feature Request
|
||
> **Labels:** `enhancement`
|
||
> **Priority:** P1
|
||
|
||
**Title:** `[P1] [Feature] Automated dependency vulnerability scanning`
|
||
|
||
> **Problem:** Outdated or vulnerable dependencies slip through.
|
||
> **Solution:** Add [Dependabot](https://github.com/dependabot) (or Renovate) + a SAST scanner in CI.
|
||
|
||
---
|
||
|
||
### 8. Secrets management
|
||
|
||
> **Template:** 📋 Task / Epic
|
||
> **Labels:** `task`
|
||
> **Priority:** P0
|
||
|
||
**Title:** `[P0] [Task] Audit and secure secrets management`
|
||
|
||
- [ ] Verify no secrets are committed to the repo
|
||
- [ ] Set up `.env` conventions
|
||
- [ ] Document how to inject secrets in dev and prod
|
||
|
||
---
|
||
|
||
### 9. Linting & formatting
|
||
|
||
> **Template:** 📋 Task / Epic
|
||
> **Labels:** `task`
|
||
> **Priority:** P1
|
||
|
||
**Title:** `[P1] [Task] Enforce consistent linting and formatting`
|
||
|
||
- [ ] Choose and configure formatters / linters for each language in the stack
|
||
- [ ] Add pre-commit hook (or CI check) that blocks violations
|
||
- [ ] Format the existing codebase
|
||
|
||
---
|
||
|
||
## 📖 Documentation
|
||
|
||
### 10. API / interface docs
|
||
|
||
> **Template:** 📋 Task / Epic
|
||
> **Labels:** `documentation`
|
||
> **Priority:** P1
|
||
|
||
**Title:** `[P1] [Task] Generate and publish API documentation`
|
||
|
||
- [ ] Select a doc generator (e.g. OpenAPI, Sphinx, JSDoc)
|
||
- [ ] Add docstrings / annotations to public interfaces
|
||
- [ ] Publish to a static site or docs host
|
||
|
||
---
|
||
|
||
### 11. Architecture Decision Records
|
||
|
||
> **Template:** ✨ Feature Request
|
||
> **Labels:** `enhancement`, `documentation`
|
||
> **Priority:** P2
|
||
|
||
**Title:** `[P2] [Feature] Adopt Architecture Decision Records (ADRs)`
|
||
|
||
> **Problem:** Design decisions are made in chat and forgotten.
|
||
> **Solution:** Maintain a `docs/adr/` directory with lightweight decision records.
|
||
|
||
---
|
||
|
||
## 🐛 Placeholder Bugs (for testing the flow)
|
||
|
||
### 12. Template: Bug Report
|
||
|
||
> **Template:** 🐛 Bug Report
|
||
> **Labels:** `bug`
|
||
> **Priority:** P2
|
||
|
||
**Title:** `[P2] [Bug] Example bug — page title wraps on small viewports`
|
||
|
||
| Field | Value |
|
||
|---|---|
|
||
| **Steps** | Resize browser to 320 px wide, open the landing page. |
|
||
| **Expected** | Title stays on one line or truncates gracefully. |
|
||
| **Actual** | Title wraps and overlaps the nav bar. |
|
||
|
||
---
|
||
|
||
### 13. Template: Bug Report
|
||
|
||
> **Template:** 🐛 Bug Report
|
||
> **Labels:** `bug`
|
||
> **Priority:** P3
|
||
|
||
**Title:** `[P3] [Bug] Example bug — console warns about missing key prop`
|
||
|
||
| Field | Value |
|
||
|---|---|
|
||
| **Steps** | Open dev tools, navigate to the dashboard. |
|
||
| **Expected** | No React key warnings. |
|
||
| **Actual** | `Warning: Each child in a list should have a unique "key" prop.` |
|
||
|
||
---
|
||
|
||
## 🚀 Features
|
||
|
||
### 14. Health-check endpoint
|
||
|
||
> **Template:** ✨ Feature Request
|
||
> **Labels:** `enhancement`
|
||
> **Priority:** P1
|
||
|
||
**Title:** `[P1] [Feature] Add health-check endpoint`
|
||
|
||
> **Problem:** No way for load balancers or monitoring to know if the service is alive.
|
||
> **Solution:** Expose `GET /health` returning `{"status":"ok"}` and a quick DB ping.
|
||
|
||
---
|
||
|
||
### 15. Structured logging
|
||
|
||
> **Template:** ✨ Feature Request
|
||
> **Labels:** `enhancement`
|
||
> **Priority:** P1
|
||
|
||
**Title:** `[P1] [Feature] Switch to structured (JSON) logging`
|
||
|
||
> **Problem:** Logs are plain-text and hard to query.
|
||
> **Solution:** Emit JSON log lines with consistent keys (`level`, `message`, `timestamp`, `trace_id`).
|
||
|
||
---
|
||
|
||
### 16. Feature flags
|
||
|
||
> **Template:** ✨ Feature Request
|
||
> **Labels:** `enhancement`
|
||
> **Priority:** P2
|
||
|
||
**Title:** `[P2] [Feature] Introduce feature-flag system`
|
||
|
||
> **Problem:** Can't safely ship partial or experimental features.
|
||
> **Solution:** Use a simple flag provider (env vars initially) to gate features.
|
||
|
||
---
|
||
|
||
### 17. Observability / metrics
|
||
|
||
> **Template:** ✨ Feature Request
|
||
> **Labels:** `enhancement`
|
||
> **Priority:** P2
|
||
|
||
**Title:** `[P2] [Feature] Export app metrics for monitoring`
|
||
|
||
> **Problem:** Can't answer "is the system healthy?" without looking at logs.
|
||
> **Solution:** Export request duration, error rate, and DB query metrics.
|
||
|
||
---
|
||
|
||
## 🤝 Community & Maintenance
|
||
|
||
### 18. CONTRIBUTING guide
|
||
|
||
> **Template:** 📋 Task / Epic
|
||
> **Labels:** `documentation`, `good first issue`
|
||
> **Priority:** P1
|
||
|
||
**Title:** `[P1] [Task] Write CONTRIBUTING.md`
|
||
|
||
- [ ] Code style and conventions
|
||
- [ ] PR template and review expectations
|
||
- [ ] Local development quick-start
|
||
|
||
---
|
||
|
||
### 19. Issue triage process
|
||
|
||
> **Template:** 📋 Task / Epic
|
||
> **Labels:** `task`
|
||
> **Priority:** P2
|
||
|
||
**Title:** `[P2] [Task] Define and document the issue triage process`
|
||
|
||
- [ ] Weekly triage meeting cadence
|
||
- [ ] SLA for first response on new issues
|
||
- [ ] How issues move from `triage` → `accepted`
|
||
|
||
---
|
||
|
||
### 20. Release checklist
|
||
|
||
> **Template:** 📋 Task / Epic
|
||
> **Labels:** `task`
|
||
> **Priority:** P2
|
||
|
||
**Title:** `[P2] [Task] Create a release checklist**
|
||
|
||
- [ ] Version bump convention
|
||
- [ ] CHANGELOG update step
|
||
- [ ] Tagging and release notes
|
||
- [ ] Post-deploy smoke-test commands
|
||
|
||
---
|
||
|
||
## Filing Instructions
|
||
|
||
1. Open the **Issues** tab in this repo.
|
||
2. Pick the template that matches the ticket above.
|
||
3. Copy-paste the title, description, labels, and priority.
|
||
4. Submit.
|
||
|
||
Repeat until the entire backlog has been filed. Triage and assign each ticket in a follow-up pass.
|
||
|