Skip to content

Chore/168 improve workflow commands#170

Merged
GulSam00 merged 4 commits intodevelopfrom
chore/168-improveWorkflowCommands
Mar 25, 2026
Merged

Chore/168 improve workflow commands#170
GulSam00 merged 4 commits intodevelopfrom
chore/168-improveWorkflowCommands

Conversation

@GulSam00
Copy link
Copy Markdown
Owner

📌 PR 제목

[Type] : 작업 내용 요약

📌 변경 사항

💬 추가 참고 사항

GulSam00 and others added 4 commits March 25, 2026 23:35
- /pr 커맨드: develop/main 브랜치에서 실행 시 차단 로직 추가
- /start 커맨드: 인자 없을 때 git diff 기반 자동 판단
- 워크플로우 사이클에 /pr 단계 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- postTransDictionary.ts 및 transList.txt 삭제
- TransDictionary 타입, 관련 DB 함수, 로그 함수 제거
- trans 스크립트 제거, CLAUDE.md 반영
- ESLint v9 flat config 추가 및 lint 명령어 수정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@GulSam00 GulSam00 merged commit 3460dfb into develop Mar 25, 2026
2 checks passed
@GulSam00 GulSam00 deleted the chore/168-improveWorkflowCommands branch March 25, 2026 16:37
@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Improve workflow commands, remove translation feature, and add ESLint v9 config

✨ Enhancement 📦 Other

Grey Divider

Walkthroughs

Description
• Improved /pr command safety by blocking execution on develop/main branches
• Enhanced /start command to auto-detect work type from git diff when no arguments provided
• Removed Japanese translation feature (postTransDictionary.ts and related code)
• Added ESLint v9 flat config and updated documentation formatting
• Updated workflow cycle to include /pr step in command documentation
Diagram
flowchart LR
  A["Workflow Commands"] --> B["Enhanced /pr Safety"]
  A --> C["Auto-detect /start"]
  D["Code Cleanup"] --> E["Remove Translation"]
  D --> F["Remove transList.txt"]
  G["Tooling Updates"] --> H["ESLint v9 Config"]
  G --> I["Update Documentation"]
  B --> J["Updated Workflow"]
  C --> J
Loading

Grey Divider

File Changes

1. .claude/commands/pr.md ✨ Enhancement +8/-0

Add branch validation to prevent PR creation

.claude/commands/pr.md


2. .claude/commands/start.md ✨ Enhancement +12/-8

Enable auto-detection of work type from git diff

.claude/commands/start.md


3. packages/crawling/src/postTransDictionary.ts Miscellaneous +0/-71

Remove Japanese translation script entirely

packages/crawling/src/postTransDictionary.ts


View more (14)
4. packages/crawling/src/supabase/getDB.ts Miscellaneous +1/-28

Remove TransDictionary database query functions

packages/crawling/src/supabase/getDB.ts


5. packages/crawling/src/supabase/postDB.ts Miscellaneous +1/-37

Remove TransDictionary database insert function

packages/crawling/src/supabase/postDB.ts


6. packages/crawling/src/types.ts Miscellaneous +0/-7

Remove TransDictionary interface definition

packages/crawling/src/types.ts


7. packages/crawling/src/utils/logData.ts Miscellaneous +0/-20

Remove dictionary logging functions

packages/crawling/src/utils/logData.ts


8. packages/crawling/src/assets/transList.txt Miscellaneous +0/-29

Delete translation checkpoint file

packages/crawling/src/assets/transList.txt


9. packages/crawling/eslint.config.mjs ⚙️ Configuration changes +4/-0

Add ESLint v9 flat config file

packages/crawling/eslint.config.mjs


10. packages/crawling/package.json ⚙️ Configuration changes +1/-2

Remove trans script and update lint command

packages/crawling/package.json


11. packages/crawling/CLAUDE.md 📝 Documentation +8/-20

Remove translation documentation and update tables

packages/crawling/CLAUDE.md


12. apps/web/CLAUDE.md 📝 Documentation +18/-14

Format documentation with improved markdown tables

apps/web/CLAUDE.md


13. apps/web/public/sitemap-0.xml Miscellaneous +1/-1

Update sitemap timestamp

apps/web/public/sitemap-0.xml


14. packages/crawling/src/crawling/crawlRecentTJ.ts Formatting +0/-2

Remove extra blank lines

packages/crawling/src/crawling/crawlRecentTJ.ts


15. packages/crawling/src/crawling/replaceSupabaseFailed.ts Formatting +1/-0

Add blank line after imports

packages/crawling/src/crawling/replaceSupabaseFailed.ts


16. packages/crawling/src/findKYByOpen.ts Formatting +0/-1

Remove trailing blank line

packages/crawling/src/findKYByOpen.ts


17. packages/crawling/src/updateJpnSongs.ts Formatting +0/-1

Remove trailing blank line

packages/crawling/src/updateJpnSongs.ts


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review bot commented Mar 25, 2026

Code Review by Qodo

🐞 Bugs (3) 📘 Rule violations (0) 📎 Requirement gaps (0) 📐 Spec deviations (0)

Grey Divider


Action required

1. Undeclared eslint-config import 🐞 Bug ⛯ Reliability
Description
packages/crawling/eslint.config.mjs@repo/eslint-config/base를 import하지만
packages/crawling/package.json@repo/eslint-config가 선언되어 있지 않아, ESLint가 설정을 로드하는 단계에서 모듈 해석 실패로
pnpm lint가 깨질 수 있습니다.
Code

packages/crawling/eslint.config.mjs[R1-4]

+import { config } from '@repo/eslint-config/base';
+
+/** @type {import("eslint").Linter.Config} */
+export default config;
Evidence
packages/crawling/eslint.config.mjs@repo/eslint-config/base 서브패스 import에 의존합니다. 해당 서브패스는
packages/eslint-config/package.json에서 exports로 제공되지만, packages/crawling/package.json에는
@repo/eslint-config가 없어 pnpm 환경에서 packages/crawling 컨텍스트로는 해당 모듈을 해석할 근거가 없습니다.

packages/crawling/eslint.config.mjs[1-4]
packages/crawling/package.json[1-36]
packages/eslint-config/package.json[1-24]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`packages/crawling/eslint.config.mjs` imports `@repo/eslint-config/base` but `packages/crawling/package.json` does not declare `@repo/eslint-config`. This can break `pnpm lint` in `@repo/crawling` because ESLint can’t resolve the config module.

## Issue Context
- The shared config is exported via `@repo/eslint-config` subpath export `./base`.
- `@repo/crawling` must depend on `@repo/eslint-config` for pnpm to link it into that package’s resolution context.

## Fix Focus Areas
- packages/crawling/package.json[1-36]
- packages/crawling/eslint.config.mjs[1-4]
- packages/eslint-config/package.json[1-24]

## Suggested change
- Add `"@repo/eslint-config": "workspace:*"` to `devDependencies` of `packages/crawling/package.json`.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. Start flow branch switch 🐞 Bug ⛯ Reliability
Description
/start$ARGUMENTS 비어있을 때 현재 변경사항(git diff, git status) 기반으로 자동 판단하도록 바뀌었지만, 이후 단계에서
develop 체크아웃/풀을 수행하는 흐름과 충돌해 로컬 변경사항이 있는 상태에서는 체크아웃이 실패할 수 있습니다.
Code

.claude/commands/start.md[R15-17]

+   **`$ARGUMENTS` 가 비어 있는 경우:**
+   `git diff` 와 `git status` 로 현재 변경 사항을 파악하고,
+   변경 내용을 기반으로 작업 유형, 이슈 제목, 이슈 본문을 자동으로 결정한다.
Evidence
문서상 $ARGUMENTS가 비어있을 때 ‘현재 변경 사항’을 기반으로 이슈/브랜치를 자동 결정하도록 안내하여, 사용자가 커밋/스태시 전 변경사항을 가진 상태에서 실행할
가능성을 높입니다. 같은 문서에서 곧바로 git checkout develop을 수행하도록 되어 있어, dirty working tree에서는 Git이 체크아웃을 거부하는
전형적인 실패 시나리오가 발생합니다.

.claude/commands/start.md[13-45]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`/start` now supports empty `$ARGUMENTS` by analyzing current working tree changes, but the flow still checks out `develop`. With uncommitted changes, this can fail at `git checkout develop`.

## Issue Context
This is a workflow-doc change, but it directly impacts the expected automation path.

## Fix Focus Areas
- .claude/commands/start.md[13-45]
- .claude/commands/start.md[77-80]

## Suggested change options
- Option A (simple): If `$ARGUMENTS` is empty, require a clean working tree (print a clear message and stop).
- Option B (automated): Instruct to `git stash -u` before switching to `develop`, then restore after creating the branch.
- Option C (behavioral): Skip switching to `develop` when `$ARGUMENTS` is empty and work from current branch, or explicitly document the required precondition (clean tree).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Advisory comments

3. Committed generated sitemap 🐞 Bug ⚙ Maintainability
Description
apps/web/public/sitemap-0.xmllastmod가 갱신되었고 파일 끝 newline도 없어, 빌드 시 생성되는 산출물을 커밋하면서 PR에 불필요한
churn(노이즈)과 포맷 이슈가 누적될 수 있습니다.
Code

apps/web/public/sitemap-0.xml[3]

+<url><loc>https://www.singcode.kr</loc><lastmod>2026-03-25T14:32:28.966Z</lastmod><changefreq>weekly</changefreq><priority>0.7</priority></url>
Evidence
웹 앱은 postbuild에서 next-sitemap을 실행하도록 설정되어 있어 sitemap 파일이 재생성될 수 있는 구조입니다. 그 결과 sitemap-0.xmllastmod가 날짜/시간에 따라 바뀌며, .gitignore에도 sitemap 산출물을 제외하는 규칙이 없어 커밋 노이즈가 반복될 수 있습니다.

apps/web/public/sitemap-0.xml[1-4]
apps/web/package.json[6-13]
apps/web/next-sitemap.config.js[1-34]
.gitignore[24-53]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Sitemap files appear to be generated via `next-sitemap` (postbuild), but `apps/web/public/sitemap-0.xml` is committed and changes its `lastmod`, causing frequent noisy diffs. The file also lacks a trailing newline.

## Issue Context
If you intend to commit sitemaps, ensure deterministic generation and formatting. If not, ignore generated outputs and generate during build/deploy.

## Fix Focus Areas
- apps/web/package.json[6-13]
- apps/web/public/sitemap-0.xml[1-4]
- .gitignore[24-53]

## Suggested change options
- Option A: Add `apps/web/public/sitemap*.xml` and `apps/web/public/robots.txt` (if generated) to `.gitignore` and remove them from git tracking.
- Option B: Keep committed, but ensure newline and configure generation to avoid volatile timestamps if possible.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@GulSam00 GulSam00 linked an issue Mar 25, 2026 that may be closed by this pull request
Comment on lines +1 to +4
import { config } from '@repo/eslint-config/base';

/** @type {import("eslint").Linter.Config} */
export default config;
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Action required

1. Undeclared eslint-config import 🐞 Bug ⛯ Reliability

packages/crawling/eslint.config.mjs@repo/eslint-config/base를 import하지만
packages/crawling/package.json@repo/eslint-config가 선언되어 있지 않아, ESLint가 설정을 로드하는 단계에서 모듈 해석 실패로
pnpm lint가 깨질 수 있습니다.
Agent Prompt
## Issue description
`packages/crawling/eslint.config.mjs` imports `@repo/eslint-config/base` but `packages/crawling/package.json` does not declare `@repo/eslint-config`. This can break `pnpm lint` in `@repo/crawling` because ESLint can’t resolve the config module.

## Issue Context
- The shared config is exported via `@repo/eslint-config` subpath export `./base`.
- `@repo/crawling` must depend on `@repo/eslint-config` for pnpm to link it into that package’s resolution context.

## Fix Focus Areas
- packages/crawling/package.json[1-36]
- packages/crawling/eslint.config.mjs[1-4]
- packages/eslint-config/package.json[1-24]

## Suggested change
- Add `"@repo/eslint-config": "workspace:*"` to `devDependencies` of `packages/crawling/package.json`.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Mar 25, 2026

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

Project Deployment Actions Updated (UTC)
singcode Ready Ready Preview, Comment Mar 25, 2026 4:44pm

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.

Claude Code 워크플로우 커맨드 개선

1 participant