docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化 - #398

Merged
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split
Jun 22, 2026
Merged

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化#398
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split

Conversation

@yusuke0610

@yusuke0610yusuke0610 commented Jun 22, 2026

Copy link
Copy Markdown
Owner

概要

.claude/ の AI ガイドラインのみの変更です(アプリコードの変更なし=コード CI 対象外)。

  1. PR 作成後の追従ルールを追加: CLAUDE.md「コミット / PR フロー」に、PR 作成後は CI 結果とレビュー指摘を追従し、こけ・指摘があれば修正→make ci→再 push を green かつ解消まで繰り返す旨を追記。ただし意思決定を要する指摘(設計・API/型契約・挙動変更)と diff 範囲を逸脱する指摘は勝手に直さず承認を取る、範囲内の機械的修正は承認不要、と明記。

  2. 「失敗から学んだ知見」を scoped rule 化: 領域固有の項目を、対象パス編集時に自動ロードされる各 scoped rule へ移設し、CLAUDE.md 側は索引に集約。常時ロードされる CLAUDE.md を 211→194 行に縮小しつつ、backend 固有の詳細は backend 編集時のみロードされるよう整理。

変更詳細

ファイル変更
CLAUDE.mdPR 後追従ルール追記 / 失敗知見セクションを索引化
rules/backend/python.mdlint 失敗時の当該ファイル個別検証を追記
rules/backend/database.mdIntegrityError 後の再 SELECT は None 判定で RuntimeError を追記
rules/backend/architecture.mdタスクハンドラの「黙って return」禁止を services/tasks 項に追記
rules/backend/layers.mdCLAUDE.md 参照を整合(正本は layers.md / database.md)

テスト

doc のみの変更のため make ci(コード lint/test)対象外。Router/ORM・300/500 行・DB モック等の項目は移設先 rule に既出のため重複削除のみ。

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated internal development guidelines and workflow documentation for improved development processes and code quality standards.

Note: This release contains no user-facing changes; updates are limited to developer documentation and internal process improvements.

- CLAUDE.md「コミット / PR フロー」に PR 作成後の追従を追記
(CI・レビュー指摘の確認→修正→再 push、意思決定/範囲逸脱は承認)
- 「失敗から学んだ知見」の領域固有項目を各 scoped rule へ移設し索引化
- lint 個別検証 → rules/backend/python.md
- IntegrityError 後の再 SELECT → rules/backend/database.md
- タスクハンドラの黙って return 禁止 → rules/backend/architecture.md
- layers.md の旧 CLAUDE.md 参照を整合(正本は layers.md / database.md)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

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: 49ba1ebd-fe8b-4e21-b2da-5a728a02c6db

📥 Commits

Reviewing files that changed from the base of the PR and between 2ac4a6c and 8d7e2d9.

📒 Files selected for processing (5)
  • .claude/CLAUDE.md
  • .claude/rules/backend/architecture.md
  • .claude/rules/backend/database.md
  • .claude/rules/backend/layers.md
  • .claude/rules/backend/python.md

📝 Walkthrough

Walkthrough

CLAUDE.md adds a "pr 後の追従" workflow step and consolidates previously inline cross-cutting rules into references to scoped files. Four scoped backend rule files each receive one new rule: task handler error propagation, IntegrityError re-SELECT behavior, layers self-reference correction, and targeted ruff check usage.

Changes

AI Rules Reorganization and New Backend Rules

Layer / File(s)Summary
CLAUDE.md: PR follow-up workflow step and rule consolidation
.claude/CLAUDE.md
Adds a new "pr 後の追従" row to the workflow table covering CI/comment inspection commands, CI-fix iteration loop, and an approval gate distinguishing mechanical fixes from design/API/behavior changes. Removes domain-specific bullet rules from "失敗から学んだ知見" and replaces them with pointers to scoped backend and web rule files, retaining only two cross-cutting items.
Scoped backend rules: task handler, IntegrityError, layers reference, lint scoping
.claude/rules/backend/architecture.md, .claude/rules/backend/database.md, .claude/rules/backend/layers.md, .claude/rules/backend/python.md
Adds rule prohibiting silent return in task handlers, requiring NonRetryableError/RetryableError raises. Adds rule that re-SELECT returning None after IntegrityError must raise RuntimeError. Updates layers.md to point to itself as source of truth and fixes its inline comment reference from CLAUDE.md to database.md. Adds guidance to scope ruff check to touched files when pre-existing violations block make lint-backend.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • yusuke0610/devforge#297: Also modifies .claude/CLAUDE.md workflow guidance and retains the rule to create branches from origin/main, which is one of the two cross-cutting items kept in this PR's consolidation.

Poem

🐇 Hoppity-hop, the rules get a trim,
Scoped files now carry each backend whim.
PR checks loop till the CI turns green,
Silent returns? NonRetryableError convene!
With ruff check targeted and RuntimeError clear,
The rule docs sparkle — all tidy from here! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly describes the main changes: adding PR follow-up rules and converting failure knowledge into scoped rule files, which matches the PR objectives.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck 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 unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/claude-pr-followup-rules-split

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 ef2dfe5 into mainJun 22, 2026
18 checks passed
@yusuke0610
yusuke0610 deleted the docs/claude-pr-followup-rules-split branch July 20, 2026 12:26
Sign up for freeto 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

@yusuke0610
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化 - #398

