38a975ee57
Branch Policy Check / Verify merge target (pull_request) Successful in 0s
Remove VERSION: XX.YY.ZZ lines from 213 file headers across PHP, TypeScript, TF definitions, workflows, CSS, markdown, and XML files. Version is tracked in composer.json and CHANGELOG.md only. Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
764 lines
29 KiB
Terraform
764 lines
29 KiB
Terraform
/**
|
|
* MokoStandards Repository Structure Definition
|
|
* Repository structure definition for the MokoStandards standards and templates repository
|
|
*
|
|
* Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
|
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
* Schema Version: 1.0
|
|
*/
|
|
|
|
locals {
|
|
repository_structure = {
|
|
metadata = {
|
|
name = "MokoStandards Repository"
|
|
description = "Repository structure definition for MokoStandards - organizational standards, templates, and automation"
|
|
repository_type = "standards"
|
|
platform = "standards"
|
|
last_updated = "2026-03-03T00:00:00Z"
|
|
maintainer = "Moko Consulting"
|
|
version = "05.00.00"
|
|
schema_version = "1.0"
|
|
}
|
|
|
|
root_files = [
|
|
{
|
|
name = "README.md"
|
|
extension = "md"
|
|
description = "Repository overview and documentation"
|
|
required = true
|
|
always_overwrite = false
|
|
protected = true
|
|
audience = "general"
|
|
},
|
|
{
|
|
name = "LICENSE"
|
|
extension = ""
|
|
description = "License file (GPL-3.0-or-later)"
|
|
required = true
|
|
audience = "general"
|
|
},
|
|
{
|
|
name = "CHANGELOG.md"
|
|
extension = "md"
|
|
description = "Version history and changes"
|
|
required = true
|
|
always_overwrite = false
|
|
protected = true
|
|
audience = "general"
|
|
},
|
|
{
|
|
name = "SECURITY.md"
|
|
extension = "md"
|
|
description = "Security policy and vulnerability reporting"
|
|
required = true
|
|
always_overwrite = true
|
|
template = "templates/docs/required/template-SECURITY.md"
|
|
always_overwrite = false
|
|
protected = true
|
|
audience = "general"
|
|
},
|
|
{
|
|
name = "CODE_OF_CONDUCT.md"
|
|
extension = "md"
|
|
description = "Community code of conduct"
|
|
required = true
|
|
always_overwrite = true
|
|
template = "templates/docs/extra/template-CODE_OF_CONDUCT.md"
|
|
always_overwrite = false
|
|
protected = true
|
|
audience = "contributor"
|
|
},
|
|
{
|
|
name = "ROADMAP.md"
|
|
extension = "md"
|
|
description = "Project roadmap with version goals and milestones"
|
|
required = true
|
|
always_overwrite = false
|
|
protected = true
|
|
audience = "general"
|
|
},
|
|
{
|
|
name = "CONTRIBUTING.md"
|
|
extension = "md"
|
|
description = "Contribution guidelines"
|
|
required = true
|
|
always_overwrite = true
|
|
template = "templates/docs/required/template-CONTRIBUTING.md"
|
|
always_overwrite = false
|
|
protected = true
|
|
audience = "contributor"
|
|
},
|
|
{
|
|
name = "GOVERNANCE.md"
|
|
extension = "md"
|
|
description = "Project governance model and decision-making process"
|
|
required = true
|
|
always_overwrite = false
|
|
protected = true
|
|
audience = "general"
|
|
},
|
|
{
|
|
name = "CITATION.cff"
|
|
extension = "cff"
|
|
description = "Citation file format for academic references"
|
|
required = true
|
|
audience = "general"
|
|
},
|
|
{
|
|
name = ".gitignore"
|
|
extension = "gitignore"
|
|
description = "Git ignore patterns"
|
|
required = true
|
|
always_overwrite = false
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = ".gitattributes"
|
|
extension = "gitattributes"
|
|
description = "Git attributes configuration"
|
|
required = true
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = ".gitmessage"
|
|
extension = "gitmessage"
|
|
description = "Git commit message template"
|
|
required = true
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = ".git-blame-ignore-revs"
|
|
extension = "git-blame-ignore-revs"
|
|
description = "Git blame ignore revisions"
|
|
requirement_status = "suggested"
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = ".mailmap"
|
|
extension = "mailmap"
|
|
description = "Git mailmap for contributor attribution"
|
|
requirement_status = "suggested"
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = ".editorconfig"
|
|
extension = "editorconfig"
|
|
description = "Editor configuration for consistent coding style"
|
|
required = true
|
|
always_overwrite = false
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = ".eslintrc.json"
|
|
extension = "json"
|
|
description = "ESLint configuration for JavaScript"
|
|
requirement_status = "suggested"
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = ".prettierrc.json"
|
|
extension = "json"
|
|
description = "Prettier configuration for code formatting"
|
|
requirement_status = "suggested"
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = ".markdownlint.json"
|
|
extension = "json"
|
|
description = "Markdown linting configuration"
|
|
requirement_status = "suggested"
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = ".yamllint"
|
|
extension = "yamllint"
|
|
description = "YAML linting configuration"
|
|
requirement_status = "suggested"
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = ".pylintrc"
|
|
extension = "pylintrc"
|
|
description = "Python linting configuration"
|
|
requirement_status = "suggested"
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = ".htmlhintrc"
|
|
extension = "htmlhintrc"
|
|
description = "HTML linting configuration"
|
|
requirement_status = "suggested"
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = "composer.json"
|
|
extension = "json"
|
|
description = "PHP dependency management"
|
|
requirement_status = "suggested"
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = ".gitea/.mokostandards"
|
|
extension = "xml"
|
|
description = "MokoStandards XML manifest — generated programmatically by RepositorySynchronizer::migrateMokoStandards()"
|
|
requirement_status = "required"
|
|
always_overwrite = false
|
|
audience = "developer"
|
|
template = "managed-by-sync"
|
|
source_type = "programmatic"
|
|
},
|
|
{
|
|
name = "renovate.json"
|
|
extension = "json"
|
|
description = "Renovate dependency management configuration"
|
|
required = true
|
|
always_overwrite = false
|
|
audience = "developer"
|
|
template = "templates/configs/renovate.json"
|
|
}
|
|
]
|
|
|
|
directories = [
|
|
{
|
|
name = "api"
|
|
path = "api"
|
|
description = "API scripts and automation"
|
|
required = true
|
|
purpose = "Contains all operational scripts - validation, automation, build, release, etc."
|
|
subdirectories = [
|
|
{
|
|
name = "validate"
|
|
path = "api/validate"
|
|
description = "Validation scripts"
|
|
required = true
|
|
purpose = "Scripts for validating repository structure, health, and compliance"
|
|
},
|
|
{
|
|
name = "automation"
|
|
path = "api/automation"
|
|
description = "Automation scripts"
|
|
required = true
|
|
purpose = "Scripts for bulk operations and repository synchronization"
|
|
},
|
|
{
|
|
name = "build"
|
|
path = "api/build"
|
|
description = "Build scripts"
|
|
requirement_status = "suggested"
|
|
purpose = "Scripts for building and packaging"
|
|
},
|
|
{
|
|
name = "release"
|
|
path = "api/release"
|
|
description = "Release scripts"
|
|
requirement_status = "suggested"
|
|
purpose = "Scripts for release management"
|
|
},
|
|
{
|
|
name = "tests"
|
|
path = "api/tests"
|
|
description = "Test scripts"
|
|
requirement_status = "suggested"
|
|
purpose = "Test scripts and test data"
|
|
},
|
|
{
|
|
name = "maintenance"
|
|
path = "api/maintenance"
|
|
description = "Maintenance scripts"
|
|
requirement_status = "suggested"
|
|
purpose = "Scripts for repository maintenance tasks"
|
|
},
|
|
{
|
|
name = "definitions"
|
|
path = "api/definitions"
|
|
description = "Repository structure definitions"
|
|
required = true
|
|
purpose = "HCL/Terraform definition files for different repository types"
|
|
},
|
|
{
|
|
name = "lib"
|
|
path = "api/lib"
|
|
description = "Shared libraries"
|
|
requirement_status = "suggested"
|
|
purpose = "Shared code libraries and utilities"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name = "docs"
|
|
path = "docs"
|
|
description = "Documentation"
|
|
required = true
|
|
purpose = "Comprehensive documentation for standards, guides, policies, and references"
|
|
subdirectories = [
|
|
{
|
|
name = "guide"
|
|
path = "docs/guide"
|
|
description = "User guides"
|
|
requirement_status = "suggested"
|
|
},
|
|
{
|
|
name = "reference"
|
|
path = "docs/reference"
|
|
description = "Reference documentation"
|
|
requirement_status = "suggested"
|
|
},
|
|
{
|
|
name = "policy"
|
|
path = "docs/policy"
|
|
description = "Policies and standards"
|
|
requirement_status = "suggested"
|
|
},
|
|
{
|
|
name = "workflows"
|
|
path = "docs/workflows"
|
|
description = "Workflow documentation"
|
|
requirement_status = "suggested"
|
|
},
|
|
{
|
|
name = "security"
|
|
path = "docs/security"
|
|
description = "Security documentation"
|
|
requirement_status = "suggested"
|
|
},
|
|
{
|
|
name = "development"
|
|
path = "docs/development"
|
|
description = "Development documentation"
|
|
requirement_status = "suggested"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name = "templates"
|
|
path = "templates"
|
|
description = "Template files"
|
|
required = true
|
|
purpose = "Template files for workflows, configs, documentation, and projects"
|
|
subdirectories = [
|
|
{
|
|
name = "workflows"
|
|
path = "templates/workflows"
|
|
description = "GitHub Actions workflow templates"
|
|
required = true
|
|
},
|
|
{
|
|
name = "github"
|
|
path = "templates/github"
|
|
description = "GitHub configuration templates"
|
|
required = true
|
|
},
|
|
{
|
|
name = "docs"
|
|
path = "templates/docs"
|
|
description = "Documentation templates"
|
|
requirement_status = "suggested"
|
|
},
|
|
{
|
|
name = "configs"
|
|
path = "templates/configs"
|
|
description = "Configuration file templates"
|
|
requirement_status = "suggested"
|
|
},
|
|
{
|
|
name = "licenses"
|
|
path = "templates/licenses"
|
|
description = "License templates"
|
|
requirement_status = "suggested"
|
|
},
|
|
{
|
|
name = "projects"
|
|
path = "templates/projects"
|
|
description = "Project definition templates"
|
|
requirement_status = "suggested"
|
|
},
|
|
{
|
|
name = "terraform"
|
|
path = "templates/terraform"
|
|
description = "Terraform configuration templates"
|
|
requirement_status = "suggested"
|
|
},
|
|
{
|
|
name = "scripts"
|
|
path = "templates/scripts"
|
|
description = "Script templates"
|
|
requirement_status = "suggested"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name = "logs"
|
|
path = "logs"
|
|
description = "Log files"
|
|
requirement_status = "suggested"
|
|
purpose = "Storage for operation logs, audit trails, and metrics"
|
|
subdirectories = [
|
|
{
|
|
name = "audit"
|
|
path = "logs/audit"
|
|
description = "Audit logs"
|
|
requirement_status = "suggested"
|
|
},
|
|
{
|
|
name = "automation"
|
|
path = "logs/automation"
|
|
description = "Automation logs"
|
|
requirement_status = "suggested"
|
|
},
|
|
{
|
|
name = "validation"
|
|
path = "logs/validation"
|
|
description = "Validation logs"
|
|
requirement_status = "suggested"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name = ".github"
|
|
path = ".github"
|
|
description = "GitHub-specific configuration"
|
|
required = true
|
|
purpose = "GitHub Actions workflows and configuration"
|
|
subdirectories = [
|
|
{
|
|
name = "workflows"
|
|
path = ".github/workflows"
|
|
description = "GitHub Actions workflows"
|
|
required = true
|
|
files = [
|
|
{
|
|
name = "deploy-dev.yml"
|
|
extension = "yml"
|
|
description = "SFTP deployment of src/ to the development server"
|
|
requirement_status = "required"
|
|
always_overwrite = true
|
|
template = "templates/workflows/shared/deploy-dev.yml.template"
|
|
},
|
|
{
|
|
name = "deploy-demo.yml"
|
|
extension = "yml"
|
|
description = "SFTP deployment of src/ to the demo server on merge to main"
|
|
requirement_status = "required"
|
|
always_overwrite = true
|
|
template = "templates/workflows/shared/deploy-demo.yml.template"
|
|
},
|
|
{
|
|
name = "deploy-rs.yml"
|
|
extension = "yml"
|
|
description = "SFTP deployment of src/ to the release staging server on merge to main"
|
|
requirement_status = "required"
|
|
always_overwrite = true
|
|
template = "templates/workflows/shared/deploy-rs.yml.template"
|
|
},
|
|
{
|
|
name = "sync-version-on-merge.yml"
|
|
extension = "yml"
|
|
description = "Auto-bump patch version on merge and propagate to all file headers"
|
|
requirement_status = "required"
|
|
always_overwrite = true
|
|
template = "templates/workflows/shared/sync-version-on-merge.yml.template"
|
|
},,
|
|
},
|
|
{
|
|
name = "auto-release.yml"
|
|
extension = "yml"
|
|
description = "Auto-create GitHub Release on push to main with version from README.md"
|
|
requirement_status = "required"
|
|
always_overwrite = true
|
|
template = "templates/workflows/shared/auto-release.yml.template"
|
|
{
|
|
name = "codeql-analysis.yml"
|
|
extension = "yml"
|
|
description = "CodeQL security analysis workflow"
|
|
requirement_status = "required"
|
|
always_overwrite = true
|
|
template = "templates/workflows/generic/codeql-analysis.yml.template"
|
|
},
|
|
},
|
|
{
|
|
name = "repository-cleanup.yml"
|
|
extension = "yml"
|
|
description = "One-time cleanup: reset labels, strip issue template headers, delete old branches — self-deletes after run"
|
|
requirement_status = "suggested"
|
|
always_overwrite = true
|
|
template = "templates/workflows/shared/repository-cleanup.yml.template"
|
|
{
|
|
name = "standards-compliance.yml"
|
|
extension = "yml"
|
|
description = "MokoStandards self-compliance validation"
|
|
requirement_status = "suggested"
|
|
always_overwrite = true
|
|
template = ".github/workflows/standards-compliance.yml"
|
|
},
|
|
{
|
|
name = "enterprise-firewall-setup.yml"
|
|
extension = "yml"
|
|
description = "Enterprise firewall rules setup workflow"
|
|
requirement_status = "suggested"
|
|
always_overwrite = true
|
|
template = "templates/workflows/shared/enterprise-firewall-setup.yml.template"
|
|
},
|
|
{
|
|
name = "auto-dev-issue.yml"
|
|
extension = "yml"
|
|
description = "Auto-create tracking issue when a dev/** branch is pushed"
|
|
requirement_status = "required"
|
|
always_overwrite = true
|
|
template = "templates/workflows/shared/auto-dev-issue.yml.template"
|
|
},
|
|
{
|
|
name = "cascade-dev.yml"
|
|
extension = "yml"
|
|
description = "Forward-merge main to all open branches (dev, rc/*, beta/*, alpha/*) on push to main"
|
|
requirement_status = "required"
|
|
always_overwrite = true
|
|
template = "workflows/cascade-dev.yml"
|
|
},
|
|
{
|
|
name = "gitleaks.yml"
|
|
extension = "yml"
|
|
description = "Secret scanning — detect leaked credentials, API keys, and tokens using Gitleaks"
|
|
requirement_status = "required"
|
|
always_overwrite = true
|
|
template = "workflows/gitleaks.yml"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name = "ISSUE_TEMPLATE"
|
|
path = ".github/ISSUE_TEMPLATE"
|
|
description = "GitHub issue templates"
|
|
requirement_status = "required"
|
|
files = [
|
|
{
|
|
name = "config.yml"
|
|
always_overwrite = true
|
|
template = "templates/github/ISSUE_TEMPLATE/config.yml"
|
|
},
|
|
{
|
|
name = "adr.md"
|
|
always_overwrite = true
|
|
template = "templates/github/ISSUE_TEMPLATE/adr.md"
|
|
},
|
|
{
|
|
name = "bug_report.md"
|
|
always_overwrite = true
|
|
template = "templates/github/ISSUE_TEMPLATE/bug_report.md"
|
|
},
|
|
{
|
|
name = "documentation.md"
|
|
always_overwrite = true
|
|
template = "templates/github/ISSUE_TEMPLATE/documentation.md"
|
|
},
|
|
{
|
|
name = "enterprise_support.md"
|
|
always_overwrite = true
|
|
template = "templates/github/ISSUE_TEMPLATE/enterprise_support.md"
|
|
},
|
|
{
|
|
name = "feature_request.md"
|
|
always_overwrite = true
|
|
template = "templates/github/ISSUE_TEMPLATE/feature_request.md"
|
|
},
|
|
{
|
|
name = "firewall-request.md"
|
|
always_overwrite = true
|
|
template = "templates/github/ISSUE_TEMPLATE/firewall-request.md"
|
|
},
|
|
{
|
|
name = "question.md"
|
|
always_overwrite = true
|
|
template = "templates/github/ISSUE_TEMPLATE/question.md"
|
|
},
|
|
{
|
|
name = "request-license.md"
|
|
always_overwrite = true
|
|
template = "templates/github/ISSUE_TEMPLATE/request-license.md"
|
|
},
|
|
{
|
|
name = "rfc.md"
|
|
always_overwrite = true
|
|
template = "templates/github/ISSUE_TEMPLATE/rfc.md"
|
|
},
|
|
{
|
|
name = "security.md"
|
|
always_overwrite = true
|
|
template = "templates/github/ISSUE_TEMPLATE/security.md"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
files = [
|
|
{
|
|
name = "config.tf"
|
|
extension = "tf"
|
|
description = "Repository override configuration for bulk sync"
|
|
requirement_status = "suggested"
|
|
always_overwrite = false
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = "copilot.yml"
|
|
extension = "yml"
|
|
description = "GitHub Copilot configuration — topic list and repo metadata"
|
|
requirement_status = "required"
|
|
always_overwrite = true
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = "copilot-instructions.md"
|
|
extension = "md"
|
|
description = "GitHub Copilot custom instructions for this repository"
|
|
requirement_status = "suggested"
|
|
always_overwrite = false
|
|
audience = "developer"
|
|
},
|
|
{
|
|
name = "CLAUDE.md"
|
|
extension = "md"
|
|
description = "Claude Code context and instructions for this repository"
|
|
requirement_status = "suggested"
|
|
always_overwrite = false
|
|
audience = "developer"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name = ".checkpoints"
|
|
path = ".checkpoints"
|
|
description = "Checkpoint files for long-running operations"
|
|
requirement_status = "optional"
|
|
purpose = "Stores checkpoint data for resumable operations"
|
|
}
|
|
]
|
|
|
|
repository_requirements = {
|
|
secrets = [
|
|
{
|
|
name = "GH_TOKEN"
|
|
description = "Org-level GitHub PAT for automation — configure in org Actions secrets"
|
|
required = true
|
|
},
|
|
{
|
|
name = "DEV_FTP_KEY"
|
|
description = "SSH private key for SFTP dev deployment (preferred); if DEV_FTP_PASSWORD is also set it is used as the key passphrase, with password-only as fallback"
|
|
required = false
|
|
scope = "org"
|
|
},
|
|
{
|
|
name = "DEV_FTP_PASSWORD"
|
|
description = "SFTP password for dev deployment; used as SSH key passphrase when DEV_FTP_KEY is also set, and as standalone fallback if key auth fails"
|
|
required = false
|
|
scope = "org"
|
|
note = "At least one of DEV_FTP_KEY or DEV_FTP_PASSWORD must be configured"
|
|
}
|
|
]
|
|
|
|
variables = [
|
|
{
|
|
name = "STANDARDS_VERSION"
|
|
description = "Current MokoStandards version"
|
|
required = false
|
|
},
|
|
{
|
|
name = "DEV_FTP_HOST"
|
|
description = "Dev server hostname; may include port suffix (e.g. dev.example.com or dev.example.com:2222)"
|
|
required = true
|
|
scope = "org"
|
|
},
|
|
{
|
|
name = "DEV_FTP_PATH"
|
|
description = "Base remote path for SFTP deployment (e.g. /var/www/html)"
|
|
required = true
|
|
scope = "org"
|
|
},
|
|
{
|
|
name = "DEV_FTP_USERNAME"
|
|
description = "SFTP username for dev server authentication"
|
|
required = true
|
|
scope = "org"
|
|
},
|
|
{
|
|
name = "DEV_FTP_PORT"
|
|
description = "Explicit SFTP port override; if omitted the port is parsed from DEV_FTP_HOST or defaults to 22"
|
|
required = false
|
|
scope = "org"
|
|
},
|
|
{
|
|
name = "DEV_FTP_SUFFIX"
|
|
description = "Per-repo path suffix appended to DEV_FTP_PATH (e.g. /mokostandards)"
|
|
required = false
|
|
scope = "repo"
|
|
}
|
|
]
|
|
|
|
branch_protections = [
|
|
{
|
|
branch_pattern = "main"
|
|
require_pull_request = true
|
|
required_approvals = 0
|
|
dismiss_stale_reviews = true
|
|
block_on_rejected_reviews = true
|
|
restrict_pushes = true
|
|
push_whitelist = ["jmiller"]
|
|
enable_force_push = true
|
|
force_push_whitelist = ["jmiller"]
|
|
enforce_admins = false
|
|
},
|
|
{
|
|
branch_pattern = "dev"
|
|
require_pull_request = false
|
|
required_approvals = 0
|
|
restrict_pushes = false
|
|
enable_force_push = true
|
|
force_push_whitelist = ["jmiller"]
|
|
},
|
|
{
|
|
branch_pattern = "rc/*"
|
|
require_pull_request = false
|
|
required_approvals = 0
|
|
restrict_pushes = false
|
|
enable_force_push = true
|
|
force_push_whitelist = ["jmiller"]
|
|
},
|
|
{
|
|
branch_pattern = "beta/*"
|
|
require_pull_request = false
|
|
required_approvals = 0
|
|
restrict_pushes = false
|
|
enable_force_push = true
|
|
force_push_whitelist = ["jmiller"]
|
|
},
|
|
{
|
|
branch_pattern = "alpha/*"
|
|
require_pull_request = false
|
|
required_approvals = 0
|
|
restrict_pushes = false
|
|
enable_force_push = true
|
|
force_push_whitelist = ["jmiller"]
|
|
}
|
|
]
|
|
|
|
repository_settings = {
|
|
has_issues = true
|
|
has_projects = true
|
|
has_wiki = false
|
|
has_discussions = true
|
|
allow_squash_merge = true
|
|
allow_merge_commit = false
|
|
allow_rebase_merge = true
|
|
delete_branch_on_merge = true
|
|
}
|
|
|
|
labels = [
|
|
{ name = "bulk-sync-success", color = "0e8a16", description = "Bulk sync completed successfully" },
|
|
{ name = "bulk-sync-failure", color = "d73a4a", description = "Bulk sync failed" },
|
|
{ name = "standards-update", color = "fbca04", description = "Standards update" },
|
|
{ name = "template-update", color = "d4c5f9", description = "Template file update" },
|
|
{ name = "documentation", color = "0075ca", description = "Documentation changes" },
|
|
{ name = "automation", color = "5319e7", description = "Automation scripts" }
|
|
]
|
|
}
|
|
}
|
|
}
|