diff --git a/.core/github.yaml b/.core/github.yaml new file mode 100644 index 0000000..50c4ced --- /dev/null +++ b/.core/github.yaml @@ -0,0 +1,157 @@ +# GitHub repository configuration for Host UK organisation. +# Used by: core setup github +# +# Environment variables can be referenced using ${VAR} or ${VAR:-default} syntax. + +version: 1 + +# Organisation-standard labels +labels: + # Priority labels + - name: "priority:critical" + color: "b60205" + description: "Must be fixed immediately" + - name: "priority:high" + color: "d93f0b" + description: "Should be fixed soon" + - name: "priority:medium" + color: "fbca04" + description: "Normal priority" + - name: "priority:low" + color: "0e8a16" + description: "Nice to have" + + # Type labels + - name: "type:bug" + color: "d73a4a" + description: "Something isn't working" + - name: "type:feature" + color: "a2eeef" + description: "New feature or request" + - name: "type:enhancement" + color: "84b6eb" + description: "Improvement to existing feature" + - name: "type:docs" + color: "0075ca" + description: "Documentation improvements" + - name: "type:refactor" + color: "d4c5f9" + description: "Code refactoring" + - name: "type:test" + color: "bfd4f2" + description: "Test improvements" + - name: "type:chore" + color: "fef2c0" + description: "Maintenance tasks" + - name: "type:security" + color: "ee0701" + description: "Security-related issue" + + # Status labels + - name: "status:blocked" + color: "b60205" + description: "Blocked by another issue or external factor" + - name: "status:in-progress" + color: "fbca04" + description: "Currently being worked on" + - name: "status:review" + color: "6f42c1" + description: "Ready for review" + - name: "status:ready" + color: "0e8a16" + description: "Ready for development" + + # Agent labels (for AI-assisted development) + - name: "agent:ready" + color: "00ff00" + description: "Task ready for AI agent pickup" + - name: "agent:assigned" + color: "1d76db" + description: "Task assigned to AI agent" + - name: "agent:blocked" + color: "e99695" + description: "Agent needs human input" + - name: "agent:completed" + color: "0e8a16" + description: "Agent completed the task" + + # Scope labels + - name: "scope:api" + color: "c5def5" + description: "API changes" + - name: "scope:ui" + color: "bfdadc" + description: "User interface changes" + - name: "scope:db" + color: "d4c5f9" + description: "Database changes" + - name: "scope:infra" + color: "f9d0c4" + description: "Infrastructure changes" + - name: "scope:deps" + color: "fef2c0" + description: "Dependency updates" + + # Workflow labels + - name: "breaking" + color: "b60205" + description: "Contains breaking changes" + - name: "good first issue" + color: "7057ff" + description: "Good for newcomers" + - name: "help wanted" + color: "008672" + description: "Extra attention is needed" + - name: "wontfix" + color: "ffffff" + description: "This will not be worked on" + - name: "duplicate" + color: "cfd3d7" + description: "This issue or pull request already exists" + +# Webhooks (optional - set env vars to enable) +webhooks: + discord-push: + url: ${DISCORD_WEBHOOK_PUSH:-} + events: + - push + - release + content_type: json + + discord-issues: + url: ${DISCORD_WEBHOOK_ISSUES:-} + events: + - issues + - issue_comment + - pull_request + - pull_request_review + content_type: json + +# Branch protection rules +branch_protection: + - branch: main + required_reviews: 1 + dismiss_stale: true + require_code_owner_reviews: false + enforce_admins: false + require_linear_history: false + allow_force_pushes: false + allow_deletions: false + require_conversation_resolution: true + + - branch: dev + required_reviews: 1 + dismiss_stale: true + require_code_owner_reviews: false + enforce_admins: false + require_linear_history: false + allow_force_pushes: false + allow_deletions: false + require_conversation_resolution: false + +# Security settings +security: + dependabot_alerts: true + dependabot_security_updates: true + secret_scanning: true + push_protection: true