Merged
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split
Jun 22, 2026
Merged

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化#398
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split

Conversation

@yusuke0610

@yusuke0610yusuke0610 commented Jun 22, 2026

Copy link
Copy Markdown
Owner

概要

.claude/ の AI ガイドラインのみの変更です(アプリコードの変更なし=コード CI 対象外)。

  1. PR 作成後の追従ルールを追加: CLAUDE.md「コミット / PR フロー」に、PR 作成後は CI 結果とレビュー指摘を追従し、こけ・指摘があれば修正→make ci→再 push を green かつ解消まで繰り返す旨を追記。ただし意思決定を要する指摘(設計・API/型契約・挙動変更)と diff 範囲を逸脱する指摘は勝手に直さず承認を取る、範囲内の機械的修正は承認不要、と明記。

  2. 「失敗から学んだ知見」を scoped rule 化: 領域固有の項目を、対象パス編集時に自動ロードされる各 scoped rule へ移設し、CLAUDE.md 側は索引に集約。常時ロードされる CLAUDE.md を 211→194 行に縮小しつつ、backend 固有の詳細は backend 編集時のみロードされるよう整理。

変更詳細

ファイル変更
CLAUDE.mdPR 後追従ルール追記 / 失敗知見セクションを索引化
rules/backend/python.mdlint 失敗時の当該ファイル個別検証を追記
rules/backend/database.mdIntegrityError 後の再 SELECT は None 判定で RuntimeError を追記
rules/backend/architecture.mdタスクハンドラの「黙って return」禁止を services/tasks 項に追記
rules/backend/layers.mdCLAUDE.md 参照を整合(正本は layers.md / database.md)

テスト

doc のみの変更のため make ci(コード lint/test)対象外。Router/ORM・300/500 行・DB モック等の項目は移設先 rule に既出のため重複削除のみ。

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated internal development guidelines and workflow documentation for improved development processes and code quality standards.

Note: This release contains no user-facing changes; updates are limited to developer documentation and internal process improvements.

- CLAUDE.md「コミット / PR フロー」に PR 作成後の追従を追記
(CI・レビュー指摘の確認→修正→再 push、意思決定/範囲逸脱は承認)
- 「失敗から学んだ知見」の領域固有項目を各 scoped rule へ移設し索引化
- lint 個別検証 → rules/backend/python.md
- IntegrityError 後の再 SELECT → rules/backend/database.md
- タスクハンドラの黙って return 禁止 → rules/backend/architecture.md
- layers.md の旧 CLAUDE.md 参照を整合(正本は layers.md / database.md)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

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: 49ba1ebd-fe8b-4e21-b2da-5a728a02c6db

📥 Commits

Reviewing files that changed from the base of the PR and between 2ac4a6c and 8d7e2d9.

📒 Files selected for processing (5)
  • .claude/CLAUDE.md
  • .claude/rules/backend/architecture.md
  • .claude/rules/backend/database.md
  • .claude/rules/backend/layers.md
  • .claude/rules/backend/python.md

📝 Walkthrough

Walkthrough

CLAUDE.md adds a "pr 後の追従" workflow step and consolidates previously inline cross-cutting rules into references to scoped files. Four scoped backend rule files each receive one new rule: task handler error propagation, IntegrityError re-SELECT behavior, layers self-reference correction, and targeted ruff check usage.

Changes

AI Rules Reorganization and New Backend Rules

Layer / File(s)Summary
CLAUDE.md: PR follow-up workflow step and rule consolidation
.claude/CLAUDE.md
Adds a new "pr 後の追従" row to the workflow table covering CI/comment inspection commands, CI-fix iteration loop, and an approval gate distinguishing mechanical fixes from design/API/behavior changes. Removes domain-specific bullet rules from "失敗から学んだ知見" and replaces them with pointers to scoped backend and web rule files, retaining only two cross-cutting items.
Scoped backend rules: task handler, IntegrityError, layers reference, lint scoping
.claude/rules/backend/architecture.md, .claude/rules/backend/database.md, .claude/rules/backend/layers.md, .claude/rules/backend/python.md
Adds rule prohibiting silent return in task handlers, requiring NonRetryableError/RetryableError raises. Adds rule that re-SELECT returning None after IntegrityError must raise RuntimeError. Updates layers.md to point to itself as source of truth and fixes its inline comment reference from CLAUDE.md to database.md. Adds guidance to scope ruff check to touched files when pre-existing violations block make lint-backend.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • yusuke0610/devforge#297: Also modifies .claude/CLAUDE.md workflow guidance and retains the rule to create branches from origin/main, which is one of the two cross-cutting items kept in this PR's consolidation.

Poem

🐇 Hoppity-hop, the rules get a trim,
Scoped files now carry each backend whim.
PR checks loop till the CI turns green,
Silent returns? NonRetryableError convene!
With ruff check targeted and RuntimeError clear,
The rule docs sparkle — all tidy from here! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly describes the main changes: adding PR follow-up rules and converting failure knowledge into scoped rule files, which matches the PR objectives.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck 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 unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/claude-pr-followup-rules-split

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 ef2dfe5 into mainJun 22, 2026
18 checks passed
@yusuke0610
yusuke0610 deleted the docs/claude-pr-followup-rules-split branch July 20, 2026 12:26
Sign up for freeto 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

@yusuke0610
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化 - #398

