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.
7.2 KiB
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:
taskPriority: 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:
documentationPriority: 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:
taskPriority: 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:
taskPriority: 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:
taskPriority: 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:
enhancementPriority: 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:
enhancementPriority: P1
Title: [P1] [Feature] Automated dependency vulnerability scanning
Problem: Outdated or vulnerable dependencies slip through. Solution: Add Dependabot (or Renovate) + a SAST scanner in CI.
8. Secrets management
Template: 📋 Task / Epic Labels:
taskPriority: P0
Title: [P0] [Task] Audit and secure secrets management
- Verify no secrets are committed to the repo
- Set up
.envconventions - Document how to inject secrets in dev and prod
9. Linting & formatting
Template: 📋 Task / Epic Labels:
taskPriority: 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:
documentationPriority: 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,documentationPriority: 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:
bugPriority: 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:
bugPriority: 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:
enhancementPriority: 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 /healthreturning{"status":"ok"}and a quick DB ping.
15. Structured logging
Template: ✨ Feature Request Labels:
enhancementPriority: 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:
enhancementPriority: 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:
enhancementPriority: 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 issuePriority: 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:
taskPriority: 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:
taskPriority: 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
- Open the Issues tab in this repo.
- Pick the template that matches the ticket above.
- Copy-paste the title, description, labels, and priority.
- Submit.
Repeat until the entire backlog has been filed. Triage and assign each ticket in a follow-up pass.