Skip to content

Conversation

@toothlessdev
Copy link
Owner

📎 Related issues

📦 Scope

  • @patchlogr/core
  • @patchlogr/cli
  • @patchlogr/oas
  • @patchlogr/inspector
  • @patchlogr/types
  • docs, examples
  • tests
  • ci / cd / infra
  • other (아래에 명시)

📌 Summary

  • @patchlogr/inspector/client, @patchlogr/inspector/server 패키지 초기 설정
  • github action workflow 에 빌드 결과물 아티팩트 업로드 job 추가
    • 추후 플랫폼 결정 후, environment 별 빌드 결과물 배포 필요

⚠️ Impact

  • No Breaking Changes
  • Breaking Change
  • Versioning 영향 있음 (major / minor / patch)
  • 내부 리팩토링만 포함

✅ Checklist

  • 요구사항 명세 충족
  • 테스트 추가 / 수정
  • deterministic output 확인

@toothlessdev toothlessdev self-assigned this Feb 3, 2026
@toothlessdev toothlessdev added the enhancement New feature or request label Feb 3, 2026
@gemini-code-assist
Copy link

Summary of Changes

Hello @toothlessdev, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 PR은 API 변경 사항을 시각적으로 검토할 수 있는 웹 UI 도구인 @patchlogr/inspector 패키지의 초기 설정을 완료합니다. 클라이언트와 서버 구성 요소를 모두 포함하며, 향후 배포를 위한 빌드 아티팩트 업로드 파이프라인을 구축하고, 기존 핵심 패키지의 문서화를 강화하며, 개발 환경 설정을 업데이트하여 새로운 모듈을 통합합니다.