Merged
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split
Jun 22, 2026
Merged

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化#398
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split

Conversation

@yusuke0610

@yusuke0610yusuke0610 commented Jun 22, 2026

Copy link
Copy Markdown
Owner

概要

.claude/ の AI ガイドラインのみの変更です(アプリコードの変更なし=コード CI 対象外)。

  1. PR 作成後の追従ルールを追加: CLAUDE.md「コミット / PR フロー」に、PR 作成後は CI 結果とレビュー指摘を追従し、こけ・指摘があれば修正→make ci→再 push を green かつ解消まで繰り返す旨を追記。ただし意思決定を要する指摘(設計・API/型契約・挙動変更)と diff 範囲を逸脱する指摘は勝手に直さず承認を取る、範囲内の機械的修正は承認不要、と明記。

  2. 「失敗から学んだ知見」を scoped rule 化: 領域固有の項目を、対象パス編集時に自動ロードされる各 scoped rule へ移設し、CLAUDE.md 側は索引に集約。常時ロードされる CLAUDE.md を 211→194 行に縮小しつつ、backend 固有の詳細は backend 編集時のみロードされるよう整理。

変更詳細

ファイル変更
CLAUDE.mdPR 後追従ルール追記 / 失敗知見セクションを索引化
rules/backend/python.mdlint 失敗時の当該ファイル個別検証を追記
rules/backend/database.mdIntegrityError 後の再 SELECT は None 判定で RuntimeError を追記
rules/backend/architecture.mdタスクハンドラの「黙って return」禁止を services/tasks 項に追記
rules/backend/layers.mdCLAUDE.md 参照を整合(正本は layers.md / database.md)

テスト

doc のみの変更のため make ci(コード lint/test)対象外。Router/ORM・300/500 行・DB モック等の項目は移設先 rule に既出のため重複削除のみ。

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated internal development guidelines and workflow documentation for improved development processes and code quality standards.

Note: This release contains no user-facing changes; updates are limited to developer documentation and internal process improvements.

- CLAUDE.md「コミット / PR フロー」に PR 作成後の追従を追記
(CI・レビュー指摘の確認→修正→再 push、意思決定/範囲逸脱は承認)
- 「失敗から学んだ知見」の領域固有項目を各 scoped rule へ移設し索引化
- lint 個別検証 → rules/backend/python.md
- IntegrityError 後の再 SELECT → rules/backend/database.md
- タスクハンドラの黙って return 禁止 → rules/backend/architecture.md
- layers.md の旧 CLAUDE.md 参照を整合(正本は layers.md / database.md)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

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: 49ba1ebd-fe8b-4e21-b2da-5a728a02c6db

📥 Commits

Reviewing files that changed from the base of the PR and between 2ac4a6c and 8d7e2d9.

📒 Files selected for processing (5)
  • .claude/CLAUDE.md
  • .claude/rules/backend/architecture.md
  • .claude/rules/backend/database.md
  • .claude/rules/backend/layers.md
  • .claude/rules/backend/python.md

📝 Walkthrough

Walkthrough

CLAUDE.md adds a "pr 後の追従" workflow step and consolidates previously inline cross-cutting rules into references to scoped files. Four scoped backend rule files each receive one new rule: task handler error propagation, IntegrityError re-SELECT behavior, layers self-reference correction, and targeted ruff check usage.

Changes

AI Rules Reorganization and New Backend Rules

Layer / File(s)Summary
CLAUDE.md: PR follow-up workflow step and rule consolidation
.claude/CLAUDE.md
Adds a new "pr 後の追従" row to the workflow table covering CI/comment inspection commands, CI-fix iteration loop, and an approval gate distinguishing mechanical fixes from design/API/behavior changes. Removes domain-specific bullet rules from "失敗から学んだ知見" and replaces them with pointers to scoped backend and web rule files, retaining only two cross-cutting items.
Scoped backend rules: task handler, IntegrityError, layers reference, lint scoping
.claude/rules/backend/architecture.md, .claude/rules/backend/database.md, .claude/rules/backend/layers.md, .claude/rules/backend/python.md
Adds rule prohibiting silent return in task handlers, requiring NonRetryableError/RetryableError raises. Adds rule that re-SELECT returning None after IntegrityError must raise RuntimeError. Updates layers.md to point to itself as source of truth and fixes its inline comment reference from CLAUDE.md to database.md. Adds guidance to scope ruff check to touched files when pre-existing violations block make lint-backend.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • yusuke0610/devforge#297: Also modifies .claude/CLAUDE.md workflow guidance and retains the rule to create branches from origin/main, which is one of the two cross-cutting items kept in this PR's consolidation.

Poem

🐇 Hoppity-hop, the rules get a trim,
Scoped files now carry each backend whim.
PR checks loop till the CI turns green,
Silent returns? NonRetryableError convene!
With ruff check targeted and RuntimeError clear,
The rule docs sparkle — all tidy from here! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly describes the main changes: adding PR follow-up rules and converting failure knowledge into scoped rule files, which matches the PR objectives.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck 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 unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/claude-pr-followup-rules-split

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 ef2dfe5 into mainJun 22, 2026
18 checks passed
@yusuke0610
yusuke0610 deleted the docs/claude-pr-followup-rules-split branch July 20, 2026 12:26
Sign up for freeto 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

@yusuke0610
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化 - #398

Merged
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split
Jun 22, 2026
Merged

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化#398
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split

