feat(skills): add dependency verification to /ship skill #617
Workflow file for this run
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: codingbuddy-dev | |
| on: | |
| push: | |
| branches-ignore: | |
| - master | |
| - stag-** | |
| paths: | |
| - 'apps/mcp-server/**' | |
| - 'apps/landing-page/**' | |
| - 'packages/rules/**' | |
| - 'packages/claude-code-plugin/**' | |
| - '.antigravity/**' | |
| - '.claude/**' | |
| - '.codex/**' | |
| - '.cursor/**' | |
| - 'scripts/**' | |
| - '.github/copilot-instructions.md' | |
| - '.github/instructions/**' | |
| - .github/workflows/dev.yml | |
| permissions: | |
| statuses: write | |
| contents: read | |
| jobs: | |
| # ─────────────── Setup Job ─────────────── | |
| install-dependencies: | |
| if: github.repository == 'JeremyDev87/codingbuddy' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Setup node.js | |
| uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: '24' | |
| - name: Restore dependencies from cache | |
| id: cache | |
| uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 | |
| with: | |
| path: | | |
| node_modules | |
| apps/*/node_modules | |
| packages/*/node_modules | |
| key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-yarn- | |
| - name: Install dependencies | |
| run: yarn install --immutable | |
| # ─────────────── CI Jobs (parallel) ─────────────── | |
| lint-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Lint | |
| run: yarn workspace codingbuddy lint | |
| prettier-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Format check | |
| run: yarn workspace codingbuddy format:check | |
| type-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Type check | |
| run: yarn workspace codingbuddy typecheck | |
| unit-test-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Test with coverage | |
| run: yarn workspace codingbuddy test:coverage | |
| circular-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Circular dependency check | |
| run: yarn workspace codingbuddy circular | |
| build-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Build | |
| run: yarn workspace codingbuddy build | |
| # ─────────────── Rules Validation ─────────────── | |
| rules-validation: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Validate AI Rules | |
| run: | | |
| echo "📋 Validating JSON Schema..." | |
| yarn dlx ajv-cli@5.0.0 validate -s packages/rules/.ai-rules/schemas/agent.schema.json -d "packages/rules/.ai-rules/agents/*.json" --spec=draft7 | |
| echo "" | |
| echo "📝 Linting Markdown files..." | |
| yarn dlx markdownlint-cli2@0.20.0 "packages/rules/.ai-rules/**/*.md" | |
| echo "" | |
| echo "✅ All rules validation passed!" | |
| # ─────────────── Security Scan ─────────────── | |
| security-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Security audit | |
| run: yarn workspace codingbuddy npm audit --severity high | |
| # ─────────────── Plugin CI Jobs ─────────────── | |
| plugin-lint: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Lint | |
| run: yarn workspace codingbuddy-claude-plugin lint | |
| plugin-type-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Type check | |
| run: yarn workspace codingbuddy-claude-plugin typecheck | |
| plugin-test: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Test with coverage | |
| run: yarn workspace codingbuddy-claude-plugin test:coverage | |
| plugin-build: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Build plugin | |
| run: yarn workspace codingbuddy-claude-plugin build | |
| plugin-circular-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Circular dependency check | |
| run: yarn workspace codingbuddy-claude-plugin circular | |
| plugin-format-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Format check | |
| run: yarn workspace codingbuddy-claude-plugin format:check | |
| plugin-security-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Security audit | |
| run: yarn workspace codingbuddy-claude-plugin npm audit --severity high | |
| # ─────────────── Landing Page CI Jobs ─────────────── | |
| landing-lint: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Lint | |
| run: yarn workspace landing-page lint | |
| landing-type-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Type check | |
| run: yarn workspace landing-page typecheck | |
| landing-test: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Test with coverage | |
| run: yarn workspace landing-page test:coverage | |
| landing-build: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Build Next.js app | |
| run: yarn workspace landing-page build | |
| landing-circular-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Circular dependency check | |
| run: yarn workspace landing-page check:circular | |
| landing-format-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Format check | |
| run: yarn workspace landing-page format:check | |
| landing-security-check: | |
| needs: install-dependencies | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/setup | |
| - name: Security audit | |
| run: yarn workspace landing-page npm audit --severity high |