Skip to content

Add quality gates: linting, formatting, tests, CI#1

Merged
not-reed merged 5 commits intomainfrom
cleanup/quality-gates
Mar 10, 2026
Merged

Add quality gates: linting, formatting, tests, CI#1
not-reed merged 5 commits intomainfrom
cleanup/quality-gates

Conversation

@not-reed
Copy link
Copy Markdown
Owner

Summary

  • Linting: oxlint with correctness/suspicious/perf rules, all warnings resolved
  • Formatting: oxfmt enforced across all files
  • Pre-commit hooks: lefthook runs typecheck + lint + fmt-check in parallel
  • CI: GitHub Actions workflow runs the same checks plus tests
  • Tests: 376 tests across cairn (28), synapse (38), and construct (310) — all passing
  • Error classes: structured domain errors per package (src/errors.ts)
  • Test infrastructure: fixtures, factory functions, in-memory test DBs
  • Docs consolidation: moved from .docs/ to per-app docs/ directories
  • CLAUDE.md files: per-app AI context files for assisted development
  • Shared packages: added @repo/env and @repo/log
  • tsconfig: bumped to ES2023 (enables toSorted(), etc.)

Test plan

  • just check passes (typecheck + lint + fmt-check + test)
  • Pre-commit hooks pass on commit
  • CI pipeline passes on push

🤖 Generated with Claude Code

not-reed and others added 3 commits March 10, 2026 09:58
Extract shared Zod env helpers (intFromEnv, floatFromEnv, csvFromEnv) into
@repo/env. Extract logtape logging setup from Construct into @repo/log,
migrate Cortex and Synapse from console.log to structured logging. Add named
SIMILARITY constants in cairn replacing magic numbers across 7 files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Massive cleanup pass across the entire monorepo:

- Add oxlint (.oxlintrc.json) with correctness/suspicious/perf rules
- Add oxfmt for consistent formatting
- Add lefthook pre-commit hooks (typecheck + lint + fmt-check)
- Add GitHub Actions CI (.github/workflows/ci.yml)
- Add comprehensive test suites (376 tests across cairn, construct, synapse)
- Add structured error classes per package (src/errors.ts)
- Add test fixtures and helpers (fixtures.ts, test-db.ts)
- Add per-app CLAUDE.md files for AI-assisted development
- Add @repo/env and @repo/log shared packages
- Consolidate docs from .docs/ into per-app docs/ directories
- Bump tsconfig target/lib to ES2023
- Fix all lint warnings: toSorted(), addEventListener(), variable shadowing,
  function scoping

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Mar 10, 2026

Deploying sprawl with  Cloudflare Pages  Cloudflare Pages

Latest commit: 38395db
Status: ✅  Deploy successful!
Preview URL: https://774206b8.sprawl.pages.dev
Branch Preview URL: https://cleanup-quality-gates.sprawl.pages.dev

View logs

not-reed and others added 2 commits March 10, 2026 13:42
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@not-reed not-reed merged commit 5cf09e4 into main Mar 10, 2026
2 checks passed
@not-reed not-reed deleted the cleanup/quality-gates branch March 10, 2026 21:22
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