v2.0.0 - Final launch: Universal agent integration for all 13 support… #16
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Validate | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| branches: [main, master] | |
| jobs: | |
| validate: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Lint install.sh | |
| run: bash -n install.sh | |
| - name: Validate PS1 installer | |
| shell: pwsh | |
| run: | | |
| $errors = $null | |
| [System.Management.Automation.PSParser]::Tokenize((Get-Content install.ps1 -Raw), [ref]$errors) | |
| if ($errors.Count -gt 0) { throw "PS1 syntax errors: $errors" } | |
| - name: Validate AGENTS.md @import targets exist | |
| run: | | |
| grep -oP '@references/\K\S+' AGENTS.md | while read f; do | |
| if [ ! -f "references/$f" ]; then | |
| echo "ERROR: AGENTS.md imports references/$f but it does not exist" | |
| exit 1 | |
| fi | |
| done | |
| - name: Validate all agent dirs have content | |
| run: | | |
| for dir in agents/*/; do | |
| agent=$(basename "$dir") | |
| if [ -z "$(ls -A "$dir")" ]; then | |
| echo "ERROR: agents/$agent/ is empty" | |
| exit 1 | |
| fi | |
| done | |
| - name: Validate SKILL.md frontmatter | |
| run: | | |
| grep -q '^---$' SKILL.md || { echo "ERROR: SKILL.md missing YAML frontmatter"; exit 1; } | |
| grep -q '^name:' SKILL.md || { echo "ERROR: SKILL.md missing name field"; exit 1; } | |
| grep -q '^description:' SKILL.md || { echo "ERROR: SKILL.md missing description field"; exit 1; } | |
| - name: Lint agent awareness docs | |
| run: | | |
| # Every agent doc must teach when to keep full fidelity... | |
| for f in $(find agents -type f -name '*.md'); do | |
| if ! grep -qiE 'raw|full fidelity|native Read' "$f"; then | |
| echo "ERROR: $f has no raw-fidelity guidance (correctness protection)" | |
| exit 1 | |
| fi | |
| done | |
| # ...and must not resurrect the deprecated "always prefix" policy. | |
| if grep -rniE 'always prefix|prefix everything|wrap everything' agents/; then | |
| echo "ERROR: deprecated 'always prefix' language found in agents/" | |
| exit 1 | |
| fi | |
| - name: Validate Pi doc documents the raw escape hatch | |
| run: | | |
| # If the Pi extension auto-wraps bash calls, the agent needs a real way | |
| # to opt out — otherwise the selective policy is inert. | |
| grep -qE 'RTK_DISABLED|rtk proxy' agents/pi/rtk-awareness.md || { | |
| echo "ERROR: agents/pi/rtk-awareness.md must document a raw escape hatch (RTK_DISABLED / rtk proxy)" | |
| exit 1 | |
| } |