Skip to content

Conversation

@psm1st
Copy link
Member

@psm1st psm1st commented Nov 9, 2025

💡 To Reviewers

  • 해당 브랜치에서 새롭게 설치한 라이브러리가 있다면 함께 명시해 주세요.
  • 리뷰어가 코드를 이해하는 데 도움이 되는 정보나 참고사항이 있다면 자유롭게 작성해 주세요.

기초 환경 세팅을 진행합니다.

🔥 작업 내용 (가능한 구체적으로 작성해 주세요)

  • 기본 환경 세팅 ( nextJS, tailwind css )
  • 배포 세팅 (github action, vercel)

🤔 추후 작업 예정

  • 추가 구현이 필요한 부분이나 다음 작업 계획을 작성해 주세요.

📸 작업 결과 (스크린샷)

  • 작업 결과를 보여주는 스크린샷을 첨부해 주세요.

🔗 관련 이슈

Resolved #1

Summary by CodeRabbit

  • New Features

    • Added an initial home page with branding, action buttons, and resource links.
  • Style

    • Introduced global styling, font integration, Tailwind setup, and light/dark theme support.
  • Documentation

    • Added a README with setup, development, and deployment guidance.
  • Chores

    • Project initialization: package manifest, TypeScript, linting, PostCSS/Tailwind, Next.js config, .gitignore, build script, and CI preview/deploy workflows.

@psm1st psm1st linked an issue Nov 9, 2025 that may be closed by this pull request
4 tasks
@coderabbitai
Copy link

coderabbitai bot commented Nov 9, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Adds a new Next.js 16 TypeScript app scaffold named checkmo with Tailwind, PostCSS, ESLint, TypeScript config, global styles, a RootLayout and Home page, GitHub Actions workflows, and ancillary scripts and docs.

Changes