Conversation

@yusuke0610

@yusuke0610yusuke0610 commented Jun 22, 2026

Copy link
Copy Markdown
Owner

概要

.claude/ の AI ガイドラインのみの変更です(アプリコードの変更なし=コード CI 対象外)。

  1. PR 作成後の追従ルールを追加: CLAUDE.md「コミット / PR フロー」に、PR 作成後は CI 結果とレビュー指摘を追従し、こけ・指摘があれば修正→make ci→再 push を green かつ解消まで繰り返す旨を追記。ただし意思決定を要する指摘(設計・API/型契約・挙動変更)と diff 範囲を逸脱する指摘は勝手に直さず承認を取る、範囲内の機械的修正は承認不要、と明記。

  2. 「失敗から学んだ知見」を scoped rule 化: 領域固有の項目を、対象パス編集時に自動ロードされる各 scoped rule へ移設し、CLAUDE.md 側は索引に集約。常時ロードされる CLAUDE.md を 211→194 行に縮小しつつ、backend 固有の詳細は backend 編集時のみロードされるよう整理。

変更詳細

ファイル変更
CLAUDE.mdPR 後追従ルール追記 / 失敗知見セクションを索引化
rules/backend/python.mdlint 失敗時の当該ファイル個別検証を追記
rules/backend/database.mdIntegrityError 後の再 SELECT は None 判定で RuntimeError を追記
rules/backend/architecture.mdタスクハンドラの「黙って return」禁止を services/tasks 項に追記
rules/backend/layers.mdCLAUDE.md 参照を整合(正本は layers.md / database.md)

テスト

doc のみの変更のため make ci(コード lint/test)対象外。Router/ORM・300/500 行・DB モック等の項目は移設先 rule に既出のため重複削除のみ。

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated internal development guidelines and workflow documentation for improved development processes and code quality standards.

Note: This release contains no user-facing changes; updates are limited to developer documentation and internal process improvements.

- CLAUDE.md「コミット / PR フロー」に PR 作成後の追従を追記
(CI・レビュー指摘の確認→修正→再 push、意思決定/範囲逸脱は承認)
- 「失敗から学んだ知見」の領域固有項目を各 scoped rule へ移設し索引化
- lint 個別検証 → rules/backend/python.md
- IntegrityError 後の再 SELECT → rules/backend/database.md
- タスクハンドラの黙って return 禁止 → rules/backend/architecture.md
- layers.md の旧 CLAUDE.md 参照を整合(正本は layers.md / database.md)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

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: 49ba1ebd-fe8b-4e21-b2da-5a728a02c6db

📥 Commits

Reviewing files that changed from the base of the PR and between 2ac4a6c and 8d7e2d9.

📒 Files selected for processing (5)
  • .claude/CLAUDE.md
  • .claude/rules/backend/architecture.md
  • .claude/rules/backend/database.md
  • .claude/rules/backend/layers.md
  • .claude/rules/backend/python.md

📝 Walkthrough

Walkthrough

CLAUDE.md adds a "pr 後の追従" workflow step and consolidates previously inline cross-cutting rules into references to scoped files. Four scoped backend rule files each receive one new rule: task handler error propagation, IntegrityError re-SELECT behavior, layers self-reference correction, and targeted ruff check usage.

Changes

AI Rules Reorganization and New Backend Rules

Layer / File(s)Summary
CLAUDE.md: PR follow-up workflow step and rule consolidation
.claude/CLAUDE.md
Adds a new "pr 後の追従" row to the workflow table covering CI/comment inspection commands, CI-fix iteration loop, and an approval gate distinguishing mechanical fixes from design/API/behavior changes. Removes domain-specific bullet rules from "失敗から学んだ知見" and replaces them with pointers to scoped backend and web rule files, retaining only two cross-cutting items.
Scoped backend rules: task handler, IntegrityError, layers reference, lint scoping
.claude/rules/backend/architecture.md, .claude/rules/backend/database.md, .claude/rules/backend/layers.md, .claude/rules/backend/python.md
Adds rule prohibiting silent return in task handlers, requiring NonRetryableError/RetryableError raises. Adds rule that re-SELECT returning None after IntegrityError must raise RuntimeError. Updates layers.md to point to itself as source of truth and fixes its inline comment reference from CLAUDE.md to database.md. Adds guidance to scope ruff check to touched files when pre-existing violations block make lint-backend.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • yusuke0610/devforge#297: Also modifies .claude/CLAUDE.md workflow guidance and retains the rule to create branches from origin/main, which is one of the two cross-cutting items kept in this PR's consolidation.

Poem

🐇 Hoppity-hop, the rules get a trim,
Scoped files now carry each backend whim.
PR checks loop till the CI turns green,
Silent returns? NonRetryableError convene!
With ruff check targeted and RuntimeError clear,
The rule docs sparkle — all tidy from here! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly describes the main changes: adding PR follow-up rules and converting failure knowledge into scoped rule files, which matches the PR objectives.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck 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 unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/claude-pr-followup-rules-split

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 ef2dfe5 into mainJun 22, 2026
18 checks passed
@yusuke0610
yusuke0610 deleted the docs/claude-pr-followup-rules-split branch July 20, 2026 12:26
Sign up for freeto 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

@yusuke0610
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化 - #398

Merged
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split
Jun 22, 2026
Merged

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化#398
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split

