Skip to content

Commit 4ef07a5

Browse files
committed
Issue #194: テンプレ/CODEOWNERS/章7-8の整合
1 parent 5fc9dce commit 4ef07a5

6 files changed

Lines changed: 171 additions & 45 deletions

File tree

.github/CODEOWNERS

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
1-
# CODEOWNERS (standardized for book repos)
2-
# 共同フォーマッタ資産・下部ナビ共通インクルード
3-
/book-formatter-contrib/** @itdojp/book-formatter
4-
/docs/_includes/page-navigation.html @itdojp/book-formatter
1+
# CODEOWNERS
2+
#
3+
# NOTE:
4+
# - Order matters. The last matching pattern takes precedence.
5+
# - 本文の正(Single Source of Truth)は `manuscript/**`。
56

6-
# 本文(GitHub Pages)
7-
/docs/src/** @itdojp/book-editors
8-
/docs/index.md @itdojp/book-editors
7+
# Default owners (repo-wide)
8+
* @itdojp/book-editors
99

10-
# 書籍の元原稿(必要なら運用
11-
/src/** @itdojp/book-editors
10+
# GitHub Pages(公開サイト
11+
/docs/** @itdojp/book-editors
1212

13-
# 上記以外(コンテンツ/設定/CI含む全般)
13+
# 共同フォーマッタ資産・下部ナビ共通インクルード
14+
/.book-formatter/** @itdojp/book-formatter
15+
/docs/_includes/page-navigation.html @itdojp/book-formatter
1416

15-
/.book-formatter/** @itdojp/book-formatter
16-
* @itdojp/book-editors
17+
# 本文(正)
18+
/manuscript/** @itdojp/book-editors
19+
20+
# 書籍の元原稿(互換/残骸。必要な場合のみ運用)
21+
/src/** @itdojp/book-editors

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,39 @@ body:
4747
validations:
4848
required: true
4949

50+
- type: textarea
51+
id: acceptance
52+
attributes:
53+
label: 受入基準(任意)
54+
description: 修正が完了したと判断できる条件(チェック可能な形)を記載してください
55+
placeholder: |
56+
- [ ] ...
57+
- [ ] ...
58+
validations:
59+
required: false
60+
61+
- type: textarea
62+
id: constraints
63+
attributes:
64+
label: 制約・変更禁止領域(任意)
65+
description: 触ってはいけないファイル/設定や制約があれば明記してください
66+
placeholder: |
67+
- 変更してよい:
68+
- 変更してはいけない:
69+
validations:
70+
required: false
71+
72+
- type: textarea
73+
id: test
74+
attributes:
75+
label: テスト方法(任意)
76+
description: 最低限の確認コマンドや手動確認手順を書いてください
77+
placeholder: |
78+
- コマンド:
79+
- 手動確認:
80+
validations:
81+
required: false
82+
5083
- type: textarea
5184
id: environment
5285
attributes:
@@ -67,4 +100,3 @@ body:
67100
description: スクリーンショット、関連リンク、原因の見当など
68101
validations:
69102
required: false
70-

.github/ISSUE_TEMPLATE/docs_change.yml

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,43 @@ body:
3333
validations:
3434
required: true
3535

36+
- type: textarea
37+
id: acceptance
38+
attributes:
39+
label: 受入基準(DoD)
40+
description: 変更が完了したと判断できる条件を、チェック可能な形で箇条書きにしてください
41+
placeholder: |
42+
- [ ] (例)誤字が修正されている
43+
- [ ] (例)リンク先が有効で、意図したページに到達する
44+
validations:
45+
required: true
46+
47+
- type: textarea
48+
id: constraints
49+
attributes:
50+
label: 制約・変更禁止領域(任意)
51+
description: 触ってはいけないファイル/設定や、変更方針の制約があれば明記してください
52+
placeholder: |
53+
- 変更してよい:
54+
- 変更してはいけない:
55+
validations:
56+
required: false
57+
58+
- type: textarea
59+
id: test
60+
attributes:
61+
label: テスト方法(任意)
62+
description: 最低限の確認コマンドや手動確認手順(例:CI/リンク確認)を書いてください
63+
placeholder: |
64+
- コマンド:
65+
- 手動確認:
66+
validations:
67+
required: false
68+
3669
- type: textarea
3770
id: additional
3871
attributes:
3972
label: 補足(任意)
4073
description: スクリーンショット、関連Issue/PR、参考リンクなど
4174
validations:
4275
required: false
43-

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,51 @@ body:
2525
validations:
2626
required: true
2727

28+
- type: textarea
29+
id: acceptance
30+
attributes:
31+
label: 受入基準(DoD)
32+
description: 変更が完了したと判断できる条件を、チェック可能な形で箇条書きにしてください
33+
placeholder: |
34+
- [ ] ...
35+
- [ ] ...
36+
validations:
37+
required: true
38+
39+
- type: textarea
40+
id: nonfunctional
41+
attributes:
42+
label: 非機能要件(任意)
43+
description: 性能/セキュリティ/互換性など、必要があれば記載してください
44+
placeholder: |
45+
- セキュリティ:
46+
- 互換性:
47+
- 性能:
48+
validations:
49+
required: false
50+
51+
- type: textarea
52+
id: constraints
53+
attributes:
54+
label: 制約・変更禁止領域(任意)
55+
description: 触ってはいけないファイル/設定や、変更方針の制約があれば明記してください
56+
placeholder: |
57+
- 変更してよい:
58+
- 変更してはいけない:
59+
validations:
60+
required: false
61+
62+
- type: textarea
63+
id: test
64+
attributes:
65+
label: テスト方法(任意)
66+
description: 最低限の確認コマンドや手動確認手順を書いてください
67+
placeholder: |
68+
- コマンド:
69+
- 手動確認:
70+
validations:
71+
required: false
72+
2873
- type: textarea
2974
id: scope
3075
attributes:
@@ -48,4 +93,3 @@ body:
4893
description: 参考リンク、画面例、関連Issue/PRなど
4994
validations:
5095
required: false
51-

manuscript/chapter-issue-management/index.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,9 @@ Issueテンプレートが用意されているリポジトリでは、作成時
9999
- **トリアージがしやすい**`bug` / `documentation` / `question` など、分類と初動が揃う
100100
- **やりとりの往復が減る**:「情報が足りないので聞き返す」回数が減り、解決が早くなる
101101

102-
このリポジトリでは例として、`bug` / `enhancement` / `documentation` / `question` のIssue Formsを `.github/ISSUE_TEMPLATE/` に同梱しています。自分のプロジェクトで使う場合は、まずは「バグ報告」と「ドキュメント改善」だけ導入するのがおすすめです。
102+
このリポジトリでは例として、`bug` / `enhancement` / `documentation` / `question` に対応する Issue Forms を `.github/ISSUE_TEMPLATE/` に同梱しています(例:`bug_report.yml` / `feature_request.yml` / `docs_change.yml` / `question.yml`)。
103+
104+
AI/エージェント支援で PR を作る前提の場合は、Issue の情報不足が運用事故や手戻りに直結します。最低限、**受入基準(DoD)****制約(変更禁止領域)****テスト方法** を埋める運用にすると安全です(本リポジトリのフォームにも同観点の欄を入れています)。
103105

104106
**Step 2: タイトルの設定**
105107

@@ -129,6 +131,9 @@ Issueテンプレートが用意されているリポジトリでは、作成時
129131
## 期待する動作
130132
メニューが画面内に収まって表示される
131133

134+
## 実際の動作
135+
メニューが画面外にはみ出し、右端が見切れる
136+
132137
## 環境情報
133138
- デバイス: iPhone 12
134139
- ブラウザ: Safari 15.0

manuscript/chapter-pull-requests/index.md

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ Pull Requestの作成からマージまでの一連の流れを理解し、効
204204

205205
---
206206

207-
## 7.4 コンフリクト(競合)の理解と解決
207+
## 7.4 PRレビューと運用(テンプレート / CODEOWNERS)
208208

209209
### PRテンプレートの構造
210210

@@ -228,6 +228,18 @@ AI 支援の運用ルール(機密入力の禁止、確認観点など)は
228228

229229
- AI利用ポリシー(テンプレ):https://github.com/{{ site.repository }}/blob/main/AI_USAGE_POLICY.md
230230

231+
### PRレビュー状態
232+
233+
![PRレビュー状態]({{ '/assets/images/diagrams/chapter08/05_pr_review_states.svg' | relative_url }})
234+
235+
Pull Requestのレビュープロセスでは、様々な状態があります。各状態の意味を理解し、適切なアクションを取ることが重要です。
236+
237+
### PRディスカッション管理
238+
239+
![PRディスカッション管理]({{ '/assets/images/diagrams/chapter08/06_pr_discussion_management.svg' | relative_url }})
240+
241+
Pull Requestでのディスカッションを効果的に管理することで、チーム全体のコミュニケーション品質と開発効率を向上させましょう。
242+
231243
### AI生成PRのレビュー観点(最小セット)
232244

233245
AI生成のPull Requestは「速く作れる」一方で、意図・検証・安全性が省略されがちです。レビューでは「AIが作ったか」ではなく、次の観点で確認すると、主観ではなく手順として運用できます。
@@ -248,17 +260,39 @@ AI生成のPull Requestは「速く作れる」一方で、意図・検証・安
248260
- 設定ファイル: `.github/CODEOWNERS`
249261
- できること: 特定のパス(例:`docs/`)の変更が入ったときに、担当者(ユーザー/チーム)へレビュー依頼を自動化できる
250262

251-
このリポジトリでは、`manuscript/**`(本文)と `src/**`(元原稿)を例として `CODEOWNERS` に記載しています。自分のプロジェクトで使う場合は、まずは **「docs/ は文書担当」** だけ決めると運用しやすくなります。
263+
このリポジトリでは、例として `manuscript/**`(本文)・`docs/**`(公開サイト)・`src/**`(元原稿)を `CODEOWNERS` に記載しています。自分のプロジェクトで使う場合は、まずは **「docs/ は文書担当」** だけ決めると運用しやすくなります。
264+
265+
また、`CODEOWNERS`**パターンの順序が重要**で、複数マッチする場合は「最後にマッチした行」が優先されます。
252266

253267
**レビューが詰まるときの対処(例)**
254268
- 代替担当(バックアップ)を決め、CODEOWNERSに追加する
255269
- ローテーション(当番表)で担当を回す(人に依存しない)
256270
- 必須レビュー数や必須チェック(CI)と組み合わせ、例外運用の手順も決める
257271

258-
### コンフリクトが発生する原因
272+
### PRマージ戦略
273+
274+
![PRマージ戦略]({{ '/assets/images/diagrams/chapter08/07_pr_merge_strategies.svg' | relative_url }})
275+
276+
Pull Requestをマージする際には、様々な戦略があります。プロジェクトのポリシーや履歴管理の方針に応じて、適切なマージ戦略を選択しましょう。
277+
278+
### PR自動化ツール
279+
280+
![PR自動化ツール]({{ '/assets/images/diagrams/chapter08/08_pr_automation_tools.svg' | relative_url }})
281+
282+
効率的なチーム開発のために、PRプロセスの一部を自動化することができます。CI/CD、自動テスト、コード品質チェックなどのツールを活用しましょう。
283+
284+
### ブランチワークフローパターン(参考)
285+
286+
![ブランチワークフローパターン]({{ '/assets/images/diagrams/chapter06/16_branch_workflow_patterns.svg' | relative_url }})
287+
288+
---
289+
290+
## 7.5 コンフリクト(競合)の理解と解決
259291

260292
コンフリクト(競合)は、同じファイルの同じ箇所が、異なるブランチで別々の内容に変更された場合に発生します。
261293

294+
### コンフリクトが発生する原因
295+
262296
**発生例:**
263297
```text
264298
main ブランチ:
@@ -326,18 +360,6 @@ Welcome to Our Website (mainブランチの内容)
326360
- GitHub Desktopで「Mark as resolved」
327361
- 「Continue merge」でマージ完了
328362

329-
### PRレビュー状態
330-
331-
![PRレビュー状態]({{ '/assets/images/diagrams/chapter08/05_pr_review_states.svg' | relative_url }})
332-
333-
Pull Requestのレビュープロセスでは、様々な状態があります。各状態の意味を理解し、適切なアクションを取ることが重要です。
334-
335-
### PRディスカッション管理
336-
337-
![PRディスカッション管理]({{ '/assets/images/diagrams/chapter08/06_pr_discussion_management.svg' | relative_url }})
338-
339-
Pull Requestでのディスカッションを効果的に管理することで、チーム全体のコミュニケーション品質と開発効率を向上させましょう。
340-
341363
### コンフリクト予防のベストプラクティス
342364

343365
**1. 頻繁なマージ**
@@ -356,20 +378,6 @@ Pull Requestでのディスカッションを効果的に管理することで
356378
- 機能ごとにファイルを分離
357379
- 共通部分の変更は慎重に
358380

359-
### PRマージ戦略
360-
361-
![PRマージ戦略]({{ '/assets/images/diagrams/chapter08/07_pr_merge_strategies.svg' | relative_url }})
362-
363-
Pull Requestをマージする際には、様々な戦略があります。プロジェクトのポリシーや履歴管理の方針に応じて、適切なマージ戦略を選択しましょう。
364-
365-
### PR自動化ツール
366-
367-
![PR自動化ツール]({{ '/assets/images/diagrams/chapter08/08_pr_automation_tools.svg' | relative_url }})
368-
369-
効率的なチーム開発のために、PRプロセスの一部を自動化することができます。CI/CD、自動テスト、コード品質チェックなどのツールを活用しましょう。
370-
371-
![ブランチワークフローパターン]({{ '/assets/images/diagrams/chapter06/16_branch_workflow_patterns.svg' | relative_url }})
372-
373381
---
374382

375383
## まとめ

0 commit comments

Comments
 (0)