feat(config): add GitHub configuration for setup command

Adds .core/github.yaml with org-standard labels, webhook templates,
branch protection rules, and security settings for use with
`core setup github`.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Snider 2026-02-01 02:37:49 +00:00
parent 9c9e79587b
commit 04bd1b3d08

157
.core/github.yaml Normal file
View file

@ -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