Conversation

@yusuke0610

@yusuke0610yusuke0610 commented Jun 22, 2026

Copy link
Copy Markdown
Owner

概要

.claude/ の AI ガイドラインのみの変更です(アプリコードの変更なし=コード CI 対象外)。

  1. PR 作成後の追従ルールを追加: CLAUDE.md「コミット / PR フロー」に、PR 作成後は CI 結果とレビュー指摘を追従し、こけ・指摘があれば修正→make ci→再 push を green かつ解消まで繰り返す旨を追記。ただし意思決定を要する指摘(設計・API/型契約・挙動変更)と diff 範囲を逸脱する指摘は勝手に直さず承認を取る、範囲内の機械的修正は承認不要、と明記。

  2. 「失敗から学んだ知見」を scoped rule 化: 領域固有の項目を、対象パス編集時に自動ロードされる各 scoped rule へ移設し、CLAUDE.md 側は索引に集約。常時ロードされる CLAUDE.md を 211→194 行に縮小しつつ、backend 固有の詳細は backend 編集時のみロードされるよう整理。

変更詳細

ファイル変更
CLAUDE.mdPR 後追従ルール追記 / 失敗知見セクションを索引化
rules/backend/python.mdlint 失敗時の当該ファイル個別検証を追記
rules/backend/database.mdIntegrityError 後の再 SELECT は None 判定で RuntimeError を追記
rules/backend/architecture.mdタスクハンドラの「黙って return」禁止を services/tasks 項に追記
rules/backend/layers.mdCLAUDE.md 参照を整合(正本は layers.md / database.md)

テスト

doc のみの変更のため make ci(コード lint/test)対象外。Router/ORM・300/500 行・DB モック等の項目は移設先 rule に既出のため重複削除のみ。

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated internal development guidelines and workflow documentation for improved development processes and code quality standards.

Note: This release contains no user-facing changes; updates are limited to developer documentation and internal process improvements.

- CLAUDE.md「コミット / PR フロー」に PR 作成後の追従を追記
(CI・レビュー指摘の確認→修正→再 push、意思決定/範囲逸脱は承認)
- 「失敗から学んだ知見」の領域固有項目を各 scoped rule へ移設し索引化
- lint 個別検証 → rules/backend/python.md
- IntegrityError 後の再 SELECT → rules/backend/database.md
- タスクハンドラの黙って return 禁止 → rules/backend/architecture.md
- layers.md の旧 CLAUDE.md 参照を整合(正本は layers.md / database.md)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

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: 49ba1ebd-fe8b-4e21-b2da-5a728a02c6db

📥 Commits

Reviewing files that changed from the base of the PR and between 2ac4a6c and 8d7e2d9.

📒 Files selected for processing (5)
  • .claude/CLAUDE.md
  • .claude/rules/backend/architecture.md
  • .claude/rules/backend/database.md
  • .claude/rules/backend/layers.md
  • .claude/rules/backend/python.md

📝 Walkthrough

Walkthrough

CLAUDE.md adds a "pr 後の追従" workflow step and consolidates previously inline cross-cutting rules into references to scoped files. Four scoped backend rule files each receive one new rule: task handler error propagation, IntegrityError re-SELECT behavior, layers self-reference correction, and targeted ruff check usage.

Changes

AI Rules Reorganization and New Backend Rules

Layer / File(s)Summary
CLAUDE.md: PR follow-up workflow step and rule consolidation
.claude/CLAUDE.md
Adds a new "pr 後の追従" row to the workflow table covering CI/comment inspection commands, CI-fix iteration loop, and an approval gate distinguishing mechanical fixes from design/API/behavior changes. Removes domain-specific bullet rules from "失敗から学んだ知見" and replaces them with pointers to scoped backend and web rule files, retaining only two cross-cutting items.
Scoped backend rules: task handler, IntegrityError, layers reference, lint scoping
.claude/rules/backend/architecture.md, .claude/rules/backend/database.md, .claude/rules/backend/layers.md, .claude/rules/backend/python.md
Adds rule prohibiting silent return in task handlers, requiring NonRetryableError/RetryableError raises. Adds rule that re-SELECT returning None after IntegrityError must raise RuntimeError. Updates layers.md to point to itself as source of truth and fixes its inline comment reference from CLAUDE.md to database.md. Adds guidance to scope ruff check to touched files when pre-existing violations block make lint-backend.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • yusuke0610/devforge#297: Also modifies .claude/CLAUDE.md workflow guidance and retains the rule to create branches from origin/main, which is one of the two cross-cutting items kept in this PR's consolidation.

Poem

🐇 Hoppity-hop, the rules get a trim,
Scoped files now carry each backend whim.
PR checks loop till the CI turns green,
Silent returns? NonRetryableError convene!
With ruff check targeted and RuntimeError clear,
The rule docs sparkle — all tidy from here! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly describes the main changes: adding PR follow-up rules and converting failure knowledge into scoped rule files, which matches the PR objectives.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck 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 unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/claude-pr-followup-rules-split

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 ef2dfe5 into mainJun 22, 2026
18 checks passed
@yusuke0610
yusuke0610 deleted the docs/claude-pr-followup-rules-split branch July 20, 2026 12:26
Sign up for freeto 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

@yusuke0610
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化 - #398

Merged
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split
Jun 22, 2026
Merged

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化#398
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split

Conversation

