name: Quality & Validation # Runs comprehensive quality checks on all PRs and pushes to main: # - Prettier (formatting) # - ESLint (linting) # - markdownlint (markdown quality) # - Installation component tests (compilation) # Keep this workflow aligned with `npm run quality` in `package.json`. "on": push: branches: [main] pull_request: branches: ["**"] workflow_dispatch: jobs: prettier: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" cache: "npm" - name: Install dependencies run: npm ci - name: Prettier format check run: npm run format:check eslint: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" cache: "npm" - name: Install dependencies run: npm ci - name: ESLint run: npm run lint markdownlint: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" cache: "npm" - name: Install dependencies run: npm ci - name: markdownlint run: npm run lint:md docs: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" cache: "npm" - name: Install dependencies run: npm ci - name: Build documentation # Note: build-docs.mjs runs link validation internally before building run: npm run docs:build validate: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" cache: "npm" - name: Install dependencies run: npm ci - name: Test agent compilation components run: npm run test:install - name: Validate file references run: npm run validate:refs - name: Validate skills run: npm run validate:skills