name: CI on: push: branches: [master, main] pull_request: jobs: ci: name: Typecheck & Lint (Node ${{ matrix.node-version }}) runs-on: ubuntu-latest strategy: matrix: node-version: [20, 22] steps: - uses: actions/checkout@v4 - name: Setup Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'npm' - name: Install dependencies run: npm ci - name: Type check run: npm run typecheck - name: Lint run: npm run lint - name: Format check run: npm run format:check # Note: The test suite is intentionally excluded from CI. # Tests spawn real tmux sessions and require a full system environment. # Run tests locally with: npx vitest run test/.test.ts