diff --git a/.gitea/issue_template/bug.yaml b/.gitea/issue_template/bug.yaml new file mode 100644 index 0000000..0a41f29 --- /dev/null +++ b/.gitea/issue_template/bug.yaml @@ -0,0 +1,85 @@ +name: Bug Report +about: Report a bug or unexpected behavior +title: "[Bug]: " +labels: + - type/bug + - status/backlog +body: + - type: markdown + attributes: + value: | + ## Bug Report + Use this template to report bugs. Provide as much detail as possible to help reproduce the issue. + + - type: dropdown + id: platform + attributes: + label: Platform + description: Where did you encounter this bug? + options: + - Mobile (iOS) + - Mobile (Android) + - Desktop (Chrome) + - Desktop (Firefox) + - Desktop (Safari) + - Desktop (Edge) + - Multiple platforms + validations: + required: true + + - type: textarea + id: description + attributes: + label: Bug Description + description: What went wrong? Be specific. + placeholder: "When I click X, I expected Y to happen, but instead Z happened." + validations: + required: true + + - type: textarea + id: steps + attributes: + label: Steps to Reproduce + description: How can we reproduce this bug? + placeholder: | + 1. Navigate to '...' + 2. Click on '...' + 3. Scroll down to '...' + 4. See error + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected Behavior + description: What should have happened? + validations: + required: true + + - type: textarea + id: actual + attributes: + label: Actual Behavior + description: What actually happened? + validations: + required: true + + - type: textarea + id: context + attributes: + label: Additional Context + description: Screenshots, error messages, console logs, etc. + validations: + required: false + + - type: textarea + id: fix-hints + attributes: + label: Fix Hints (if known) + description: Any ideas on what might be causing this or how to fix it? + placeholder: | + - Might be related to: [file or component] + - Similar issue in: [other feature] + validations: + required: false diff --git a/.gitea/issue_template/chore.yaml b/.gitea/issue_template/chore.yaml new file mode 100644 index 0000000..785b99a --- /dev/null +++ b/.gitea/issue_template/chore.yaml @@ -0,0 +1,70 @@ +name: Chore / Maintenance +about: Technical debt, refactoring, dependency updates, infrastructure +title: "[Chore]: " +labels: + - type/chore + - status/backlog +body: + - type: markdown + attributes: + value: | + ## Chore / Maintenance Task + Use this template for technical debt, refactoring, dependency updates, or infrastructure work. + + - type: dropdown + id: category + attributes: + label: Category + description: What type of chore is this? + options: + - Refactoring + - Dependency update + - Performance optimization + - Technical debt cleanup + - Infrastructure / DevOps + - Testing improvements + - Documentation + - Other + validations: + required: true + + - type: textarea + id: description + attributes: + label: Description + description: What needs to be done and why? + placeholder: "We need to refactor X because Y..." + validations: + required: true + + - type: textarea + id: scope + attributes: + label: Scope / Files Affected + description: What parts of the codebase will be touched? + placeholder: | + - frontend/src/features/[name]/ + - backend/src/features/[name]/ + - docker-compose.yml + validations: + required: false + + - type: textarea + id: acceptance + attributes: + label: Definition of Done + description: How do we know this is complete? + placeholder: | + - [ ] All tests pass + - [ ] No new linting errors + - [ ] Performance benchmark improved by X% + validations: + required: true + + - type: textarea + id: risks + attributes: + label: Risks / Breaking Changes + description: Any potential issues or breaking changes to be aware of? + validations: + required: false diff --git a/.gitea/issue_template/feature.yaml b/.gitea/issue_template/feature.yaml new file mode 100644 index 0000000..e91f5cc --- /dev/null +++ b/.gitea/issue_template/feature.yaml @@ -0,0 +1,109 @@ +name: Feature Request +about: Propose a new feature for MotoVaultPro +title: "[Feature]: " +labels: + - type/feature + - status/backlog +body: + - type: markdown + attributes: + value: | + ## Feature Request + Use this template to propose new features. Be specific about requirements and integration points. + + - type: textarea + id: problem + attributes: + label: Problem / User Need + description: What problem does this feature solve? Who needs it and why? + placeholder: "As a [user type], I want to [goal] so that [benefit]..." + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed Solution + description: Describe the feature and how it should work + placeholder: "When the user does X, the system should Y..." + validations: + required: true + + - type: textarea + id: non-goals + attributes: + label: Non-goals / Out of Scope + description: What is explicitly NOT part of this feature? + placeholder: | + - Advanced analytics (future enhancement) + - Data export functionality + - etc. + validations: + required: false + + - type: textarea + id: acceptance-criteria + attributes: + label: Acceptance Criteria (Feature Behavior) + description: What must be true for this feature to be complete? + placeholder: | + - [ ] User can see X + - [ ] System displays Y when Z + - [ ] Works on mobile viewport (320px) with touch-friendly targets + - [ ] Works on desktop viewport (1920px) with keyboard navigation + validations: + required: true + + - type: textarea + id: integration-criteria + attributes: + label: Integration Criteria (App Flow) + description: How does this feature integrate into the app? This prevents missed navigation/routing. + value: | + ### Navigation + - [ ] Desktop sidebar: [not needed / add as item #X / replace existing] + - [ ] Mobile bottom nav: [not needed / add to left/right items] + - [ ] Mobile hamburger menu: [not needed / add to menu items] + + ### Routing + - [ ] Desktop route path: `/garage/[feature-name]` + - [ ] Is this the default landing page after login? [yes / no] + - [ ] Replaces existing placeholder/route: [none / specify what] + + ### State Management + - [ ] Mobile screen type needed in navigation store? [yes / no] + - [ ] New Zustand store needed? [yes / no] + validations: + required: true + + - type: textarea + id: implementation-notes + attributes: + label: Implementation Notes + description: Technical hints, existing patterns to follow, files to modify + placeholder: | + - Current placeholder: frontend/src/App.tsx lines X-Y + - Create new feature directory: frontend/src/features/[name]/ + - Backend APIs already exist for X, Y, Z + - Follow pattern in: frontend/src/features/vehicles/ + validations: + required: false + + - type: textarea + id: test-plan + attributes: + label: Test Plan + description: How will this feature be tested? + placeholder: | + **Unit tests:** + - Component tests for X, Y, Z + + **Integration tests:** + - Test data fetching with mocked API responses + + **Manual testing:** + - Verify mobile layout at 320px, 768px viewports + - Verify desktop layout at 1920px viewport + - Test with 0 items, 1 item, 10+ items + validations: + required: false