| title | LightSpeed .github Repository | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| description | Central governance hub for LightSpeed: community health files, automation workflows, canonical labels, AI/agent specifications, and portable reusable resources (agents, skills, workflows, hooks, instructions, plugins, schemas). | ||||||||
| version | 3.0 | ||||||||
| created_date | 2025-01-10 | ||||||||
| last_updated | 2026-09-09 | ||||||||
| file_type | documentation | ||||||||
| maintainer | LightSpeed Team | ||||||||
| authors |
|
||||||||
| license | GPL-3.0 | ||||||||
| tags |
|
||||||||
| domain | governance | ||||||||
| stability | stable |
The LightSpeed .github repository serves as the centralised governance and automation hub for the LightSpeed organisation. It manages community health files, canonical label definitions, GitHub Actions workflows, issue/PR templates, contribution standards, and portable reusable resources for AI-driven automation.
All LightSpeed repositories reference and inherit from this repository, ensuring consistent governance, labeling, automation, and quality standards across the entire organisation.
This repository contains:
- Governance files: Issue/PR templates, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SUPPORT.md, security policies
- Automation & labels: Canonical
labels.yml,issue-types.yml, labeling workflows, and project automation - GitHub Actions: Reusable workflows for CI/CD, labeling, project sync, and quality gates
- AI & Agents: Specifications, instructions, and configurations for Claude agents and automation
- Portable resources: Reusable agents, skills, workflows, hooks, instructions, plugins, and schemas
- Documentation: Comprehensive guides on branching, contribution, automation governance, and standards
graph TB
accTitle: "LightSpeed .github repository structure"
accDescr {
Top-down view of the main folders and their purposes:
.github for community health and governance,
agents for reusable specifications,
skills for self-contained automation,
workflows for agentic processes,
docs for comprehensive guides,
tests for quality validation.
}
A["π LightSpeed .github"] --> B["π .github/"]
A --> C["π€ agents/"]
A --> D["β‘ skills/"]
A --> E["π workflows/"]
A --> F["π docs/"]
A --> G["π§ͺ tests/"]
A --> H["π instructions/"]
A --> I["π plugins/"]
A --> J["π¦ schemas/"]
B --> B1["community-health files"]
B --> B2["custom-instructions.md"]
B --> B3["workflows/"]
B --> B4["labels.yml, issue-types.yml"]
B --> B5["ISSUE_TEMPLATE/, PULL_REQUEST_TEMPLATE/"]
C --> C1["Reusable agent specs"]
C --> C2["Agent documentation"]
C --> C3["30+ portable agents"]
D --> D1["SKILL.md entrypoints"]
D --> D2["Automation & tooling skills"]
D --> D3["99+ self-contained skills"]
E --> E1["Agentic workflows"]
E --> E2["Portable orchestration"]
E --> E3["Multi-agent processes"]
F --> F1["Branching strategy"]
F --> F2["Automation governance"]
F --> F3["Coding standards"]
F --> F4["Contributing guides"]
G --> G1["Unit tests"]
G --> G2["Integration tests"]
G --> G3["Coverage reports"]
H --> H1["Portable instructions"]
H --> H2["Coding standards"]
H --> H3["Mermaid guidance"]
H --> H4["File organisation"]
I --> I1["Plugin families"]
I --> I2["Bundled assets"]
I --> I3["Plugin specs"]
J --> J1["Frontmatter schema"]
J --> J2["Collection schemas"]
J --> J3["Validation rules"]
classDef core fill:#e2e8f0,stroke:#0f172a,color:#0f172a,stroke-width:2px
classDef gov fill:#d9f2ff,stroke:#0f172a,color:#0f172a,stroke-width:2px
classDef ai fill:#f3e8ff,stroke:#6b21a8,color:#0f172a,stroke-width:2px
classDef resource fill:#d1fae5,stroke:#0f172a,color:#0f172a,stroke-width:2px
classDef sub fill:#fef3c7,stroke:#92400e,color:#0f172a,stroke-width:1px
class A core
class B,B1,B2,B3,B4,B5 gov
class C,C1,C2,C3 ai
class D,D1,D2,D3 resource
class E,E1,E2,E3 ai
class F,F1,F2,F3,F4 gov
class G,G1,G2,G3 resource
class H,H1,H2,H3,H4 resource
class I,I1,I2,I3 resource
class J,J1,J2,J3 resource
linkStyle default stroke:#0f172a,stroke-width:1.4px
| Directory | Purpose | Status |
|---|---|---|
.github/ |
GitHub community health files, workflows, labels, issue/PR templates | π Locked (curated) |
agents/ |
30+ portable reusable agent specifications and documentation | Active |
skills/ |
99+ self-contained skills with SKILL.md entrypoints | Active |
workflows/ |
Portable agentic workflows for multi-step automation | Active |
instructions/ |
Reusable instruction files (coding standards, Mermaid, file org, etc.) | Active |
plugins/ |
Plugin families, manifests, and bundled assets | Active |
schemas/ |
Data schemas (frontmatter, collections, validation rules) | Active |
hooks/ |
Portable hooks and guardrails for automation | Active |
docs/ |
Comprehensive governance, strategy, and contribution guides | Active |
tests/ |
Unit, integration, and E2E test suites | Active |
scripts/ |
Automation scripts and utility tools | Active |
prompts/ |
Prompt templates (legacy; moving to skills and cookbook) | Legacy |
cookbook/ |
Recipes, playbooks, and implementation examples | Active |
The diagram below illustrates how canonical governance files, automation workflows, and AI agents work together to maintain consistent standards across all LightSpeed repositories.
flowchart LR
accTitle: "Repository inheritance and automation flow"
accDescr {
Shows how canonical files from .github repository propagate through
automation workflows to enforce labels, standards, and governance
across all LightSpeed organisation repositories.
}
A["π Canonical Files<br/>.github/"] --> B["π Labels & Types"]
B --> C["π·οΈ Auto-Apply Labels"]
A --> D["π§ Issue/PR Templates"]
D --> E["π― Template Routing"]
A --> F["π€ Agent Specs"]
F --> G["βοΈ Automation Flow"]
C --> H["β
Quality Gates"]
E --> H
G --> H
H --> I["π Project Sync"]
I --> J["π Org-wide Standards"]
classDef files fill:#d9f2ff,stroke:#0f172a,color:#0f172a,stroke-width:2px
classDef process fill:#f3e8ff,stroke:#6b21a8,color:#0f172a,stroke-width:2px
classDef outcome fill:#d1fae5,stroke:#0f172a,color:#0f172a,stroke-width:2px
class A,B,D,F files
class C,E,G,H process
class I,J outcome
linkStyle default stroke:#0f172a,stroke-width:1.4px
- Read first: CONTRIBUTING.md β Contribution guidelines and workflow
- Branching strategy: docs/BRANCHING_STRATEGY.md β Branch naming and workflow
- Coding standards: instructions/coding-standards.instructions.md β Language-specific standards
- Branch naming: Review CLAUDE.md β Critical branch naming rules and patterns
- Agent overview: AGENTS.md β Global AI rules and agent specifications
- Custom instructions: .github/custom-instructions.md β Copilot configuration
- Available agents: agents/README.md β All 30+ reusable agents
- Skills catalogue: skills/README.md β 99+ self-contained skills
- Automation governance: docs/AUTOMATION_GOVERNANCE.md β Workflow orchestration and governance
- Label management: docs/LABEL_STRATEGY.md β Label taxonomy and usage
- Issue types: .github/issue-types.yml β Canonical issue type definitions
- Labeler rules: .github/labeler.yml β File-path-based auto-labeling
The following files are manually curated and locked. Request changes via GitHub issues:
| File | Purpose | Change Request |
|---|---|---|
.github/labels.yml |
Canonical label definitions (158 labels) | Open: [LABEL-UPDATE-REQUEST] |
.github/issue-types.yml |
Org-wide issue type definitions (24 types) | Open: [ISSUE-TYPE-UPDATE-REQUEST] |
.github/ISSUE_TEMPLATE/*.md |
Issue templates (26 templates) | Open: [TEMPLATE-UPDATE-REQUEST] |
.github/PULL_REQUEST_TEMPLATE/*.md |
PR templates (19 templates) | Open: [TEMPLATE-UPDATE-REQUEST] |
- CONTRIBUTING.md β How to contribute to LightSpeed projects
- CODE_OF_CONDUCT.md β Community standards and conduct
- SUPPORT.md β Getting help and support channels
- SECURITY.md β Security policy and reporting
- .github/labels.yml β Canonical label definitions
- .github/issue-types.yml β Canonical issue types
- .github/labeler.yml β Automated labeling rules
- docs/LABEL_STRATEGY.md β Label taxonomy and strategy
- .github/ISSUE_TEMPLATE/ β Issue templates
- .github/PULL_REQUEST_TEMPLATE/ β PR templates
- .github/workflows/ β GitHub Actions workflows
- docs/PR_CREATION_PROCESS.md β PR workflow guide
- agents/README.md β 30+ portable agent specifications
- skills/README.md β 99+ self-contained skills with SKILL.md entrypoints
- workflows/README.md β Portable agentic workflows
- instructions/README.md β Reusable instruction files (no .github assumptions)
- plugins/README.md β Plugin families and bundles
- schemas/README.md β Portable data schemas
- hooks/README.md β Portable hooks and guardrails
- cookbook/README.md β Recipes, playbooks, and examples
- AGENTS.md β Global AI rules and agent overview
- CLAUDE.md β Claude Code session rules (branch naming, conventions, locked files)
- docs/BRANCHING_STRATEGY.md β Git branching conventions
- docs/AUTOMATION_GOVERNANCE.md β Automation standards and governance
- instructions/coding-standards.instructions.md β Unified coding standards
- instructions/file-organisation.instructions.md β File placement and organisation
The following diagram shows the typical development workflow for changes to this repository: from code changes through pre-commit validation, testing, and CI/CD to deployment.
flowchart TD
accTitle: "Development workflow and quality gates"
accDescr {
Flowchart showing the path from code changes through pre-commit hooks,
linting checks, test suites, coverage validation, and CI/CD pipeline
to successful deployment.
}
A["π Code Change"] --> B["π Pre-commit Hooks"]
B --> C{Linting<br/>Pass?}
C -->|β No| D["π οΈ Fix Issues"]
D --> B
C -->|β
Yes| E["π§ͺ Run Tests"]
E --> F{Tests<br/>Pass?}
F -->|β No| G["π Debug & Fix"]
G --> E
F -->|β
Yes| H["π Generate Coverage"]
H --> I["β
Quality Gates Pass"]
I --> J["πΎ Commit & Push"]
J --> K["π CI/CD Pipeline"]
K --> L{All Checks<br/>Pass?}
L -->|β No| M["π§ Review Failure"]
M --> N["π Fix & Re-push"]
N --> K
L -->|β
Yes| O["π Merge/Deploy"]
classDef change fill:#e2e8f0,stroke:#0f172a,color:#0f172a
classDef validation fill:#d9f2ff,stroke:#0f172a,color:#0f172a
classDef test fill:#d1fae5,stroke:#0f172a,color:#0f172a
classDef deploy fill:#f3e8ff,stroke:#6b21a8,color:#0f172a
classDef decision fill:#fef3c7,stroke:#92400e,color:#0f172a
class A change
class B,C,D validation
class E,F,G,H,I test
class J,K,M,N deploy
class L decision
linkStyle default stroke:#0f172a,stroke-width:1.4px
# Install dependencies
npm ci
# Run linters
npm run lint # Core linters (JS, CSS, YAML, package.json)
npm run lint:all # All linters including workflows and markdown
npm run lint:js # JavaScript/TypeScript
npm run lint:css # CSS/SCSS
npm run lint:yaml # YAML files
npm run lint:md # Markdown files
# Format code
npm run format # Format all supported files
# Run tests
npm test # All JavaScript/TypeScript tests
npm run test:js # JS/TS tests with coverage
npm run test:e2e # Playwright E2E tests
# Validation
npm run validate:branch-name -- --branch <branch-name>
npm run validate:frontmatterThis repository maintains comprehensive test coverage across unit, integration, and E2E tests. The diagram below shows the testing architecture and quality gates.
flowchart LR
accTitle: "Testing architecture and quality pipeline"
accDescr {
Left-to-right flowchart showing how test types (unit, integration, E2E)
map to tools (Jest, Playwright), which feed into quality gates
(coverage, performance, accessibility, security).
}
A["π§ͺ Unit Tests"] --> B["Jest"]
C["π Integration Tests"] --> B
D["π E2E Tests"] --> E["Playwright"]
B --> F["π Coverage"]
E --> G["β‘ Performance"]
E --> H["βΏ Accessibility"]
F --> I["β
Quality Gates"]
G --> I
H --> I
I --> J["π Security Scan"]
J --> K{Green?}
K -->|β
Yes| L["βοΈ Pass"]
K -->|β No| M["β οΈ Fix Required"]
classDef test fill:#d1fae5,stroke:#0f172a,color:#0f172a
classDef tool fill:#d9f2ff,stroke:#0f172a,color:#0f172a
classDef gate fill:#fef3c7,stroke:#92400e,color:#0f172a
classDef result fill:#ede9fe,stroke:#5b21b6,color:#0f172a
class A,C,D test
class B,E tool
class F,G,H,J,K gate
class L,M result
linkStyle default stroke:#0f172a,stroke-width:1.4px
See docs/TESTING.md for comprehensive testing guidance, configuration, and best practices.
This repository maintains 158 canonical labels organised by family (type, status, priority, area, meta, etc.). All labels follow the prefix pattern and are defined in .github/labels.yml.
- type: Bug, Feature, Documentation, Task, Chore, Security, Design, etc.
- status: Needs-triage, In-progress, Blocked, Done, etc.
- priority: Critical, High, Normal, Low
- area: CI, Docs, Labels, Security, Testing, Automation, etc.
- meta: Needs-changelog, Has-PR, Duplicate, Needs-audit, etc.
- lang: PHP, JavaScript, CSS, etc.
Important: Always use prefixed labels (e.g., type:bug, not bug). See docs/LABEL_STRATEGY.md for the full taxonomy.
All code quality and automation standards are enforced via pre-commit hooks and linting workflows.
Key files:
- docs/LINTING.md β Linting strategy and configuration
- docs/HUSKY_PRECOMMITS.md β Pre-commit hooks and automation
- docs/config/ β Configuration documentation (ESLint, Prettier, Stylelint, Jest, etc.)
Local commands:
npm run lint:all # Run all linters
npm run format # Format all files
npm test # Run all testsPre-commit hooks (via Husky) automatically run linting and formatting checks before every commit.
All LightSpeed repositories should inherit standards, labels, workflows, and templates from this repository.
-
Copy issue/PR templates:
cp -r .github/ISSUE_TEMPLATE /path/to/your/repo/.github/ cp .github/PULL_REQUEST_TEMPLATE/*.md /path/to/your/repo/.github/PULL_REQUEST_TEMPLATE/ -
Sync labels workflow: Create
.github/workflows/label-sync.ymlin your repo:name: Label Sync on: schedule: - cron: "0 9 * * 1" workflow_dispatch: jobs: sync: uses: lightspeedwp/.github/workflows/label-sync.yml@develop secrets: inherit
-
Auto-labeling workflow: Create
.github/workflows/labeling.ymlin your repo:name: Auto-Labeling on: pull_request: types: [opened, edited, synchronize, reopened] issues: types: [opened, edited, reopened] jobs: labeling: uses: lightspeedwp/.github/workflows/labeling.yml@develop secrets: inherit
-
Follow branch naming: Use the pattern
{type}/{scope}-{title}(e.g.,feat/user-auth,fix/header-bug,docs/api-guide)
See docs/BRANCHING_STRATEGY.md for complete branching conventions and CONTRIBUTING.md for full onboarding.
Before merging changes to this repository:
- Branch follows naming pattern:
{type}/{scope}-{title} - Frontmatter is complete (title, description, last_updated, file_type where applicable)
- No changes to locked files (
.github/labels.yml,.github/issue-types.yml, templates) without approval - All linting passes:
npm run lint:all - All tests pass:
npm test - Mermaid diagrams are valid and meet WCAG AA contrast
- README follows section order and includes diagrams where mandatory
- Links and references are verified
- UK English spelling throughout
- Commit message includes co-author attribution
- AGENTS.md β Global AI rules and agent specifications
- CLAUDE.md β Claude Code session rules (branch naming, conventions, locked files)
- CONTRIBUTING.md β Contribution guidelines
- CODE_OF_CONDUCT.md β Community standards
- SUPPORT.md β Support and help resources
- docs/ β Comprehensive governance, strategy, and guides
- instructions/ β Reusable instruction files
- agents/README.md β Reusable agent specifications
- skills/README.md β Self-contained skills catalogue
This project is licensed under the GNU General Public License v3.0 β see the LICENSE file for details.
We welcome contributions! Please:
- Read CONTRIBUTING.md for guidelines
- Follow the branch naming strategy
- Check CLAUDE.md for critical rules
- Open an issue or discussion for questions
- Found a bug? Open an issue
- Have a feature request? Start a discussion
- Need support? See SUPPORT.md
π Built by LightSpeedWP with β, open source, and automation spirit!
This repository is managed by the LightSpeed team. All organisational automation, governance, and documentation updates are maintained here.