diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 51c66eb..4c0de34 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -218,8 +218,14 @@ jobs: upload_coverage_artifact: ${{ github.event.inputs.upload_coverage_artifact != 'false' }} # ── Type check (runs inside the coverage-badge job) ──────────────────── + # Skipped deliberately: git-embedded is a dynamic slothlet-composed API + # (self.* / context.* resolved at runtime). tsc can't statically type that + # surface, slothlet's typegen only emits an all-`any` structural interface + # (no real types), and a checkJs pass is ~260 untypeable dynamic-API errors — + # there is no meaningful JS type-check to run. ESLint is the static-analysis + # net. (Investigated 2026-07-19; revisit if the API gains real generated types.) type_check_command: ${{ github.event.inputs.type_check_command || 'npm run test:types' }} - skip_type_check: ${{ github.event.inputs.skip_type_check == 'true' }} + skip_type_check: true # ── PR coverage badge ───────────────────────────────────────────────── # Injects a Shields.io badge + breakdown table directly into the PR body diff --git a/package.json b/package.json index bdfb869..a1d623c 100644 --- a/package.json +++ b/package.json @@ -67,9 +67,11 @@ }, "scripts": { "start": "node bin/git-embedded.mjs", + "build:ci": "echo '✓ no build step'", "test": "vitest run --config .configs/vitest.config.mjs", "test:watch": "vitest --config .configs/vitest.config.mjs", "coverage": "vitest run --coverage --config .configs/vitest.config.mjs", + "ci:coverage": "npm run coverage", "lint": "eslint --config .configs/eslint.config.mjs .", "lint:fix": "eslint --config .configs/eslint.config.mjs . --fix", "format": "prettier --config .configs/.prettierrc --write .",