Cohort / File(s) Summary
Project manifest & ignore
checkmo/.gitignore, checkmo/package.json
Introduces repository ignore patterns and the package manifest with Next 16, React 19, scripts for dev/build/start/lint, and devDependencies for Tailwind, TypeScript, ESLint, PostCSS, and related tooling.
TypeScript & Next config
checkmo/tsconfig.json, checkmo/next.config.ts
Adds tsconfig with path alias @/* → ./src/* and Next config exporting nextConfig with reactCompiler: true.
Linting & CSS toolchain
checkmo/eslint.config.mjs, checkmo/postcss.config.mjs, checkmo/tailwind.config.js
Adds ESLint preset composition (exports default eslintConfig) and custom global ignores, PostCSS config exporting Tailwind plugin, and Tailwind content/theme/plugins configuration.
App source & styles
checkmo/src/app/globals.css, checkmo/src/app/layout.tsx, checkmo/src/app/page.tsx
Adds global CSS (Tailwind import, CSS variables, dark-mode), RootLayout with next/font and metadata export, and a static Home page component using Tailwind and Next/Image.
Docs & scripts
checkmo/README.md, checkmo/build.sh
Adds README with getting-started and deployment notes, plus a simple build.sh that copies frontend files to an output directory.
CI / Deployment workflows
checkmo/.github/workflows/deploy.yml, checkmo/.github/workflows/preview.yml
Adds a Deploy workflow that runs build steps and pushes output to another repository, and a preview workflow that builds and deploys PR previews to Vercel, captures preview URL, and comments it on the PR.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant PR as Pull Request
  participant GH as GitHub Actions (preview)
  participant Vercel as Vercel
  participant Bot as PR Commenter

  PR->>GH: open/update PR targeting main
  GH->>GH: checkout, install deps, build artifacts
  GH->>Vercel: deploy prebuilt artifacts (using Vercel CLI + secrets)
  Vercel-->>GH: returns preview URL
  GH->>Bot: post comment with preview URL on PR
  note right of GH `#e6f4ea`: preview workflow finishes
Loading
sequenceDiagram
  autonumber
  participant Push as Push to main
  participant GH as GitHub Actions (deploy)
  participant Build as build.sh
  participant Repo as Destination repo action

  Push->>GH: trigger Deploy workflow
  GH->>Build: run build.sh (create output)
  Build-->>GH: output directory available
  GH->>Repo: push output to other repository (uses action + secrets)
  note right of GH `#f7eef8`: deploy workflow completes
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Areas to focus review on:
    • checkmo/eslint.config.mjs — ensure preset merging and globalIgnores override are correct.
    • checkmo/next.config.ts — verify reactCompiler: true intent and compatibility.
    • .github/workflows/preview.yml — confirm secrets usage and extraction of preview URL & PR comment step.
    • checkmo/build.sh and deploy.yml — ensure copy logic and repository-push action behave as intended (no unintended overwrites).
    • checkmo/package.json — validate dependency versions and scripts for the target environment.

Poem

🐇 I hopped through configs, fonts, and light,
Tailwind leaves tucked in tidy and bright,
A layout burrow, a homepage bloom,
Workflows hum and build.sh zoom —
Little app, go hop into the night!

Pre-merge checks and finishing touches

❌ 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%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore : 환경 세팅' clearly describes the main changeset objective of performing initial environment setup with Next.js, Tailwind CSS, and related configurations.
Linked Issues check ✅ Passed The PR implements the implicit objective from issue #1 by establishing initial project environment setup with Next.js, Tailwind CSS, ESLint, PostCSS, TypeScript, and package configurations.
Out of Scope Changes check ✅ Passed All changes are scoped to initial environment setup including configuration files, package management, and build tooling. No unrelated modifications detected.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f4eb155 and ff9a9cb.

📒 Files selected for processing (3)
  • checkmo/.github/workflows/deploy.yml (1 hunks)
  • checkmo/.github/workflows/preview.yml (1 hunks)
  • checkmo/build.sh (1 hunks)

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.

@psm1st psm1st added the 📦 build 빌드 시스템, 의존성 설정 label Nov 9, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (3)
checkmo/eslint.config.mjs (1)

5-16: Consider using standard ESLint v9 flat config format.

The current configuration uses defineConfig() wrapper and globalIgnores() function, which don't match the standard ESLint v9 flat config API. In ESLint v9, the flat config format typically exports a plain array with ignores as a property in config objects.

If the current imports fail, apply this diff to use the standard ESLint v9 flat config format:

-import { defineConfig, globalIgnores } from "eslint/config";
 import nextVitals from "eslint-config-next/core-web-vitals";
 import nextTs from "eslint-config-next/typescript";
 
-const eslintConfig = defineConfig([
+export default [
   ...nextVitals,
   ...nextTs,
-  // Override default ignores of eslint-config-next.
-  globalIgnores([
+  {
+    // Override default ignores of eslint-config-next.
+    ignores: [
-    // Default ignores of eslint-config-next:
-    ".next/**",
-    "out/**",
-    "build/**",
-    "next-env.d.ts",
-  ]),
-]);
-
-export default eslintConfig;
+      ".next/**",
+      "out/**",
+      "build/**",
+      "next-env.d.ts",
+    ],
+  },
+];

Note: Verify that the import paths eslint-config-next/core-web-vitals and eslint-config-next/typescript are correct for v16. The standard import might be different.

checkmo/README.md (1)

1-36: Consider customizing the README for your project.

The README currently contains the standard Next.js boilerplate. Consider adding:

  • Project-specific description and purpose
  • Team-specific setup instructions
  • Architecture overview
  • Contribution guidelines

Also note that line 19 references app/page.tsx, but your project structure uses src/app/page.tsx.

checkmo/src/app/layout.tsx (1)

15-18: Update placeholder metadata for production.

The metadata currently uses default values from create-next-app. Consider updating the title and description to reflect your actual application name and purpose in a follow-up task.

For example:

 export const metadata: Metadata = {
-  title: "Create Next App",
-  description: "Generated by create next app",
+  title: "Checkmo",
+  description: "Your application description here",
 };
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1a36007 and a15c13e.

⛔ Files ignored due to path filters (7)
  • checkmo/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • checkmo/public/file.svg is excluded by !**/*.svg
  • checkmo/public/globe.svg is excluded by !**/*.svg
  • checkmo/public/next.svg is excluded by !**/*.svg
  • checkmo/public/vercel.svg is excluded by !**/*.svg
  • checkmo/public/window.svg is excluded by !**/*.svg
  • checkmo/src/app/favicon.ico is excluded by !**/*.ico
📒 Files selected for processing (10)
  • checkmo/.gitignore (1 hunks)
  • checkmo/README.md (1 hunks)
  • checkmo/eslint.config.mjs (1 hunks)
  • checkmo/next.config.ts (1 hunks)
  • checkmo/package.json (1 hunks)
  • checkmo/postcss.config.mjs (1 hunks)
  • checkmo/src/app/globals.css (1 hunks)
  • checkmo/src/app/layout.tsx (1 hunks)
  • checkmo/src/app/page.tsx (1 hunks)
  • checkmo/tsconfig.json (1 hunks)
🔇 Additional comments (8)
checkmo/eslint.config.mjs (1)

1-1: The import is correct. ESLint v9 flat config exports defineConfig and globalIgnores from the "eslint/config" entrypoint, and eslint-config-next v16 uses the same pattern. No changes needed.

checkmo/src/app/page.tsx (2)

3-65: Component structure looks good!

The page component is well-structured with proper use of Next.js Image component, Tailwind CSS v4 utilities, and responsive design patterns. The dark mode variants and semantic HTML are appropriate.


7-14: The referenced SVG files exist in the repository.

The static assets (next.svg and vercel.svg) are present in checkmo/public/ and correctly accessible via the /next.svg and /vercel.svg paths used in the component. No 404 errors will occur. The code is working as intended.

Likely an incorrect or invalid review comment.

checkmo/package.json (2)

17-17: React Compiler configuration verified as correct.

The setup is properly configured for Next.js 16 with React Compiler:

  • babel-plugin-react-compiler 1.0.0 is included as a devDependency
  • reactCompiler: true is explicitly set in next.config.ts
  • No Babel configuration files are present, which is correct—Next.js 16 automatically handles React Compiler integration without requiring manual Babel configuration

No changes needed.


9-9: Update the lint script to specify file patterns (ESLint configuration file already exists).

The lint script is incomplete and needs file patterns. However, the recommendation should use the ESLint CLI directly—Next.js 16 removed the built-in next lint command and the next.config.js eslint option; Next recommends using the ESLint CLI (flat config) and the packaged eslint-config-next.

Update the script to:

-    "lint": "eslint"
+    "lint": "eslint . --ext .js,.jsx,.ts,.tsx"

Note: The ESLint configuration file (eslint.config.mjs) already exists in the repository and is properly configured with Next.js presets.

Likely an incorrect or invalid review comment.

checkmo/src/app/layout.tsx (3)

1-14: LGTM! Font optimization setup is correct.

The imports and font configuration follow Next.js best practices. The use of next/font/google with CSS variables ensures optimal font loading and rendering performance.


26-26: Verify language attribute for target audience.

The lang attribute is set to "en", but the PR description is in Korean, suggesting this application may serve Korean users. Consider whether lang="ko" or a dynamic language detection mechanism would be more appropriate for your use case.


20-34: LGTM! Layout structure is correct.

The RootLayout component follows Next.js app router conventions correctly, with proper TypeScript typing, font variable application, and children rendering.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
checkmo/tailwind.config.js (1)

2-2: Remove or correct the redundant content path.

The content array includes './app/**/*.{js,ts,jsx,tsx}', but according to the project structure, your app directory is nested under src/ (e.g., src/app/layout.tsx). This path is already covered by './src/**/*.{js,ts,jsx,tsx}', making the ./app/** pattern redundant and potentially confusing.

