Skip to content

feat(skills): add dependency verification to /ship skill #617

feat(skills): add dependency verification to /ship skill

feat(skills): add dependency verification to /ship skill #617

Workflow file for this run

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