Skip to content

Migrate Repository to TypeScript and Add Build and Lint Workflows - #3

Merged
rahulc0dy merged 6 commits into
mainfrom
refactor/migrate-repo-to-ts
Oct 26, 2026
Merged

rahulc0dy merged 6 commits into
mainfrom
refactor/migrate-repo-to-ts

Conversation

@rahulc0dy

@rahulc0dy rahulc0dy commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Issue Reference

Summary by CodeRabbit

  • Documentation
    • Updated the project guide with setup, development, deployment, and contribution information.
  • Developer Tools
    • Added automated build, formatting, and lint checks for changes targeting the main branch.
    • Added consistent code formatting and linting commands.
  • Improvements
    • Added a site icon and improved handling of terminal text when no highlight is specified.

@rahulc0dy rahulc0dy added documentation Improvements or additions to documentation enhancement New feature or request labels Oct 26, 2026
@rahulc0dy
rahulc0dy requested a review from theMr17 October 26, 2026 09:32
@rahulc0dy rahulc0dy self-assigned this Oct 26, 2026
@netlify

netlify Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for makeshift-engineering ready!

Name Link
🔨 Latest commit 20f9d6d
🔍 Latest deploy log https://app.netlify.com/projects/makeshift-engineering/deploys/6adf47154b2c04a78ab83b8c
😎 Deploy Preview https://deploy-preview-3--makeshift-engineering.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 45 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 116fb9be-c09c-4d36-bbb0-828fd7915558
Commits

Reviewing files that changed from the base of the PR and between b729c6e and 20f9d6d.

Files selected for processing: 1
  • README.md

Walkthrough

The repository adds TypeScript, ESLint, and Prettier setup, updates application types, and adds a fallback for missing terminal highlights. It also adds build and lint workflows, updates the README, and changes the pull request template.

Changes

TypeScript Migration and Repository Workflows

Layer / File(s) Summary
TypeScript and code-quality setup
.prettierrc.json, .prettierignore, tsconfig.json, jsconfig.json, eslint.config.mjs, package.json, next.config.mjs
Adds TypeScript, ESLint, and Prettier configuration, scripts, and development dependencies. Removes the JavaScript path configuration and reformats the Next.js configuration declaration.
Apply types and update app code
app/components/HeroTerminal/*, app/components/ScrollReveal.tsx, app/layout.tsx, app/page.tsx, app/components/Footer/*, app/components/Navbar/*, app/globals.css, app/page.module.css
Adds types to application props, state, refs, and functions. The terminal renderer defaults a missing highlight to an empty string. Other described JSX and CSS changes are formatting updates.
CI workflows and contributor documentation
.github/workflows/*, .github/PULL_REQUEST_TEMPLATE.md, README.md
Adds build and lint workflows for pushes and pull requests targeting main. Updates the README with project and Bun instructions, and adds issue-reference and summary placeholders to the pull request template.

Priority: Low

Merge Risk: Low · up to b729c

The change remains mergeable with minor follow-up for truncated terminal output and incorrect repository documentation.

Pre-merge checks: Passed 2 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 12 functions across 9 files. (5 skipped: 5… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 2 passed
Check name Status Explanation
Linked Issues check Passed For #1, the app source uses .ts and .tsx files. tsconfig.json enables strict TypeScript checking. The TypeScript React and ESLint dependencies and configuration are present. For #2, `.github/PUL…
Out of Scope Changes check Passed The formatting changes support the TypeScript migration and the format and lint workflows. The TypeScript configuration, ESLint and Prettier configuration, package scripts, dependency updates, README …
Full details: Linked Issues check

Explanation

For #1, the app source uses .ts and .tsx files. tsconfig.json enables strict TypeScript checking. The TypeScript React and ESLint dependencies and configuration are present. For #2, .github/PULL_REQUEST_TEMPLATE.md, README.md, .github/workflows/build.yml, and .github/workflows/lint.yml are present. package.json provides the build, format, and lint scripts used by the workflows. No additional coding requirements are defined in the linked issue text.

Full details: Out of Scope Changes check

Explanation

The formatting changes support the TypeScript migration and the format and lint workflows. The TypeScript configuration, ESLint and Prettier configuration, package scripts, dependency updates, README changes, PR template, and workflows directly support #1 and #2. The available whole-PR summary shows no unrelated feature change.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 12 functions across 9 files. (5 skipped: 5 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@coderabbitai coderabbitai Bot changed the title @coderabbitai Migrate Repository to TypeScript and Add Build and Lint Workflows Oct 26, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🔇 Additional comments: 3
package.json: 1

20-21: 🩺 Stability & Availability

The claimed loader failure is not reachable through the inspected lint path. The lint workflow runs bun run lint, but the inspected package.json defines no lint script, so no script in this path starts the ESLint CLI. The jiti requirement never applies here.

tsconfig.json-7-7: 1

7-7: Trivial · Maintainability & Code Quality · Quick win

⚠️ Unverified finding
Verification ran but could not confirm this finding. It is shown for review, not as a verified issue.

Enable the additional compiler safety checks.

strict does not enable noUnusedLocals, noUnusedParameters, or noFallthroughCasesInSwitch. Add these options so the TypeScript migration checks unused declarations and accidental switch fallthrough. (typescriptlang.org) Based on learnings, these three checks should accompany a new tsconfig.json.

Proposed compiler options
     "strict": true,
+    "noUnusedLocals": true,
+    "noUnusedParameters": true,
+    "noFallthroughCasesInSwitch": true,

Source: Learnings

eslint.config.ts-2-5: 1

2-5: Trivial · Maintainability & Code Quality · Quick win

⚠️ Unverified finding
Verification ran but could not confirm this finding. It is shown for review, not as a verified issue.

Add the Next.js TypeScript lint rules.

core-web-vitals parses TypeScript, but the separate eslint-config-next/typescript configuration supplies TypeScript-specific recommended rules. Add it to the lint configuration for the migrated files. (nextjs.org)

Proposed configuration
 import nextVitals from "eslint-config-next/core-web-vitals";
+import nextTs from "eslint-config-next/typescript";

 const eslintConfig = defineConfig([
   ...nextVitals,
+  ...nextTs,

Review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 0f52cde0-475d-40eb-ae69-47b707822ab0
Commits

Reviewing files that changed from the base of the PR and between 63ea511 and 990864f.

Files ignored due to path filters: 3
  • app/favicon.ico is excluded by !**/*.ico
  • bun.lock is excluded by !**/*.lock
  • package-lock.json is excluded by !**/package-lock.json
