name: CI on: push: branches: [main, master] pull_request: branches: [main, master] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Bun uses: oven-sh/setup-bun@v2 with: bun-version: latest - name: Cache dependencies uses: actions/cache@v4 with: path: | ~/.bun/install/cache node_modules key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }} restore-keys: | ${{ runner.os }}-bun- - name: Install dependencies run: bun install --frozen-lockfile - name: Run tests run: bun test - name: Type check run: bun run typecheck - name: Build run: bun run build - name: Verify build output run: | test -f dist/main.js test -f dist/main.cjs test -x dist/main.js head -n 1 dist/main.js | grep -q "#!/usr/bin/env node" - name: Install Claude Code CLI run: npm install -g @anthropic-ai/claude-code - name: Test with Node.js run: | # Test that the build works with --help node dist/main.js --help # Verify it shows Claude Code help output node dist/main.js --help | grep -q "Usage: claude"