@yusuke0610

@yusuke0610yusuke0610 commented Jun 22, 2026

Copy link
Copy Markdown
Owner

概要

.claude/ の AI ガイドラインのみの変更です(アプリコードの変更なし=コード CI 対象外)。

  1. PR 作成後の追従ルールを追加: CLAUDE.md「コミット / PR フロー」に、PR 作成後は CI 結果とレビュー指摘を追従し、こけ・指摘があれば修正→make ci→再 push を green かつ解消まで繰り返す旨を追記。ただし意思決定を要する指摘(設計・API/型契約・挙動変更)と diff 範囲を逸脱する指摘は勝手に直さず承認を取る、範囲内の機械的修正は承認不要、と明記。

  2. 「失敗から学んだ知見」を scoped rule 化: 領域固有の項目を、対象パス編集時に自動ロードされる各 scoped rule へ移設し、CLAUDE.md 側は索引に集約。常時ロードされる CLAUDE.md を 211→194 行に縮小しつつ、backend 固有の詳細は backend 編集時のみロードされるよう整理。

変更詳細

ファイル変更
CLAUDE.mdPR 後追従ルール追記 / 失敗知見セクションを索引化
rules/backend/python.mdlint 失敗時の当該ファイル個別検証を追記
rules/backend/database.mdIntegrityError 後の再 SELECT は None 判定で RuntimeError を追記
rules/backend/architecture.mdタスクハンドラの「黙って return」禁止を services/tasks 項に追記
rules/backend/layers.mdCLAUDE.md 参照を整合(正本は layers.md / database.md)

テスト

doc のみの変更のため make ci(コード lint/test)対象外。Router/ORM・300/500 行・DB モック等の項目は移設先 rule に既出のため重複削除のみ。

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated internal development guidelines and workflow documentation for improved development processes and code quality standards.

Note: This release contains no user-facing changes; updates are limited to developer documentation and internal process improvements.

- CLAUDE.md「コミット / PR フロー」に PR 作成後の追従を追記
(CI・レビュー指摘の確認→修正→再 push、意思決定/範囲逸脱は承認)
- 「失敗から学んだ知見」の領域固有項目を各 scoped rule へ移設し索引化
- lint 個別検証 → rules/backend/python.md
- IntegrityError 後の再 SELECT → rules/backend/database.md
- タスクハンドラの黙って return 禁止 → rules/backend/architecture.md
- layers.md の旧 CLAUDE.md 参照を整合(正本は layers.md / database.md)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

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: 49ba1ebd-fe8b-4e21-b2da-5a728a02c6db

📥 Commits

Reviewing files that changed from the base of the PR and between 2ac4a6c and 8d7e2d9.

📒 Files selected for processing (5)
  • .claude/CLAUDE.md
  • .claude/rules/backend/architecture.md
  • .claude/rules/backend/database.md
  • .claude/rules/backend/layers.md
  • .claude/rules/backend/python.md

📝 Walkthrough

Walkthrough

CLAUDE.md adds a "pr 後の追従" workflow step and consolidates previously inline cross-cutting rules into references to scoped files. Four scoped backend rule files each receive one new rule: task handler error propagation, IntegrityError re-SELECT behavior, layers self-reference correction, and targeted ruff check usage.

Changes

AI Rules Reorganization and New Backend Rules

Layer / File(s)Summary
CLAUDE.md: PR follow-up workflow step and rule consolidation
.claude/CLAUDE.md
Adds a new "pr 後の追従" row to the workflow table covering CI/comment inspection commands, CI-fix iteration loop, and an approval gate distinguishing mechanical fixes from design/API/behavior changes. Removes domain-specific bullet rules from "失敗から学んだ知見" and replaces them with pointers to scoped backend and web rule files, retaining only two cross-cutting items.
Scoped backend rules: task handler, IntegrityError, layers reference, lint scoping
.claude/rules/backend/architecture.md, .claude/rules/backend/database.md, .claude/rules/backend/layers.md, .claude/rules/backend/python.md
Adds rule prohibiting silent return in task handlers, requiring NonRetryableError/RetryableError raises. Adds rule that re-SELECT returning None after IntegrityError must raise RuntimeError. Updates layers.md to point to itself as source of truth and fixes its inline comment reference from CLAUDE.md to database.md. Adds guidance to scope ruff check to touched files when pre-existing violations block make lint-backend.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • yusuke0610/devforge#297: Also modifies .claude/CLAUDE.md workflow guidance and retains the rule to create branches from origin/main, which is one of the two cross-cutting items kept in this PR's consolidation.

Poem

🐇 Hoppity-hop, the rules get a trim,
Scoped files now carry each backend whim.
PR checks loop till the CI turns green,
Silent returns? NonRetryableError convene!
With ruff check targeted and RuntimeError clear,
The rule docs sparkle — all tidy from here! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly describes the main changes: adding PR follow-up rules and converting failure knowledge into scoped rule files, which matches the PR objectives.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck 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 unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/claude-pr-followup-rules-split

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 ef2dfe5 into mainJun 22, 2026
18 checks passed
@yusuke0610
yusuke0610 deleted the docs/claude-pr-followup-rules-split branch July 20, 2026 12:26
Sign up for freeto 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

@yusuke0610
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化 - #398

Merged
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split
Jun 22, 2026
Merged

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化#398
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split

Conversation

@yusuke0610