Files selected for processing: 22
  • .github/PULL_REQUEST_TEMPLATE.md
  • .github/workflows/build.yml
  • .github/workflows/lint.yml
  • .prettierignore
  • .prettierrc.json
  • README.md
  • app/components/Footer/Footer.module.css
  • app/components/Footer/Footer.tsx
  • app/components/HeroTerminal/HeroTerminal.module.css
  • app/components/HeroTerminal/HeroTerminal.tsx
  • app/components/Navbar/Navbar.module.css
  • app/components/Navbar/Navbar.tsx
  • app/components/ScrollReveal.tsx
  • app/globals.css
  • app/layout.tsx
  • app/page.module.css
  • app/page.tsx
  • eslint.config.ts
  • jsconfig.json
  • next.config.mjs
  • package.json
  • tsconfig.json
Files with no reviewable changes: 1
  • jsconfig.json

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Comment thread .github/workflows/build.yml Resolved
Comment thread .github/workflows/lint.yml Resolved
Comment thread .github/workflows/lint.yml Resolved

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


Review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 5782b916-0042-461e-9a5c-ff24a5de3c84
Commits

Reviewing files that changed from the base of the PR and between 990864f and b729c6e.

Files selected for processing: 8
  • .github/workflows/build.yml
  • .github/workflows/lint.yml
  • README.md
  • app/components/HeroTerminal/HeroTerminal.tsx
  • app/page.tsx
  • eslint.config.mjs
  • package.json
  • tsconfig.json

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Comment thread README.md Resolved
@rahulc0dy

Copy link
Copy Markdown
Member Author

@coderabbitai approve

@coderabbitai

coderabbitai Bot commented Oct 26, 2026

Copy link
Copy Markdown
✅ Action performed

Comments resolved and changes approved.

@rahulc0dy
rahulc0dy merged commit e1578eb into main Oct 26, 2026
9 checks passed
@rahulc0dy
rahulc0dy deleted the refactor/migrate-repo-to-ts branch October 26, 2026 12:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add PR Template, Update README, Add Build and Lint Workflows Migrate repo to TypeScript

1 participant