Skip to content

# PR: GitHub連携サイドバーの遷移/実行分離 と ADR-0007 完全移行方針への更新#288

Merged
yusuke0610 merged 3 commits into
mainfrom
dev
May 29, 2026
Merged

# PR: GitHub連携サイドバーの遷移/実行分離 と ADR-0007 完全移行方針への更新#288
yusuke0610 merged 3 commits into
mainfrom
dev

Conversation

@yusuke0610

@yusuke0610 yusuke0610 commented May 29, 2026

Copy link
Copy Markdown
Owner

概要

2 つの独立した変更を含む。

  1. GitHub連携サイドバー項目の責務分離(UI 改善) — サイドバーの「GitHub連携」を、クリックで連携 API をトリガーする button から、画面遷移に徹する NavLink へ変更。連携の実行はサブパネル内の「連携実行」ボタンに分離した。
  2. ADR-0007 の方針更新 — OpenAPI → TypeScript 型生成を「導入検討(折衷案あり)」から「完全移行(手書き DTO 全廃)」方針へ書き換え。

1. GitHub連携サイドバーの責務分離

背景・課題

従来はサイドバーの「GitHub連携」項目クリックがそのまま連携 API(/api/github-link/run)をトリガーしていた。単に画面を見たいだけの遷移でも毎回連携リクエストが飛ぶため、不要なリクエストの温床になっていた。

変更内容

  • frontend/src/components/AuthenticatedLayout.tsx
    • 「GitHub連携」項目を buttontriggerGitHubLink 呼び出し)→ NavLink/github_link へ遷移のみ)に変更。
    • 連携実行は、▼ で開くサブパネル内の新規「連携実行」ボタンに移設。
    • active 判定を useLocation の手動比較から NavLinkisActive に置き換え(useLocation import 削除)。

テスト

  • frontend/e2e/github-link.spec.ts
    • 「サイドバークリックは画面遷移のみで連携 API を呼ばない」ことを検証するテストを追加(runCalled === false を assert)。
    • 「サブパネルの『連携実行』ボタンで連携が走りポーリング表示になる」ことを検証するテストへ更新。
  • frontend/e2e/navigation.spec.ts
    • GitHub連携 をボタン→リンクとして期待する形に修正。

サイドバー(ナビゲーション/レイアウト)コンポーネントの変更のため E2E を実行。

2. ADR-0007 の方針更新

OpenAPI → TypeScript 型生成について、当初の「Phase 1 パイロットの結果を見て採用判断」「FE 独自名は alias で温存する折衷案」から、手書き DTO 型を全廃し生成物へ完全移行する方針へ更新した。リリース前で呼び出し側 rename コストが低いことが判断根拠。

主な追記:

  • 命名統一マップ(FE 独自名 → BE 名)の追加。CareerResumeResponseResumeResponse 等、呼び出し側ごと BE 名へ rename する。
  • Phase 0 の前提作業を明確化:response_model 未設定エンドポイント(実測 40 中 14)の棚卸し・schema 化・付与を完全移行の前提として内包。
  • トレードオフに 入出力兼用 schema の -Input/-Output 分裂optional/required の解釈ズレ新規 schema 命名規約の論点を追加。
  • status は Proposed 据え置き(Phase 0 + Phase 1 が make ci green かつ CI ドリフト検知が機能した時点で Accepted に昇格)。

ドキュメント(ADR)のみの変更。実装は本 ADR が定義する後続 PR で行う。

確認事項

  • make ci
  • npm run test:e2e(サイドバー/ナビゲーション変更のため必須)

Summary by CodeRabbit

  • Improvements

    • GitHub integration sidebar item now functions as a navigation link to a dedicated page, separate from the integration trigger action.
    • GitHub integration execution moved to an options panel with a dedicated button.
  • Tests

    • Updated end-to-end tests to verify new navigation and integration trigger behavior.
  • Documentation

    • Updated architecture decision records documenting TypeScript code generation approach and phased implementation plan.

Review Change Stack

yusuke0610 and others added 3 commits May 29, 2026 17:34
# PR: GitHub連携サイドバーの遷移/実行分離 と ADR-0007 完全移行方針への更新
@coderabbitai

coderabbitai Bot commented May 29, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 7d561748-4e47-43c2-b050-1f82dbe3479a

📥 Commits

Reviewing files that changed from the base of the PR and between 9aa45e4 and 354c526.

📒 Files selected for processing (4)
  • docs/adr/0007-openapi-typescript-codegen.md
  • frontend/e2e/github-link.spec.ts
  • frontend/e2e/navigation.spec.ts
  • frontend/src/components/AuthenticatedLayout.tsx

📝 Walkthrough

Walkthrough

This PR updates ADR 0007 to document the confirmed adoption of OpenAPI→TypeScript type generation with full frontend DTO migration, specifying the Phase 0–3 roadmap and detailed risk assessment. It also refactors the GitHub連携 sidebar feature to separate navigation from API invocation: the sidebar item becomes a pure link, while the run request moves to a sub-panel button.

Changes

ADR 0007: OpenAPI TypeScript Codegen Decision

Layer / File(s) Summary
Status update and decision specification
docs/adr/0007-openapi-typescript-codegen.md
ADR status remains Proposed pending CI drift-detection criteria; documents confirmed adoption, backend schema SSoT, generated output in frontend/src/api/generated.ts, re-export layer for ergonomics, and unchanged auth/CSRF/path logic; specifies FE→BE naming unification.
Migration phases, risks, and conditions
docs/adr/0007-openapi-typescript-codegen.md
Defines Phase 0–3 structured roadmap with per-phase targets and risk levels; details Phase 0 prerequisite for response_model endpoint coverage; expands known risks (bundle size, Nix constraints, CI impact, rename scope, OpenAPI edge cases); updates future acceptance conditions.

GitHub Link Sidebar Navigation Refactoring

Layer / File(s) Summary
AuthenticatedLayout sidebar and sub-panel refactoring
frontend/src/components/AuthenticatedLayout.tsx
Removes useLocation-based pathname active-state logic; replaces "GitHub連携" sidebar trigger button with NavLink to /github_link for navigation; adds "連携実行" button in sub-panel that invokes triggerGitHubLink with options state.
E2E test updates for navigation and API trigger separation
frontend/e2e/navigation.spec.ts, frontend/e2e/github-link.spec.ts
Updates navigation test to expect "GitHub連携" as link role; adds test verifying sidebar link performs only page navigation without invoking the GitHub run API; updates polling test to trigger flow from sub-panel button instead of sidebar.

🎯 2 (Simple) | ⏱️ ~12 minutes

🐰 A nav link hops to GitHub's gate,
While buttons in panels now orchestrate,
ADR phases bloom, 🌱
From schemas in Pydantic's room,
Types auto-generate their fate!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the two main changes: GitHub sidebar separation of navigation and execution, plus ADR-0007 migration policy update.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

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.

@yusuke0610
yusuke0610 merged commit 176380c into main May 29, 2026
31 of 33 checks passed
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.

1 participant