@yusuke0610yusuke0610 commented Jun 22, 2026

Copy link
Copy Markdown
Owner

概要

.claude/ の AI ガイドラインのみの変更です(アプリコードの変更なし=コード CI 対象外)。

  1. PR 作成後の追従ルールを追加: CLAUDE.md「コミット / PR フロー」に、PR 作成後は CI 結果とレビュー指摘を追従し、こけ・指摘があれば修正→make ci→再 push を green かつ解消まで繰り返す旨を追記。ただし意思決定を要する指摘(設計・API/型契約・挙動変更)と diff 範囲を逸脱する指摘は勝手に直さず承認を取る、範囲内の機械的修正は承認不要、と明記。

  2. 「失敗から学んだ知見」を scoped rule 化: 領域固有の項目を、対象パス編集時に自動ロードされる各 scoped rule へ移設し、CLAUDE.md 側は索引に集約。常時ロードされる CLAUDE.md を 211→194 行に縮小しつつ、backend 固有の詳細は backend 編集時のみロードされるよう整理。

変更詳細

ファイル変更
CLAUDE.mdPR 後追従ルール追記 / 失敗知見セクションを索引化
rules/backend/python.mdlint 失敗時の当該ファイル個別検証を追記
rules/backend/database.mdIntegrityError 後の再 SELECT は None 判定で RuntimeError を追記
rules/backend/architecture.mdタスクハンドラの「黙って return」禁止を services/tasks 項に追記
rules/backend/layers.mdCLAUDE.md 参照を整合(正本は layers.md / database.md)

テスト

doc のみの変更のため make ci(コード lint/test)対象外。Router/ORM・300/500 行・DB モック等の項目は移設先 rule に既出のため重複削除のみ。

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated internal development guidelines and workflow documentation for improved development processes and code quality standards.

Note: This release contains no user-facing changes; updates are limited to developer documentation and internal process improvements.

- CLAUDE.md「コミット / PR フロー」に PR 作成後の追従を追記
(CI・レビュー指摘の確認→修正→再 push、意思決定/範囲逸脱は承認)
- 「失敗から学んだ知見」の領域固有項目を各 scoped rule へ移設し索引化
- lint 個別検証 → rules/backend/python.md
- IntegrityError 後の再 SELECT → rules/backend/database.md
- タスクハンドラの黙って return 禁止 → rules/backend/architecture.md
- layers.md の旧 CLAUDE.md 参照を整合(正本は layers.md / database.md)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

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: 49ba1ebd-fe8b-4e21-b2da-5a728a02c6db

📥 Commits

Reviewing files that changed from the base of the PR and between 2ac4a6c and 8d7e2d9.

📒 Files selected for processing (5)
  • .claude/CLAUDE.md
  • .claude/rules/backend/architecture.md
  • .claude/rules/backend/database.md
  • .claude/rules/backend/layers.md
  • .claude/rules/backend/python.md

📝 Walkthrough

Walkthrough

CLAUDE.md adds a "pr 後の追従" workflow step and consolidates previously inline cross-cutting rules into references to scoped files. Four scoped backend rule files each receive one new rule: task handler error propagation, IntegrityError re-SELECT behavior, layers self-reference correction, and targeted ruff check usage.

Changes

AI Rules Reorganization and New Backend Rules

Layer / File(s)Summary
CLAUDE.md: PR follow-up workflow step and rule consolidation
.claude/CLAUDE.md
Adds a new "pr 後の追従" row to the workflow table covering CI/comment inspection commands, CI-fix iteration loop, and an approval gate distinguishing mechanical fixes from design/API/behavior changes. Removes domain-specific bullet rules from "失敗から学んだ知見" and replaces them with pointers to scoped backend and web rule files, retaining only two cross-cutting items.
Scoped backend rules: task handler, IntegrityError, layers reference, lint scoping
.claude/rules/backend/architecture.md, .claude/rules/backend/database.md, .claude/rules/backend/layers.md, .claude/rules/backend/python.md
Adds rule prohibiting silent return in task handlers, requiring NonRetryableError/RetryableError raises. Adds rule that re-SELECT returning None after IntegrityError must raise RuntimeError. Updates layers.md to point to itself as source of truth and fixes its inline comment reference from CLAUDE.md to database.md. Adds guidance to scope ruff check to touched files when pre-existing violations block make lint-backend.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • yusuke0610/devforge#297: Also modifies .claude/CLAUDE.md workflow guidance and retains the rule to create branches from origin/main, which is one of the two cross-cutting items kept in this PR's consolidation.

Poem

🐇 Hoppity-hop, the rules get a trim,
Scoped files now carry each backend whim.
PR checks loop till the CI turns green,
Silent returns? NonRetryableError convene!
With ruff check targeted and RuntimeError clear,
The rule docs sparkle — all tidy from here! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly describes the main changes: adding PR follow-up rules and converting failure knowledge into scoped rule files, which matches the PR objectives.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck 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 unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/claude-pr-followup-rules-split

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 ef2dfe5 into mainJun 22, 2026
18 checks passed
@yusuke0610
yusuke0610 deleted the docs/claude-pr-followup-rules-split branch July 20, 2026 12:26
Sign up for freeto 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

@yusuke0610
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化 - #398

Merged
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split
Jun 22, 2026
Merged

