Skip to content

Add CI, fix typecheck, refresh docs, and normalize formatting - #18

Merged
Deekshithrathod merged 1 commit into
mainfrom
claude/romantic-bouman-d2e658
Jun 18, 2026
Merged

Add CI, fix typecheck, refresh docs, and normalize formatting#18
Deekshithrathod merged 1 commit into
mainfrom
claude/romantic-bouman-d2e658

Conversation

@Deekshithrathod

Copy link
Copy Markdown
Owner

Overview

A repo-health pass: adds CI, makes a standalone type-check pass, refreshes drifted documentation, and normalizes formatting. No runtime/behavior changes to the app.

What changed & why

CI (new)

  • .github/workflows/ci.yml — on every push to main and PR, runs two jobs on Node 24:
    • verify: linttypecheck → unit tests → build
    • e2e: installs Playwright chromium, runs the e2e suite, uploads the report artifact
  • The repo already had unit + e2e tests but nothing enforced them.

Typecheck fix (+ scripts)

  • tsc --noEmit previously failed on the test files (toBeVisible, toHaveClass, … "does not exist on type Assertion"). Root cause: the @testing-library/jest-dom matcher types were only registered at runtime in the root vitest.setup.ts, which lives outside each project's tsconfig include.
  • Added a tiny declaration in each TS project (apps/web/types/testing-library.d.ts, packages/ui/src/testing-library.d.ts) that loads the augmentation.
  • Added a typecheck script to web and @repo/ui, a typecheck turbo task, and a root npm run typecheck. tsc now passes cleanly across the monorepo.

Dockerfile

  • Bumped both stages node:20-alpinenode:24-alpine to match engines.node (24.x).
  • ⚠️ Updated but not built/tested locally (no Docker available in this environment).

Docs

  • Rewrote CODE_FLOW.md to match the current architecture: CSS animations (no framer-motion), the /api/quotes/[author] route handler, ThemeToggle, and the real caching/timeout/fallback behavior. The previous version described a removed framer-motion/unstable_noStore design.
  • Removed the vestigial next/cache unstable_noStore mock from data.test.ts (data.ts no longer imports it).
  • README.md: fixed npm build/npm devnpm run build/npm run dev; added a Test section.

Formatting

  • Added .prettierignore so npm run format no longer rewrites .next/ build output (Prettier only auto-ignores node_modules).
  • Ran npm run format, normalizing the tab/space mix. This accounts for most of the diff's line count (e.g. data.ts is whitespace-only).

Verification

All green locally: lint ✅ · typecheck ✅ · unit tests 5/5 ✅ · build ✅ · e2e 1/1 ✅ (also run with CI=1).

Reviewer notes

  • Most of the line-count is mechanical Prettier reformatting (tabs → spaces); the substantive changes are the new CI workflow, the typecheck declarations + scripts, CODE_FLOW.md, and the Dockerfile Node bump.
  • The Dockerfile change is unverified (no Docker locally).
  • Deliberately not changed: the aggressive fetch timeouts (120 ms random / 650 ms author) are a behavioral trade-off, not a bug.
  • Follow-up (out of scope): packages/ui/src/utils/animate.tsx is dead code (framer-motion variants nothing imports; framer-motion is no longer a dependency) and can be removed separately.

🤖 Generated with Claude Code

Repo health pass across tooling, types, and docs:

- CI: add GitHub Actions workflow (.github/workflows/ci.yml) running
  lint, typecheck, unit tests, and build on Node 24, plus a separate
  Playwright e2e job. The repo had tests but nothing enforced them.
- Typecheck: `tsc --noEmit` previously failed on test files because the
  @testing-library/jest-dom matcher types were only registered at runtime
  in the root vitest.setup.ts (outside each project's tsconfig). Add a
  declaration in each TS project to load the augmentation, plus a
  `typecheck` script in web and @repo/ui, a turbo task, and a root script.
- Dockerfile: bump both stages node:20-alpine -> node:24-alpine to match
  engines.node (24.x). Not built locally (no Docker available).
- Docs: rewrite CODE_FLOW.md to match the current architecture (CSS
  animations instead of framer-motion, the /api/quotes/[author] route,
  ThemeToggle, real caching/timeout/fallback behavior). Remove the
  vestigial unstable_noStore mock from data.test.ts (data.ts no longer
  imports it). Fix README `npm build`/`npm dev` -> `npm run ...` and add
  a Test section.
- Formatting: add .prettierignore (so `npm run format` skips build output)
  and run prettier, normalizing the tab/space mix across source files.

Verified: lint, typecheck, unit tests (5/5), build, and e2e all pass.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
@vercel

vercel Bot commented Jun 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
quoto-web Ready Ready Preview, Comment Jun 18, 2026 7:02am

@coderabbitai

coderabbitai Bot commented Jun 18, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@Deekshithrathod, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 17 minutes and 4 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0ddd91d8-1202-4143-921c-d31017c3f2d0

📥 Commits

Reviewing files that changed from the base of the PR and between da2fcb3 and b8ad0ed.

📒 Files selected for processing (22)
  • .github/ISSUE_TEMPLATE/bug_report.md
  • .github/ISSUE_TEMPLATE/feature_request.md
  • .github/workflows/ci.yml
  • .prettierignore
  • CODE_FLOW.md
  • Dockerfile
  • README.md
  • apps/web/app/[authorId]/loading.tsx
  • apps/web/app/api/quotes/[author]/route.ts
  • apps/web/app/lib/data.test.ts
  • apps/web/app/lib/data.ts
  • apps/web/app/loading.tsx
  • apps/web/package.json
  • apps/web/types/testing-library.d.ts
  • package.json
  • packages/ui/package.json
  • packages/ui/src/MoveToTop.tsx
  • packages/ui/src/skeletons/AuthorBtnSkeleton.tsx
  • packages/ui/src/skeletons/QuoteSkeleton.tsx
  • packages/ui/src/testing-library.d.ts
  • packages/ui/src/utils/animate.tsx
  • turbo.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/romantic-bouman-d2e658

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Deekshithrathod
Deekshithrathod merged commit ae46a14 into main Jun 18, 2026
5 checks passed
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