Skip to content

chore(release): promote main to release - #107

Open
github-actions[bot] wants to merge 7 commits into
releasefrom
main
Open

chore(release): promote main to release#107
github-actions[bot] wants to merge 7 commits into
releasefrom
main

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Automated promotion PR. Merge with a merge commit (do NOT squash) so the feat:/fix: commits reach release intact — semantic-release reads them to cut the stable version + tag. Squashing collapses them into one non-conventional commit and no release is cut.

spencer-osbrjp and others added 7 commits July 24, 2026 11:08
- backends (hono/elysia) expose read-only GET /health-check; with an ORM
  selected it runs a DB query and returns rows to confirm wiring
- default backend PORT 8000 (was 3001)
- success screen shows web/api localhost URLs
- add clean.sh dev helper to remove scaffolded folder

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…lean.sh feedback

- hono dev:server uses tsx --env-file-if-exists=.env so DATABASE_URL loads
  on Node (Bun/drizzle-kit/prisma already auto-load .env)
- success screen shows a dedicated 'Local URLs:' section instead of an
  inline comment on the dev command
- clean.sh reports what it removed (or that nothing existed)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- AGENTS.md is now stack-aware: real commands, dev URLs, monorepo map,
  ORM/DB workflow (incl. db:seed), and /health-check for the chosen combo
- add .claude/settings.json permission allowlist (package manager, docker
  compose for server DBs, wrangler for Cloudflare, read-only git)
- add .claude/commands: /verify, /format-fix, /new-component
- add db:seed script + seed fixtures for drizzle and prisma (guards D1);
  bundles tsx as the seed runner
- fix: drizzle sqlite client stripped the file: URL scheme so better-sqlite3
  opens the right path — the same DATABASE_URL now works for drizzle-kit and
  the runtime (previously /health-check and db:seed failed on sqlite)

Verified end-to-end on a live sqlite project: install → db:generate →
db:migrate → db:seed → GET /health-check returns the seeded rows.

Closes #108

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…skill (#109)

1. CI scaffold-smoke job: create → install → db setup → seed → boot API →
   curl /health-check, for sqlite drizzle & prisma (no Docker). Catches
   runtime breakage go test can't — the class of bug that shipped as the
   sqlite file: URL issue.
2. Render/invariant test (pkg/render_test.go): scaffolds combos in-process
   and asserts no unrendered template residue, valid JSON, and targeted
   content (sqlite file: strip, /health-check, db:seed, .mcp.json presence).
3. .mcp.json (Playwright MCP) scaffolded at project root when --test
   playwright, so agents can drive the running app.
4. contrib/osbr-devtools/scaffold-advisor: portable SKILL.md mapping a
   plain-English brief to a bungkus-cli create command (for osbr devtools;
   not a live skill here).

Also: AGENTS.md now warns that prisma's db:migrate is interactive and shows
the non-interactive alternatives, so agents don't hang.

Verified both sqlite loops end-to-end (drizzle + prisma): seed inserts rows
and /health-check returns them.

Closes #109

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Redundant with the bungkus-scaffold skill in osbrjp/DevTools (the single home),
which reads flags live from `--help` instead of hardcoding them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Every project generated with --audit lhci inherited a workflow that ran a
full audit twice per change, with no concurrency guard and three repeated
audits per run. Measured on a real repo built from this template:
Lighthouse was 65 of ~82 Actions minutes across 100 runs, and per-step
timings put 62 of 89 seconds inside `lhci autorun` itself.

- pull_request only. GitHub runs it against the merge result rather than
  the branch head, so the post-merge run on main re-audited a tree that
  had already passed. That duplicate was half the spend.
- concurrency group with cancel-in-progress, so several pushes in quick
  succession no longer each run a full audit to completion.
- paths-ignore for markdown, LICENSE and .github — kept deliberately
  conservative, since a generated project's layout is unknown here.
- numberOfRuns 3 -> 1. The generated gate is performance >= 0.5, far too
  loose for run-to-run variance to flip, so the median of three was paying
  ~45s per run for precision nothing consumed.
- Added an accessibility assertion, since Lighthouse computes that
  category anyway and the template was discarding it. `warn`, not
  `error`: a new blocking gate at an unknown score would fail the first
  PR of every freshly scaffolded project.
- Dropped branches dev/staging/test, which the template created but never
  scaffolds.

workflow_dispatch keeps a manual trigger for any ref. No schedule — a
cron in a scaffold would silently spend minutes in repos that may never
look at it.

Verified by building the CLI and scaffolding for real, not by reading the
template: pnpm and bun variants both render valid YAML, `${{ github.ref }}`
and the secrets expression survive Go templating intact, and no
unrendered `{{ . }}` tags remain in either output.
ci(templates): stop scaffolding a Lighthouse workflow that burns minutes
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