diff --git a/.github/ISSUE_TEMPLATE/alpha-feature.yml b/.github/ISSUE_TEMPLATE/alpha-feature.yml new file mode 100644 index 00000000..f42236b2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/alpha-feature.yml @@ -0,0 +1,93 @@ +name: 🏗️ Alpha Feature +description: Create an issue for an Alpha milestone feature +title: "[ALPHA] " +labels: ["alpha", "feature"] +body: + - type: markdown + attributes: + value: | + ## Alpha Milestone Feature + Features that are part of the core foundation and initial release. + + - type: dropdown + id: priority + attributes: + label: Priority + description: How critical is this feature? + options: + - Critical (Blocking, must-have) + - High (Important, should have) + - Medium (Nice to have) + - Low (Future enhancement) + validations: + required: true + + - type: input + id: issue_number + attributes: + label: Planning Issue Number + description: Reference number from PROJECT_PLANNING.md (e.g., Issue #5) + placeholder: "Issue #" + validations: + required: false + + - type: textarea + id: description + attributes: + label: Feature Description + description: What should this feature do? + placeholder: Describe the feature in detail + validations: + required: true + + - type: textarea + id: tasks + attributes: + label: Implementation Tasks + description: List of tasks to complete this feature + placeholder: | + - [ ] Task 1 + - [ ] Task 2 + - [ ] Task 3 + value: | + - [ ] + validations: + required: true + + - type: textarea + id: acceptance + attributes: + label: Acceptance Criteria + description: How do we know this feature is complete? + placeholder: | + - [ ] Criteria 1 + - [ ] Criteria 2 + value: | + - [ ] + validations: + required: true + + - type: checkboxes + id: categories + attributes: + label: Categories + description: Select all that apply + options: + - label: Backend + - label: Frontend + - label: Database + - label: Caddy Integration + - label: Security + - label: SSL/TLS + - label: UI/UX + - label: Deployment + - label: Documentation + + - type: textarea + id: technical_notes + attributes: + label: Technical Notes + description: Any technical considerations or dependencies? + placeholder: Libraries, APIs, or other issues that need to be completed first + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/beta-monitoring-feature.yml b/.github/ISSUE_TEMPLATE/beta-monitoring-feature.yml new file mode 100644 index 00000000..5373fc4b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/beta-monitoring-feature.yml @@ -0,0 +1,118 @@ +name: 📊 Beta Monitoring Feature +description: Create an issue for a Beta milestone monitoring/logging feature +title: "[BETA] [MONITORING] " +labels: ["beta", "feature", "monitoring"] +body: + - type: markdown + attributes: + value: | + ## Beta Monitoring & Logging Feature + Features related to observability, logging, and system monitoring. + + - type: dropdown + id: priority + attributes: + label: Priority + description: How critical is this monitoring feature? + options: + - Critical (Essential for operations) + - High (Important visibility) + - Medium (Enhanced monitoring) + - Low (Nice-to-have metrics) + validations: + required: true + + - type: dropdown + id: monitoring_type + attributes: + label: Monitoring Type + description: What aspect of monitoring? + options: + - Dashboards & Statistics + - Log Viewing & Search + - Alerting & Notifications + - CrowdSec Dashboard + - Analytics Integration + - Health Checks + - Performance Metrics + validations: + required: true + + - type: input + id: issue_number + attributes: + label: Planning Issue Number + description: Reference number from PROJECT_PLANNING.md (e.g., Issue #23) + placeholder: "Issue #" + validations: + required: false + + - type: textarea + id: description + attributes: + label: Feature Description + description: What monitoring/logging capability should this provide? + placeholder: Describe what users will be able to see or do + validations: + required: true + + - type: textarea + id: metrics + attributes: + label: Metrics & Data Points + description: What data will be collected and displayed? + placeholder: | + - Metric 1: Description + - Metric 2: Description + validations: + required: false + + - type: textarea + id: tasks + attributes: + label: Implementation Tasks + description: List of tasks to complete this feature + placeholder: | + - [ ] Task 1 + - [ ] Task 2 + - [ ] Task 3 + value: | + - [ ] + validations: + required: true + + - type: textarea + id: acceptance + attributes: + label: Acceptance Criteria + description: How do we verify this monitoring feature works? + placeholder: | + - [ ] Data displays correctly + - [ ] Updates in real-time + - [ ] Performance is acceptable + value: | + - [ ] + validations: + required: true + + - type: checkboxes + id: categories + attributes: + label: Implementation Areas + description: Select all that apply + options: + - label: Backend (Data collection) + - label: Frontend (UI/Charts) + - label: Database (Storage) + - label: Real-time Updates (WebSocket) + - label: External Integration (GoAccess, CrowdSec) + - label: Documentation Required + + - type: textarea + id: ui_design + attributes: + label: UI/UX Considerations + description: Describe the user interface requirements + placeholder: Layout, charts, filters, export options, etc. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/beta-security-feature.yml b/.github/ISSUE_TEMPLATE/beta-security-feature.yml new file mode 100644 index 00000000..2ffcc0ca --- /dev/null +++ b/.github/ISSUE_TEMPLATE/beta-security-feature.yml @@ -0,0 +1,116 @@ +name: 🔐 Beta Security Feature +description: Create an issue for a Beta milestone security feature +title: "[BETA] [SECURITY] " +labels: ["beta", "feature", "security"] +body: + - type: markdown + attributes: + value: | + ## Beta Security Feature + Advanced security features for the beta release. + + - type: dropdown + id: priority + attributes: + label: Priority + description: How critical is this security feature? + options: + - Critical (Essential security control) + - High (Important protection) + - Medium (Additional hardening) + - Low (Nice-to-have security enhancement) + validations: + required: true + + - type: dropdown + id: security_category + attributes: + label: Security Category + description: What type of security feature is this? + options: + - Authentication & Access Control + - Threat Protection + - SSL/TLS Management + - Monitoring & Logging + - Web Application Firewall + - Rate Limiting + - IP Access Control + validations: + required: true + + - type: input + id: issue_number + attributes: + label: Planning Issue Number + description: Reference number from PROJECT_PLANNING.md (e.g., Issue #15) + placeholder: "Issue #" + validations: + required: false + + - type: textarea + id: description + attributes: + label: Feature Description + description: What security capability should this provide? + placeholder: Describe the security feature and its purpose + validations: + required: true + + - type: textarea + id: threat_model + attributes: + label: Threat Model + description: What threats does this feature mitigate? + placeholder: | + - Threat 1: Description and severity + - Threat 2: Description and severity + validations: + required: false + + - type: textarea + id: tasks + attributes: + label: Implementation Tasks + description: List of tasks to complete this feature + placeholder: | + - [ ] Task 1 + - [ ] Task 2 + - [ ] Task 3 + value: | + - [ ] + validations: + required: true + + - type: textarea + id: acceptance + attributes: + label: Acceptance Criteria + description: How do we verify this security control works? + placeholder: | + - [ ] Security test 1 + - [ ] Security test 2 + value: | + - [ ] + validations: + required: true + + - type: checkboxes + id: special_labels + attributes: + label: Special Categories + description: Select all that apply + options: + - label: SSO (Single Sign-On) + - label: WAF (Web Application Firewall) + - label: CrowdSec Integration + - label: Plus Feature (Premium) + - label: Requires Documentation + + - type: textarea + id: security_testing + attributes: + label: Security Testing Plan + description: How will you test this security feature? + placeholder: Describe testing approach, tools, and scenarios + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md deleted file mode 100644 index 48d5f81f..00000000 --- a/.github/ISSUE_TEMPLATE/custom.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: Custom issue template -about: Describe this issue template's purpose here. -title: '' -labels: '' -assignees: '' - ---- - - diff --git a/.github/ISSUE_TEMPLATE/general-feature.yml b/.github/ISSUE_TEMPLATE/general-feature.yml new file mode 100644 index 00000000..497d7735 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/general-feature.yml @@ -0,0 +1,97 @@ +name: ⚙️ General Feature +description: Create a feature request for any milestone +title: "[FEATURE] " +labels: ["feature"] +body: + - type: markdown + attributes: + value: | + ## Feature Request + Request a new feature or enhancement for CaddyProxyManager+ + + - type: dropdown + id: milestone + attributes: + label: Target Milestone + description: Which release should this be part of? + options: + - Alpha (Core foundation) + - Beta (Advanced features) + - Post-Beta (Future enhancements) + - Unsure (Help me decide) + validations: + required: true + + - type: dropdown + id: priority + attributes: + label: Priority + description: How important is this feature? + options: + - Critical + - High + - Medium + - Low + validations: + required: true + + - type: textarea + id: problem + attributes: + label: Problem Statement + description: What problem does this feature solve? + placeholder: Describe the use case or pain point + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed Solution + description: How should this feature work? + placeholder: Describe your ideal implementation + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives Considered + description: What other approaches could solve this? + placeholder: List alternative solutions you've thought about + validations: + required: false + + - type: textarea + id: user_story + attributes: + label: User Story + description: Describe this from a user's perspective + placeholder: "As a [user type], I want to [action] so that [benefit]" + validations: + required: false + + - type: checkboxes + id: categories + attributes: + label: Feature Categories + description: Select all that apply + options: + - label: Authentication/Authorization + - label: Security + - label: SSL/TLS + - label: Monitoring/Logging + - label: UI/UX + - label: Performance + - label: Documentation + - label: API + - label: Plus Feature (Premium) + + - type: textarea + id: additional + attributes: + label: Additional Context + description: Any other information, screenshots, or examples? + placeholder: Add links, mockups, or references + validations: + required: false