Skip to content

feat(create-app): run the scaffolded CI as one guren gate step - #691

Merged
7nohe merged 2 commits into
mainfrom
feat/cli-gate-ci
Sep 6, 2026
Merged

feat(create-app): run the scaffolded CI as one guren gate step#691
7nohe merged 2 commits into
mainfrom
feat/cli-gate-ci

Conversation

@7nohe

@7nohe 7nohe commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • The default and API-only .github/workflows/ci.yml ran codegen, typecheck, lint, check --ci, audit, and the tests as six steps. They now run one bunx guren gate --deps step: the same stages in the same order, so a change that passes bunx guren gate locally passes CI. The API-only workflow drops its --routes routes/api.ts flags (the gate finds the entry itself, since feat(cli): add guren gate, one exit-coded verdict on a change #690).
  • scripts/smoke/fresh-app.ts runs the gate in place of its separate bun test / check --ci / audit / oxlint steps, and starter-template-audit asserts the gate step.
  • The development MCP endpoint exposes guren_gate (changed, deps), returning the per-stage report with isError set when a stage fails. On a @guren/cli older than guren gate the tool says so instead of throwing. The harness entry document lists it.

Follow-up from #690. smoke:starter:npm is expected red until the release that publishes guren gate ships (the template now uses it).

Test plan

  • packages/server/tests/mcp: 64 pass (new: guren_gate report / error flag / missing-runGate case; tool count 11)
  • bun run typecheck, bun run lint
  • audit:starter-template, audit:docs, audit:core-first, audit:agent-catalog, audit:workspace-scripts
  • smoke:starter and smoke:starter:api: both pass, the gate reports 6 passed / 0 failed / 0 skipped on each fresh app (lint ran on the app's own oxlint)

The default and API-only ci.yml ran codegen, typecheck, lint, check --ci,
audit, and the tests as six steps; they now run `bunx guren gate --deps`,
the same stages in the same order, so a change that passes the gate
locally passes CI, and the API-only workflow drops its --routes flags
(the gate finds the entry). The starter smoke runs the gate too, and the
template audit asserts the gate step.

The development MCP endpoint exposes the gate as `guren_gate` (changed,
deps), returning the per-stage report and flagging a failed gate as an
error; on a @guren/cli without runGate it says so instead of throwing.
@7nohe
7nohe merged commit 05dfef2 into main Sep 6, 2026
8 checks passed
@7nohe
7nohe deleted the feat/cli-gate-ci branch September 6, 2026 05:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant