From 77b700c0793722f0fe165143005e68f7ae7985d1 Mon Sep 17 00:00:00 2001 From: "kuma.jung" Date: Tue, 12 May 2026 18:16:11 +0900 Subject: [PATCH 1/3] chore: make CodeRabbit reviews follow repo rules The repository now has CodeRabbit installed, so review behavior should be codified in the repo instead of relying on UI defaults. The config enables automatic reviews for main-targeted PRs, uses Korean feedback, turns on focused review guidance for Go, Bubble Tea, AWS service code, tests, and docs, and points CodeRabbit at the existing repository guidance files. Constraint: CodeRabbit requires .coderabbit.yaml at the repository root to apply branch-local review settings Rejected: Leave defaults implicit | defaults do not encode unic-specific AWS/TUI/documentation review criteria Confidence: high Scope-risk: narrow Directive: Keep this file aligned with AGENTS.md, documentation-harness.md, and branch-naming-harness.md when workflow rules change Tested: ruby YAML parse for .coderabbit.yaml Tested: yamllint .coderabbit.yaml Not-tested: Live CodeRabbit review execution before opening PR --- .coderabbit.yaml | 95 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 .coderabbit.yaml diff --git a/.coderabbit.yaml b/.coderabbit.yaml new file mode 100644 index 0000000..4d73724 --- /dev/null +++ b/.coderabbit.yaml @@ -0,0 +1,95 @@ +# yamllint disable rule:line-length +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json +--- + +language: "ko-KR" +early_access: false + +reviews: + profile: "assertive" + request_changes_workflow: false + high_level_summary: true + review_status: true + review_details: true + collapse_walkthrough: false + in_progress_fortune: false + poem: false + auto_review: + enabled: true + auto_incremental_review: true + drafts: false + base_branches: + - "main" + ignore_title_keywords: + - "wip" + - "draft" + path_filters: + - "!dist/**" + - "!tmp/**" + - "!unic" + path_instructions: + - path: "**/*.go" + instructions: | + Go 리뷰에서는 컴파일 가능성만 보지 말고 nil pointer, context 전달, AWS SDK pagination, + error wrapping, deterministic sorting, table/detail rendering 안정성을 우선 확인한다. + 새 AWS 서비스 작업은 repository interface, model mapping, app integration, tests가 함께 + 갱신됐는지 확인한다. + - path: "internal/app/**" + instructions: | + Bubble Tea 화면 변경은 message routing, key handling, filter target reset, height-based + windowing, help text, back/home navigation이 기존 화면 패턴과 일관적인지 확인한다. + - path: "internal/services/aws/**" + instructions: | + AWS 연동 코드는 SDK client interface mockability, paginator 사용, nil/empty response 처리, + AWS pointer conversion, stable list ordering, 사용자에게 전달되는 오류 메시지를 중점 검토한다. + - path: "**/*_test.go" + instructions: | + 테스트는 happy path뿐 아니라 API error, mapping edge case, navigation state transition을 + 검증하는지 확인한다. 외부 AWS 호출에 의존하지 않는 mock 기반 테스트를 선호한다. + - path: "README.md" + instructions: | + README 변경은 실제 CLI/TUI 동작과 맞는지, Currently Implemented Features, TUI Key Bindings, + Usage, Configuration 관련 설명이 코드 변경과 함께 갱신됐는지 확인한다. + - path: "docs/**" + instructions: | + 문서는 구현된 동작과 일치해야 하며, 영어/한국어 문서가 같은 의미를 유지하는지 확인한다. + pre_merge_checks: + title: + mode: "warning" + requirements: "PR title should use a conventional prefix such as feat:, fix:, docs:, chore:, refactor:, or test:." + description: + mode: "warning" + issue_assessment: + mode: "warning" + tools: + golangci-lint: + enabled: true + markdownlint: + enabled: true + yamllint: + enabled: true + actionlint: + enabled: true + shellcheck: + enabled: true + checkmake: + enabled: true + gitleaks: + enabled: true + osvScanner: + enabled: true + +chat: + art: false + auto_reply: true + +knowledge_base: + opt_out: false + web_search: + enabled: true + code_guidelines: + enabled: true + filePatterns: + - "AGENTS.md" + - "docs/documentation-harness.md" + - "docs/branch-naming-harness.md" From 05c6065aa08043c1b45700a52c5dd09bf250cbf3 Mon Sep 17 00:00:00 2001 From: "kuma.jung" Date: Tue, 12 May 2026 18:22:13 +0900 Subject: [PATCH 2/3] chore: fix CodeRabbit path exclusion CodeRabbit correctly pointed out that the unic path filter matched only the exact path and not files below a directory. The exclusion now uses a recursive glob so review sparse-checkout filtering behaves as intended. Constraint: CodeRabbit path_filters use glob patterns where directory exclusions should include /** Confidence: high Scope-risk: narrow Tested: ruby YAML parse for .coderabbit.yaml Tested: yamllint .coderabbit.yaml --- .coderabbit.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.coderabbit.yaml b/.coderabbit.yaml index 4d73724..00ec2b5 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -26,7 +26,7 @@ reviews: path_filters: - "!dist/**" - "!tmp/**" - - "!unic" + - "!unic/**" path_instructions: - path: "**/*.go" instructions: | From 2ee10b6b6b5b09125b4c42d2c26c94c9d4ffe292 Mon Sep 17 00:00:00 2001 From: "kuma.jung" Date: Tue, 12 May 2026 18:26:16 +0900 Subject: [PATCH 3/3] chore: write CodeRabbit guidance in English The CodeRabbit configuration should be readable across the project and produce English review output. This switches the configured review language to en-US and translates all path-specific review guidance from Korean to English without changing the review policy intent. Constraint: User requested Korean text in the CodeRabbit configuration be changed to English Confidence: high Scope-risk: narrow Tested: ruby YAML parse for .coderabbit.yaml Tested: yamllint .coderabbit.yaml --- .coderabbit.yaml | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/.coderabbit.yaml b/.coderabbit.yaml index 00ec2b5..af7058f 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -2,7 +2,7 @@ # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json --- -language: "ko-KR" +language: "en-US" early_access: false reviews: @@ -30,29 +30,35 @@ reviews: path_instructions: - path: "**/*.go" instructions: | - Go 리뷰에서는 컴파일 가능성만 보지 말고 nil pointer, context 전달, AWS SDK pagination, - error wrapping, deterministic sorting, table/detail rendering 안정성을 우선 확인한다. - 새 AWS 서비스 작업은 repository interface, model mapping, app integration, tests가 함께 - 갱신됐는지 확인한다. + For Go reviews, look beyond compilation and prioritize nil pointer risks, + context propagation, AWS SDK pagination, error wrapping, deterministic + sorting, and stable table/detail rendering. For new AWS service work, + verify that repository interfaces, model mapping, app integration, and + tests are updated together. - path: "internal/app/**" instructions: | - Bubble Tea 화면 변경은 message routing, key handling, filter target reset, height-based - windowing, help text, back/home navigation이 기존 화면 패턴과 일관적인지 확인한다. + For Bubble Tea screen changes, verify message routing, key handling, + filter target resets, height-based windowing, help text, and back/home + navigation against the existing screen patterns. - path: "internal/services/aws/**" instructions: | - AWS 연동 코드는 SDK client interface mockability, paginator 사용, nil/empty response 처리, - AWS pointer conversion, stable list ordering, 사용자에게 전달되는 오류 메시지를 중점 검토한다. + For AWS integration code, focus on SDK client interface mockability, + paginator usage, nil/empty response handling, AWS pointer conversion, + stable list ordering, and user-facing error messages. - path: "**/*_test.go" instructions: | - 테스트는 happy path뿐 아니라 API error, mapping edge case, navigation state transition을 - 검증하는지 확인한다. 외부 AWS 호출에 의존하지 않는 mock 기반 테스트를 선호한다. + Check that tests cover API errors, mapping edge cases, and navigation + state transitions, not only happy paths. Prefer mock-based tests that do + not depend on external AWS calls. - path: "README.md" instructions: | - README 변경은 실제 CLI/TUI 동작과 맞는지, Currently Implemented Features, TUI Key Bindings, - Usage, Configuration 관련 설명이 코드 변경과 함께 갱신됐는지 확인한다. + Verify that README changes match actual CLI/TUI behavior and that + Currently Implemented Features, TUI Key Bindings, Usage, and + Configuration content stay aligned with code changes. - path: "docs/**" instructions: | - 문서는 구현된 동작과 일치해야 하며, 영어/한국어 문서가 같은 의미를 유지하는지 확인한다. + Documentation must match implemented behavior. When both English and + Korean docs are updated, verify that they preserve the same meaning. pre_merge_checks: title: mode: "warning"