docs(claude): PR 作成後の追従ルール追加と失敗知見の scoped rule 化#398
yusuke0610 merged 1 commit into
mainfrom
docs/claude-pr-followup-rules-split

Conversation

@yusuke0610

@yusuke0610yusuke0610 commented Jun 22, 2026

Copy link
Copy Markdown
Owner

概要

.claude/ の AI ガイドラインのみの変更です(アプリコードの変更なし=コード CI 対象外)。

  1. PR 作成後の追従ルールを追加: CLAUDE.md「コミット / PR フロー」に、PR 作成後は CI 結果とレビュー指摘を追従し、こけ・指摘があれば修正→make ci→再 push を green かつ解消まで繰り返す旨を追記。ただし意思決定を要する指摘(設計・API/型契約・挙動変更)と diff 範囲を逸脱する指摘は勝手に直さず承認を取る、範囲内の機械的修正は承認不要、と明記。

  2. 「失敗から学んだ知見」を scoped rule 化: 領域固有の項目を、対象パス編集時に自動ロードされる各 scoped rule へ移設し、CLAUDE.md 側は索引に集約。常時ロードされる CLAUDE.md を 211→194 行に縮小しつつ、backend 固有の詳細は backend 編集時のみロードされるよう整理。

変更詳細

ファイル変更
CLAUDE.mdPR 後追従ルール追記 / 失敗知見セクションを索引化
rules/backend/python.mdlint 失敗時の当該ファイル個別検証を追記
rules/backend/database.mdIntegrityError 後の再 SELECT は None 判定で RuntimeError を追記
rules/backend/architecture.mdタスクハンドラの「黙って return」禁止を services/tasks 項に追記
rules/backend/layers.mdCLAUDE.md 参照を整合(正本は layers.md / database.md)

テスト

doc のみの変更のため make ci(コード lint/test)対象外。Router/ORM・300/500 行・DB モック等の項目は移設先 rule に既出のため重複削除のみ。

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated internal development guidelines and workflow documentation for improved development processes and code quality standards.

Note: This release contains no user-facing changes; updates are limited to developer documentation and internal process improvements.

- CLAUDE.md「コミット / PR フロー」に PR 作成後の追従を追記
(CI・レビュー指摘の確認→修正→再 push、意思決定/範囲逸脱は承認)
- 「失敗から学んだ知見」の領域固有項目を各 scoped rule へ移設し索引化
- lint 個別検証 → rules/backend/python.md
- IntegrityError 後の再 SELECT → rules/backend/database.md
- タスクハンドラの黙って return 禁止 → rules/backend/architecture.md
- layers.md の旧 CLAUDE.md 参照を整合(正本は layers.md / database.md)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

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: 49ba1ebd-fe8b-4e21-b2da-5a728a02c6db

📥 Commits

Reviewing files that changed from the base of the PR and between 2ac4a6c and 8d7e2d9.

📒 Files selected for processing (5)
  • .claude/CLAUDE.md
  • .claude/rules/backend/architecture.md
  • .claude/rules/backend/database.md
  • .claude/rules/backend/layers.md
  • .claude/rules/backend/python.md

📝 Walkthrough

Walkthrough

CLAUDE.md adds a "pr 後の追従" workflow step and consolidates previously inline cross-cutting rules into references to scoped files. Four scoped backend rule files each receive one new rule: task handler error propagation, IntegrityError re-SELECT behavior, layers self-reference correction, and targeted ruff check usage.

Changes

AI Rules Reorganization and New Backend Rules

Layer / File(s)Summary
CLAUDE.md: PR follow-up workflow step and rule consolidation
.claude/CLAUDE.md
Adds a new "pr 後の追従" row to the workflow table covering CI/comment inspection commands, CI-fix iteration loop, and an approval gate distinguishing mechanical fixes from design/API/behavior changes. Removes domain-specific bullet rules from "失敗から学んだ知見" and replaces them with pointers to scoped backend and web rule files, retaining only two cross-cutting items.
Scoped backend rules: task handler, IntegrityError, layers reference, lint scoping
.claude/rules/backend/architecture.md, .claude/rules/backend/database.md, .claude/rules/backend/layers.md, .claude/rules/backend/python.md
Adds rule prohibiting silent return in task handlers, requiring NonRetryableError/RetryableError raises. Adds rule that re-SELECT returning None after IntegrityError must raise RuntimeError. Updates layers.md to point to itself as source of truth and fixes its inline comment reference from CLAUDE.md to database.md. Adds guidance to scope ruff check to touched files when pre-existing violations block make lint-backend.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • yusuke0610/devforge#297: Also modifies .claude/CLAUDE.md workflow guidance and retains the rule to create branches from origin/main, which is one of the two cross-cutting items kept in this PR's consolidation.

Poem

🐇 Hoppity-hop, the rules get a trim,
Scoped files now carry each backend whim.
PR checks loop till the CI turns green,
Silent returns? NonRetryableError convene!
With ruff check targeted and RuntimeError clear,
The rule docs sparkle — all tidy from here! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly describes the main changes: adding PR follow-up rules and converting failure knowledge into scoped rule files, which matches the PR objectives.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck 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 unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/claude-pr-followup-rules-split

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 ef2dfe5 into mainJun 22, 2026
18 checks passed
@yusuke0610
yusuke0610 deleted the docs/claude-pr-followup-rules-split branch July 20, 2026 12:26
Sign up for freeto 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

@yusuke0610