Add CI workflow to validate agent file format
Adds a lint script and GitHub Actions workflow that checks agent markdown files for required YAML frontmatter fields (name, description, color) and recommends standard sections. Only changed files in PRs are validated to avoid blocking on pre-existing issues.
This commit is contained in:
44
.github/workflows/lint-agents.yml
vendored
Normal file
44
.github/workflows/lint-agents.yml
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
name: Lint Agent Files
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'design/**'
|
||||
- 'engineering/**'
|
||||
- 'marketing/**'
|
||||
- 'product/**'
|
||||
- 'project-management/**'
|
||||
- 'testing/**'
|
||||
- 'support/**'
|
||||
- 'spatial-computing/**'
|
||||
- 'specialized/**'
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
name: Validate agent frontmatter and structure
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Get changed agent files
|
||||
id: changed
|
||||
run: |
|
||||
FILES=$(git diff --name-only --diff-filter=ACMR origin/${{ github.base_ref }}...HEAD -- \
|
||||
'design/*.md' 'engineering/*.md' 'marketing/*.md' 'product/*.md' \
|
||||
'project-management/*.md' 'testing/*.md' 'support/*.md' \
|
||||
'spatial-computing/*.md' 'specialized/*.md')
|
||||
echo "files=$FILES" >> "$GITHUB_OUTPUT"
|
||||
if [ -z "$FILES" ]; then
|
||||
echo "No agent files changed."
|
||||
else
|
||||
echo "Changed files:"
|
||||
echo "$FILES"
|
||||
fi
|
||||
|
||||
- name: Run agent linter
|
||||
if: steps.changed.outputs.files != ''
|
||||
run: |
|
||||
chmod +x scripts/lint-agents.sh
|
||||
./scripts/lint-agents.sh ${{ steps.changed.outputs.files }}
|
||||
Reference in New Issue
Block a user