Skip to content

Phase 1: repo scaffold, Postgres smoke tests, Bun + Node CI - #2

Merged
cursor[bot] merged 8 commits into
mainfrom
cursor/phase-1-scaffold-3475
Aug 26, 2026
Merged

Phase 1: repo scaffold, Postgres smoke tests, Bun + Node CI#2
cursor[bot] merged 8 commits into
mainfrom
cursor/phase-1-scaffold-3475

Conversation

@evantahler

@evantahler evantahler commented Aug 26, 2026

Copy link
Copy Markdown
Member

Implements docs/plans/01-repo-scaffold.md.

What this ships

  • Package scaffold (pgboss-queue 0.0.1, Bun, Biome, TypeScript, empty src/index.ts)
  • specHelper + bun:test smoke tests that run SELECT 1 against Postgres
  • Node 26 check: node scripts/assert-node-package.mjs imports the compiled exports["."].import entry (dist/index.js) and asserts it is running on Node, not Bun
  • .github/workflows/test.yaml: lint, build, Bun Postgres tests, node-package (invokes node directly, not bun run), complete

Runtime

  • Consumer floor is Node 26 (engines.node >=26, .nvmrc)
  • Isolation: Bun --max-concurrency=1 (not bun test --concurrency=1)

No any

  • tsconfig.json and tsconfig.test.json set noImplicitAny (not only implied by strict)
  • bun run build typechecks tests via tsconfig.test.json
  • Biome suspicious/noExplicitAny is an error

Local Postgres

No docker-compose.yml. Set DATABASE_URL (see .env.example). CI starts Postgres as a GitHub Actions service.

Plan updates

Phase 1 status is in-progress until merge. Lessons learned and related notes are in phases 1, 7, 8, and 10.

Open in Web Open in Cursor 

cursoragent and others added 4 commits August 26, 2026 05:26
Stand up the package, specHelper, and Postgres smoke tests. CI runs the same node:test files on Bun and Node 26 against a Postgres service. There is no docker-compose file; local tests only need DATABASE_URL. Bun uses --max-concurrency=1; Node uses --test-concurrency=1.

Co-authored-by: Evan Tahler <evan@evantahler.com>
Set noImplicitAny in tsconfig, typecheck tests via tsconfig.test.json, and fail lint on explicit any.

Co-authored-by: Evan Tahler <evan@evantahler.com>
Restore bun:test for Postgres tests and add scripts/assert-node-package.mjs so CI proves Node 26 can import dist without duplicating the suite.

Co-authored-by: Evan Tahler <evan@evantahler.com>
The node-package job already sets up Node 26; invoke the smoke script with that binary so the check cannot run under Bun.

Co-authored-by: Evan Tahler <evan@evantahler.com>
@evantahler
evantahler marked this pull request as ready for review August 26, 2026 05:34
cursoragent and others added 4 commits August 26, 2026 05:35
Keep the flag explicit in tsconfig.json (not only implied by strict) and repeat it on tsconfig.test.json so tests stay covered if strict is relaxed.

Co-authored-by: Evan Tahler <evan@evantahler.com>
The GitHub token for this agent cannot write branch protection or rulesets (403).

Co-authored-by: Evan Tahler <evan@evantahler.com>
The agent token cannot write branch protection or rulesets.

Co-authored-by: Evan Tahler <evan@evantahler.com>
Acceptance criteria are met on this PR; squash-merge is the remaining step.

Co-authored-by: Evan Tahler <evan@evantahler.com>
@cursor
cursor Bot merged commit 4f29042 into main Aug 26, 2026
6 checks passed
@cursor
cursor Bot deleted the cursor/phase-1-scaffold-3475 branch August 26, 2026 05:53
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.

2 participants