Skip to content

feat(config): Claude Code adapter (~/.claude.json) [D1] #283

feat(config): Claude Code adapter (~/.claude.json) [D1]

feat(config): Claude Code adapter (~/.claude.json) [D1] #283

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
build-and-test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22, 24, 26]
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
with:
version: 10
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: ${{ matrix.node-version }}
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm run typecheck
- run: pnpm run build
- run: pnpm run test:coverage
confine-macos:
# The --confine OS sandbox (Seatbelt / sandbox-exec) is macOS-only and cannot
# be exercised by the ubuntu matrix above. This leg runs the hermetic
# end-to-end confine dogfood on a real macOS runner so the flagship
# enforcement path is CI-verified, not just verified locally. The full unit
# suite is intentionally NOT run here (a couple of tests are darwin-env
# sensitive); the dogfood is the enforcement contract that matters.
name: confine dogfood (macOS)
runs-on: macos-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
with:
version: 10
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 24
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm dogfood:confine