Apply this diff to remove the redundant path:

-    content: ['./src/**/*.{js,ts,jsx,tsx}', './app/**/*.{js,ts,jsx,tsx}'],
+    content: ['./src/**/*.{js,ts,jsx,tsx}'],
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a15c13e and f4eb155.

⛔ Files ignored due to path filters (1)
  • checkmo/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (2)
  • checkmo/package.json (1 hunks)
  • checkmo/tailwind.config.js (1 hunks)
🔇 Additional comments (3)
checkmo/package.json (3)

11-29: Dependencies are free from known security vulnerabilities.

The specified versions are secure: Next.js 16.0.1, React 19.2.0, and Tailwind CSS ^4 have no matching known security advisories. Older versions have CVEs, but your current versions are not affected.


17-17: Tailwind CSS v4 is confirmed stable and production-ready.

Tailwind CSS v4 was released as a stable release on January 22, 2025, with follow-up releases including v4.1 on April 3, 2025. The versions specified in package.json (@tailwindcss/cli: ^4.1.17, @tailwindcss/postcss: ^4, and tailwindcss: ^4) are appropriate for a production codebase and do not present stability concerns.


12-12: Next.js 16.0.1 is confirmed stable and current.

Next.js 16 was released as a stable major release on October 21, 2025, and version 16.0.1 was published as the latest 16.x patch on October 28, 2025. The package specification is valid for production use.

@psm1st psm1st merged commit 0d61fa1 into main Nov 9, 2025
1 check was pending
This was referenced Jan 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📦 build 빌드 시스템, 의존성 설정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[chore] 환경세팅

1 participant