feat: Implement comprehensive workspace synchronization command #1
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 Plugins | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| jobs: | |
| validate: | |
| name: Validate Plugin Structure | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install jq | |
| run: sudo apt-get update && sudo apt-get install -y jq | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Run bash validation | |
| run: | | |
| chmod +x scripts/validate-plugins.sh | |
| bash scripts/validate-plugins.sh | |
| - name: Run Python validation | |
| run: python scripts/fix-marketplace.py | |
| - name: Check for uncommitted changes | |
| run: | | |
| if [[ -n $(git status --porcelain) ]]; then | |
| echo "ERROR: Validation script made changes to files" | |
| echo "Please run 'python scripts/fix-marketplace.py' locally and commit changes" | |
| git status | |
| exit 1 | |
| fi | |
| - name: Count plugins | |
| run: | | |
| AGENT_COUNT=$(find plugins/agents -mindepth 1 -maxdepth 1 -type d | wc -l) | |
| COMMAND_COUNT=$(find plugins/commands -mindepth 1 -maxdepth 1 -type d | wc -l) | |
| TOTAL_COUNT=$((AGENT_COUNT + COMMAND_COUNT)) | |
| echo "Plugin Statistics:" | |
| echo "- Agents: $AGENT_COUNT" | |
| echo "- Commands: $COMMAND_COUNT" | |
| echo "- Total: $TOTAL_COUNT" | |
| echo "AGENT_COUNT=$AGENT_COUNT" >> $GITHUB_ENV | |
| echo "COMMAND_COUNT=$COMMAND_COUNT" >> $GITHUB_ENV | |
| echo "TOTAL_COUNT=$TOTAL_COUNT" >> $GITHUB_ENV | |
| - name: Validate plugin count | |
| run: | | |
| if [ $TOTAL_COUNT -lt 100 ]; then | |
| echo "WARNING: Plugin count is below 100 ($TOTAL_COUNT)" | |
| else | |
| echo "Plugin count looks good: $TOTAL_COUNT plugins" | |
| fi | |
| - name: Summary | |
| if: always() | |
| run: | | |
| echo "## Validation Complete" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Total Plugins**: $TOTAL_COUNT" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Agents**: $AGENT_COUNT" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Commands**: $COMMAND_COUNT" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "All validation checks passed!" >> $GITHUB_STEP_SUMMARY |