Highlights

  • Inspector Client 및 Server 초기 설정: @patchlogr/inspector 패키지 내에 클라이언트(React/Vite)와 서버(NestJS) 구성 요소를 위한 초기 파일 및 설정이 추가되었습니다.
  • 배포 파이프라인 추가: GitHub Actions 워크플로우에 빌드 결과물 아티팩트를 업로드하는 작업이 추가되어 CI/CD 프로세스의 기반을 마련했습니다.
  • 모노레포 워크스페이스 확장: 루트 package.jsonworkspaces 설정에 @patchlogr/inspector/*가 추가되어 inspector 하위 패키지들이 모노레포에 포함되었습니다.
  • 핵심 패키지 문서화 및 내보내기 업데이트: @patchlogr/core, @patchlogr/inspector, @patchlogr/oas, @patchlogr/types에 대한 .claude/rules 문서가 추가되어 각 패키지의 목적, 기능, 구조 및 의존성을 명확히 했습니다. 또한 @patchlogr/core에서 diffstorage 모듈이 외부로 내보내지도록 업데이트되었습니다.
  • ESLint 설정 조정: NestJS 데코레이터 사용을 위해 packages/patchlogr-inspector/server/src/**/*.ts 파일에 대해 @typescript-eslint/consistent-type-imports 규칙을 비활성화하는 ESLint 규칙이 추가되었습니다.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .claude/rules/patchlogr-core.md
    • API 스펙 파티셔닝, 변경 감지, 버전 범프 계산 등 @patchlogr/core의 핵심 비즈니스 로직에 대한 문서가 추가되었습니다.
    • 내보내지는 함수(partitionByTag, partitionByMethod, createNode 등) 및 타입(HashNode, PartitionedSpec, SpecChangeSet, VersionBumpResult)에 대한 설명이 포함되었습니다.
    • 버전 범프 분류 기준(major, minor, patch) 및 의존성 정보가 명시되었습니다.
  • .claude/rules/patchlogr-inspector.md
    • API 변경 사항을 시각적으로 리뷰할 수 있는 웹 UI 도구인 @patchlogr/inspector에 대한 문서가 추가되었습니다.
    • 핵심 기능(Diff 시각화, Breaking Change 강조 등), 패키지 구조(client/server), 의존성 및 모노레포 유지 결정 이유가 설명되었습니다.
    • 개발 가이드라인(React + Vite, Express/Fastify 기반 서버)이 포함되었습니다.
  • .claude/rules/patchlogr-oas.md
    • OpenAPI 문서를 표준화된 CanonicalSpec 형태로 변환하는 @patchlogr/oas 패키지에 대한 문서가 추가되었습니다.
    • 핵심 역할(composition 펼치기, $ref 역참조, v2/v3 추상화) 및 preprocessOASDocument 함수와 파이프라인 단계가 설명되었습니다.
    • 내부 구조 및 의존성 정보가 명시되었습니다.
  • .claude/rules/patchlogr-types.md
    • OpenAPI 스펙을 표준화한 타입 정의 패키지인 @patchlogr/types에 대한 문서가 추가되었습니다.
    • 설계 목적(diff 비교 용이한 flat한 구조) 및 내보내지는 유틸리티, 스키마, 요청/응답, 오퍼레이션, 스펙 타입들이 상세히 설명되었습니다.
  • .claude/settings.json
    • .claude/settings.json 파일에서 pre-commit 훅 설정이 제거되었습니다.
  • eslint.config.mjs
    • NestJS 데코레이터 사용을 위해 packages/patchlogr-inspector/server/src/**/*.ts 경로의 파일에 대해 @typescript-eslint/consistent-type-imports ESLint 규칙을 비활성화하는 설정이 추가되었습니다.
  • package.json
    • 루트 package.jsonworkspaces 배열에 packages/patchlogr-inspector/*가 추가되어 inspector 하위 패키지들을 모노레포에 포함시켰습니다.
    • devDependencies@nestjs/cli 버전 ^11.0.16이 추가되었습니다.
  • packages/patchlogr-core/src/index.ts
    • ./diff./storage 모듈이 @patchlogr/core의 메인 index.ts에서 내보내지도록 업데이트되었습니다.
  • packages/patchlogr-core/src/storage/index.ts
    • 새로운 파일 packages/patchlogr-core/src/storage/index.ts가 추가되었으며, ContentAddressableStorage 타입을 내보냅니다.
  • packages/patchlogr-inspector/client/.gitignore
    • 클라이언트 프로젝트를 위한 표준 .gitignore 파일이 추가되었습니다.
  • packages/patchlogr-inspector/client/README.md
    • 기존 packages/patchlogr-inspector/.gitkeep 파일이 packages/patchlogr-inspector/client/README.md로 이름이 변경되었습니다.
  • packages/patchlogr-inspector/client/eslint.config.js
    • React 클라이언트 프로젝트를 위한 ESLint 설정 파일이 추가되었습니다. JavaScript, TypeScript, React Hooks, React Refresh에 대한 권장 규칙을 확장합니다.
  • packages/patchlogr-inspector/client/index.html
    • Vite React 클라이언트 애플리케이션의 기본 index.html 파일이 추가되었습니다.
  • packages/patchlogr-inspector/client/package.json
    • @patchlogr/inspector-client 패키지의 package.json 파일이 추가되었습니다. 개발, 빌드, 타입 체크, 린트 스크립트 및 React, Vite 관련 의존성이 포함되어 있습니다.
  • packages/patchlogr-inspector/client/public/vite.svg
    • Vite 로고 SVG 파일이 public 디렉토리에 추가되었습니다.
  • packages/patchlogr-inspector/client/src/App.tsx
    • 기본 React App 컴포넌트 파일이 추가되었습니다.
  • packages/patchlogr-inspector/client/src/main.tsx
    • React 애플리케이션의 메인 진입점 파일이 추가되었습니다.
  • packages/patchlogr-inspector/client/tsconfig.app.json
    • 클라이언트 애플리케이션을 위한 TypeScript 컴파일러 설정 파일이 추가되었습니다.
  • packages/patchlogr-inspector/client/tsconfig.json
    • 클라이언트 프로젝트의 기본 TypeScript 설정 파일이 추가되었습니다.
  • packages/patchlogr-inspector/client/tsconfig.node.json
    • 클라이언트 프로젝트의 Node.js 환경을 위한 TypeScript 설정 파일이 추가되었습니다.
  • packages/patchlogr-inspector/client/vite.config.ts
    • React 클라이언트 프로젝트를 위한 Vite 설정 파일이 추가되었습니다.
  • packages/patchlogr-inspector/server/nest-cli.json
    • NestJS CLI 설정 파일이 추가되었습니다.
  • packages/patchlogr-inspector/server/package.json
    • @patchlogr/inspector-server 패키지의 package.json 파일이 추가되었습니다. 개발, 빌드, 테스트 스크립트 및 NestJS 관련 의존성이 포함되어 있습니다.
  • packages/patchlogr-inspector/server/src/app.controller.spec.ts
    • NestJS AppController에 대한 기본 단위 테스트 파일이 추가되었습니다.
  • packages/patchlogr-inspector/server/src/app.controller.ts
    • 기본 NestJS AppController 파일이 추가되었습니다.
  • packages/patchlogr-inspector/server/src/app.module.ts
    • 기본 NestJS AppModule 파일이 추가되었습니다.
  • packages/patchlogr-inspector/server/src/app.service.ts
    • 기본 NestJS AppService 파일이 추가되었습니다.
  • packages/patchlogr-inspector/server/src/main.ts
    • NestJS 서버 애플리케이션의 메인 진입점 파일이 추가되었습니다.
  • packages/patchlogr-inspector/server/test/app.e2e-spec.ts
    • NestJS 서버에 대한 기본 E2E 테스트 파일이 추가되었습니다.
  • packages/patchlogr-inspector/server/tsconfig.build.json
    • NestJS 서버 빌드를 위한 TypeScript 설정 파일이 추가되었습니다.
  • packages/patchlogr-inspector/server/tsconfig.json
    • NestJS 서버 프로젝트의 기본 TypeScript 설정 파일이 추가되었습니다.
  • packages/patchlogr-inspector/server/vitest.config.ts
    • NestJS 서버의 단위 테스트를 위한 Vitest 설정 파일이 추가되었습니다.
  • packages/patchlogr-inspector/server/vitest.e2e.config.ts
    • NestJS 서버의 E2E 테스트를 위한 Vitest 설정 파일이 추가되었습니다.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/cicd.yml
Activity
  • PR 설명에 따르면, GitHub Actions 워크플로우에 빌드 결과물 아티팩트 업로드 작업이 추가되었습니다. 이는 CI/CD 파이프라인 구축의 첫 단계입니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

이번 Pull Request는 @patchlogr/inspector 클라이언트 및 서버 패키지의 초기 설정을 포함하며, 새로운 .claude/rules 문서와 배포 파이프라인 관련 변경 사항을 추가했습니다. 전반적으로 새로운 모듈의 기반을 잘 마련했지만, 몇 가지 개선 사항이 있습니다. 특히 pre-commit 훅 제거로 인한 코드 품질 관리 방안 재고, NestJS 서버의 TypeScript 설정 강화, 그리고 테스트 커버리지 활성화 등을 고려해볼 수 있습니다. 또한, 문서의 명확성을 높이고 프로젝트 라이선스를 명시하는 것이 좋습니다.

"description": "",
"author": "",
"private": true,
"license": "UNLICENSED",

Choose a reason for hiding this comment

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

medium

license 필드가 UNLICENSED로 설정되어 있습니다. 이는 프로젝트의 라이선스가 명확하지 않음을 의미합니다. 오픈소스 프로젝트이거나 특정 라이선스를 따르는 경우, 해당 라이선스를 명시하는 것이 좋습니다.

Comment on lines +15 to +16
"strictNullChecks": false,
"noImplicitAny": false,

Choose a reason for hiding this comment

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

medium

strictNullChecks: falsenoImplicitAny: false 설정은 TypeScript의 타입 안정성을 약화시킬 수 있습니다. 이는 런타임에 예상치 못한 null 또는 undefined 관련 오류나 any 타입으로 인한 타입 추론 문제로 이어질 수 있습니다. 가능한 한 true로 설정하여 더 강력한 타입 검사를 적용하는 것을 권장합니다.

include: ["src/**/*.spec.ts"],
exclude: ["**/dist/**"],
coverage: {
enabled: false,

Choose a reason for hiding this comment

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

medium

coverage.enabledfalse로 설정되어 있습니다. 이는 기본적으로 테스트 커버리지 보고서가 생성되지 않음을 의미합니다. 단위 테스트의 품질을 지속적으로 관리하기 위해 커버리지 측정을 활성화하고, 필요하다면 최소 커버리지 임계값을 설정하는 것을 고려해볼 수 있습니다.

@github-actions
Copy link

github-actions bot commented Feb 3, 2026

Test Results

109 tests   109 ✅  2s ⏱️
 21 suites    0 💤
  3 files      0 ❌

Results for commit 9d19f53.

@codecov
Copy link

codecov bot commented Feb 3, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
...s/patchlogr-inspector/server/src/app.controller.ts 100.00% <100.00%> (ø)
...ages/patchlogr-inspector/server/src/app.service.ts 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Setup inspector client, server package

2 participants