Skip to content

Commit aa7adbc

Browse files
authored
Issue #142 P2: 情報設計テンプレと保守性(更新/リンクチェック)を追加 (#147)
* feat: 運用保守と情報設計テンプレを追加(Issue #142 P2) * fix: 表記ゆれを修正
1 parent c935c25 commit aa7adbc

12 files changed

Lines changed: 323 additions & 3 deletions

File tree

.github/workflows/nav-link-check.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,24 @@ jobs:
5454
return paths
5555
def discover():
5656
paths=[]
57+
# book-formatter系(introduction/chapters/appendices/...)
5758
for seg in ['introduction','chapters','appendices','afterword']:
5859
d = Path('docs')/seg
5960
if d.is_dir():
6061
for child in sorted(d.iterdir()):
61-
if child.is_dir():
62+
if child.is_dir() and (child / 'index.md').exists():
6263
paths.append(f'/{seg}/{child.name}/')
64+
65+
# 本リポジトリ(docs/src/**)
66+
src_root = Path('docs') / 'src'
67+
if src_root.is_dir():
68+
for child in sorted(src_root.iterdir()):
69+
if child.is_dir() and (child / 'index.md').exists():
70+
paths.append(f'/src/{child.name}/')
71+
72+
# examples(docs/examples/index.md)
73+
if (Path('docs') / 'examples' / 'index.md').exists():
74+
paths.append('/examples/')
6375
return paths
6476
paths = read_nav() or discover() or ['/']
6577
# Always include index

UPDATE_POLICY.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# 更新ポリシー(テンプレ)
2+
3+
この文書は、本書(GitHub初心者ガイド)を継続的に保守するための「更新方針」と「更新手順」を定義します。
4+
5+
## 目的
6+
7+
- GitHub の UI / 機能変更によって、本書の説明が古くなることを前提に、更新作業を運用に落とす。
8+
- 読者の学習を阻害する品質劣化(リンク切れ、手順欠落、表記ゆれ)を早期に検知する。
9+
10+
## 更新の対象範囲
11+
12+
- 本文(`docs/src/**`
13+
- 実習サンプル(`examples/**`
14+
- CI(品質ゲート・リンクチェック)やテンプレ(`.github/**`
15+
16+
## 更新頻度(推奨)
17+
18+
- **四半期に1回**(例:3か月に1回)、次の観点で棚卸しします。
19+
- UI 手順のスクリーンショットや操作導線が現行 UI と矛盾していないか
20+
- 章末の手順・コマンドが「推奨形」になっているか
21+
- リンク切れ、参照先の移動がないか
22+
23+
## 変更管理の原則
24+
25+
- 変更理由は Issue に残し、変更内容は Pull Request でレビューします(Docs-as-Code)。
26+
- 影響が大きい更新は、小さな PR に分割してレビュー可能性を優先します。
27+
28+
## 破壊的変更(UI差分・機能差分)が発生したときの扱い
29+
30+
GitHub 側の UI や挙動が変わり、手順がそのままでは成立しなくなった場合は、次のルールで扱います。
31+
32+
1. **Issue を起票**し、「どこが」「なぜ」成立しないかを記録します(スクリーンショットやログがあるとよい)。
33+
2. 本文は、断定ではなく **前提条件と確認ポイント** を追加します(例:「画面が異なる場合は Settings → … を探す」)。
34+
3. 章内で同様の導線が複数ある場合は、1か所だけ直して終わらせず、関連章も点検します。
35+
36+
## 品質ゲート(CI)
37+
38+
本書は、最低限の自動チェックで品質を維持します。
39+
40+
- PR時(差分 docs のみ):
41+
- `.github/workflows/docs-quality-gate.yml`
42+
- Markdown lint + 内部ファイルリンクチェック
43+
- 定期(公開ページの到達確認):
44+
- `.github/workflows/nav-link-check.yml`
45+
46+
## 更新作業のチェックリスト(例)
47+
48+
- [ ] 関連 Issue に「現象」「影響範囲」「完了条件(DoD)」がある
49+
- [ ] 章の手順が省略されていない(前提条件・注意事項がある)
50+
- [ ] 章内のリンクが有効(内部リンク/公開ページ)
51+
- [ ] `npm run docs:quality-gate` が通る
52+

docs/examples/index.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,18 @@ title: 実習サンプル(examples/)
1818
- 推奨ディレクトリ構成(`docs/`
1919
- 文書テンプレ(ADR/議事録/設計/Runbook)
2020
- Issue/PR のサンプル文面
21+
- `docs/assets/`(小さな添付・図解の置き場)
2122

2223
該当パス:`examples/docs-as-code/`
2324

25+
### すぐ使えるテンプレ集
26+
27+
- README(入口ポータル)
28+
- `docs/index.md`(文書ポータル)
29+
- ラベル設計(増えすぎ対策の最小セット)
30+
31+
該当パス:`examples/templates/`
32+
2433
## 使い方(コピーして使う)
2534

2635
1. `examples/` から必要なフォルダを選びます。

docs/src/chapter-docs-as-code/index.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,35 @@ docs/
5757

5858
---
5959

60+
## 大きなファイル・成果物の置き場(設計指針)
61+
62+
文書運用を本格化すると、PDF・画像・動画・ビルド成果物など「大きなファイル」が増えやすくなります。Git(履歴管理)に何でも入れると、リポジトリが肥大化して運用コストが上がります。
63+
64+
ここでは、初心者が判断しやすいように「入れる/入れない」の基準と代替案を整理します。
65+
66+
### Gitに入れる/入れない(判断基準)
67+
68+
| 対象 | Git(履歴管理) | 推奨の置き場(例) | 理由 |
69+
| --- | --- | --- | --- |
70+
| Markdownなどの本文 | 入れる | `docs/` | 差分が追いやすい |
71+
| 小さな画像(図解など) | 条件付きで入れる | `docs/assets/` | 文書と一体で管理したい |
72+
| 生成物(`dist/`、ビルド成果物) | 入れない | Releases / Packages | 再生成できるなら履歴に不要 |
73+
| 大きなバイナリ(動画・巨大PDFなど) | 原則入れない | LFS / 外部ストレージ | 履歴が肥大化しやすい |
74+
75+
### 代表的な置き場(使い分け)
76+
77+
- **Git LFS**:大きなファイルも Git で管理したい場合の選択肢(ただし運用・容量の前提が増えます)
78+
- **Releases のアセット**:配布物(PDF、成果物ZIPなど)を「版」として公開したい場合
79+
- **Packages**:ライブラリ/コンテナなどの配布を前提にする場合
80+
- **外部ストレージ**:容量が大きい・更新頻度が高い場合(Git には参照リンクだけ残す)
81+
82+
### アンチパターン(避ける)
83+
84+
- 生成物(`dist/`)や巨大ZIPをそのままコミットする
85+
- 画像/動画を無制限に追加して、履歴が肥大化する
86+
87+
サンプル構成(`docs/ + assets/`)は `examples/` に用意しています。
88+
6089
## 文書のライフサイクル(作成→レビュー→改訂→廃止)
6190

6291
文書は「書いて終わり」ではなく、次の流れで保守する前提で設計します。
@@ -96,6 +125,26 @@ docs/
96125

97126
---
98127

128+
## 情報設計(検索・索引・タグ付け)
129+
130+
GitHub は「置くだけ」だと、検索できない倉庫になりがちです。最小の設計として、次の 3 点を揃えると運用しやすくなります。
131+
132+
### 1) README を入口(ポータル)にする
133+
134+
README には、詳細本文を増やすのではなく、**最短導線(入口)****主要リンク** を置きます。
135+
136+
README のひな型は `examples/` に用意しています。
137+
138+
### 2) docs/index.md を索引(目次)にする
139+
140+
docs 配下の入口(`docs/index.md`)に、カテゴリ別リンクをまとめて「探せる状態」を作ります。
141+
142+
### 3) ラベルを「情報分類」として設計する
143+
144+
Issue/Project のラベル体系は、タスク管理だけでなく **情報分類** としても使えます。ラベルを増やしすぎないためのガイドは、第8章も参照してください。
145+
146+
---
147+
99148
## GitHub の各機能の使い分け(迷ったらここ)
100149

101150
文書管理は、置き場所が曖昧だと重複・分散が発生します。最初に「箱の使い分け」を決めてください。
@@ -178,3 +227,16 @@ git push -u origin docs/add-templates
178227
- Docs-as-Code は「文書を Pull Request でレビューして保守する」ための運用です。
179228
- docs/ の最小構成(index + 分類 + テンプレ)を決めると、文書が増えても破綻しにくくなります。
180229
- 置き場所(README/docs/Issues など)の使い分け基準を決め、二重管理を避けることが重要です。
230+
231+
---
232+
233+
## 次の一手(非エンジニア向け:3〜4章で体験する)
234+
235+
非エンジニア向けの最短ルートでは、次の順で「文書をPRで回す」体験まで到達することを目標にします。
236+
237+
1. この章の実習を 1 周する(Issue → PR → レビュー → マージ)
238+
2. 第8章(Issue/Projects)で、文書変更の Issue を起票し、優先度やラベルで整理する
239+
3. 第7章(Pull Request)で、PRテンプレとレビュー運用(CODEOWNERS含む)を確認し、実際にマージまで行う
240+
4. 必要に応じて、第9章(GitHub Actions)で Pages 公開の導線を組み込む
241+
242+
更新運用(四半期点検など)の方針は `UPDATE_POLICY.md` を参照してください。

docs/src/chapter-github-actions/index.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -806,6 +806,18 @@ jobs:
806806
807807
次の章では、セキュリティ対策について学び、安全なGitHub利用方法を身につけます。
808808
809+
---
810+
811+
## 次の一手(文書公開に繋げる)
812+
813+
Docs-as-Code の運用に「公開(Pages)」を組み込みたい場合は、次の順で進めることを推奨します。
814+
815+
1. 公開範囲(public docs / private docs / internal)を決める
816+
2. Pages の公開方式を選ぶ(Deploy from a branch / GitHub Actions で build → deploy)
817+
3. PR を起点に文書を更新し、マージで公開版が更新される導線を作る
818+
819+
運用方針(更新頻度・破壊的変更時の扱い)は `UPDATE_POLICY.md` を参照してください。
820+
809821
![PRベストプラクティスサマリー]({{ '/assets/images/diagrams/chapter08/14_pr_best_practices_summary.svg' | relative_url }})
810822

811823
**理解度確認:**

docs/src/chapter-issue-management/index.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,24 @@ GitHub上では無数のオープンソースプロジェクトが公開され
207207
- `needs review`:レビュー待ち
208208
- `blocked`:他の課題に依存
209209

210+
### ラベル設計のガイド(増えすぎ対策)
211+
212+
ラベルは増やしすぎると運用コストが上がり、逆に「分類できない」状態になります。初心者向けの最小指針は次のとおりです。
213+
214+
- **軸を決める**:種類(type)/優先度(priority)/担当領域(area)など、役割が違うラベルを混ぜない
215+
- **プレフィックスで揃える**:例:`type: docs``priority: high``area: docs`
216+
- **定義を明文化する**:ラベル名だけで判断できない場合は、CONTRIBUTING などに運用ルールを書く
217+
- **増えすぎを防ぐ**:使われていないラベルは定期的に整理する(四半期点検など)
218+
219+
**最小セットの例(文書運用を含む)**
220+
221+
- 種類:`type: bug` / `type: docs` / `type: feature` / `type: question`
222+
- 優先度:`priority: high` / `priority: medium` / `priority: low`
223+
- 担当領域:`area: docs` / `area: ci` / `area: security`(必要な範囲だけ)
224+
- 状態:`status: in progress` / `status: needs review` / `status: blocked`
225+
226+
※ 既存の標準ラベル(`bug` / `documentation` など)を使う運用でも問題ありません。重要なのは「粒度」と「増えすぎ対策」です。
227+
210228
### 貢献ガイドライン
211229

212230
![貢献ガイドライン]({{ '/assets/images/diagrams/chapter07/05_contribution_guidelines.svg' | relative_url }})
@@ -507,3 +525,17 @@ Done:
507525
□ プロジェクトボードでタスクを視覚的に管理できる
508526
□ チーム開発でのIssue活用方法を理解している
509527
□ 継続的な改善プロセスを実践できる
528+
529+
---
530+
531+
## 次の一手(文書運用に繋げる)
532+
533+
文書運用(Docs-as-Code)に繋げる場合は、次の 2 ステップを推奨します。
534+
535+
1. 「文書変更」の Issue を 1 件起票する(目的・完了条件を明記する)
536+
2. 起票した Issue を起点に PR を作成し、レビュー→マージまで完了する(第7章)
537+
538+
参照:
539+
540+
- Docs-as-Code:{{ '/src/chapter-docs-as-code/' | relative_url }}
541+
- Pull Request:{{ '/src/chapter-pull-requests/' | relative_url }}

docs/src/chapter-pull-requests/index.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ Pull Requestをマージする際には、様々な戦略があります。プ
353353

354354
![PR自動化ツール]({{ '/assets/images/diagrams/chapter08/08_pr_automation_tools.svg' | relative_url }})
355355

356-
效率的なチーム開発のために、PRプロセスの一部を自動化することができます。CI/CD、自動テスト、コード品質チェックなどのツールを活用しましょう。
356+
効率的なチーム開発のために、PRプロセスの一部を自動化することができます。CI/CD、自動テスト、コード品質チェックなどのツールを活用しましょう。
357357

358358
![ブランチワークフローパターン]({{ '/assets/images/diagrams/chapter06/16_branch_workflow_patterns.svg' | relative_url }})
359359

@@ -399,11 +399,24 @@ Pull Requestをマージする際には、様々な戦略があります。プ
399399

400400
Pull Requestのメトリクスを分析することで、チームの開発効率やコード品質を継続的に改善できます。レビュー時間、マージ率、コンフリクト発生率などの指標を活用しましょう。
401401

402-
次の章では、チーム開発に欠かせないプルリクエスト機能について詳しく学習します
402+
次の章では、Issue管理とプロジェクト管理について学習します
403403

404404
**理解度確認:**
405405
□ ブランチの概念を理解し、適切に作成・切り替えができる
406406
□ マージ操作により変更を安全に統合できる
407407
□ 基本的なコンフリクトを自力で解決できる
408408
□ ブランチを使った開発ワークフローを実践できる
409409
□ 予防的なベストプラクティスを理解している
410+
411+
---
412+
413+
## 次の一手(文書運用に繋げる)
414+
415+
文書運用(Docs-as-Code)を前提にする場合は、次の 1 ステップを完了させると「運用が回る状態」に近づきます。
416+
417+
- 文書変更の PR を 1 件作成し、レビュー→マージまで完了する(Issue と紐づける)
418+
419+
参照:
420+
421+
- Docs-as-Code:{{ '/src/chapter-docs-as-code/' | relative_url }}
422+
- Issue / Projects:{{ '/src/chapter-issue-management/' | relative_url }}

examples/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
## 収録内容
66

77
- `docs-as-code/`:Docs-as-Code(文書運用)の最小セット(推奨構成・テンプレ・サンプル)
8+
- `templates/`:README(ポータル)/ docsポータル / ラベル設計のテンプレ
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# docs/assets/(小さな添付・図解の置き場)
2+
3+
このディレクトリは、ドキュメントと一緒にバージョン管理したい **小さな画像/添付** を置く想定です。
4+
5+
## 置いてよいもの(例)
6+
7+
- 図解の画像(SVG/PNG)
8+
- 手順書の補助画像
9+
- 小さなサンプルファイル(サイズが小さいもの)
10+
11+
## 置かないほうがよいもの(例)
12+
13+
- 動画や巨大PDFなど、容量が大きいファイル
14+
- `dist/` などのビルド成果物(再生成できるもの)
15+
16+
大きな成果物は、Releases / Packages / LFS / 外部ストレージなどの選択肢を検討し、Git の履歴を肥大化させない方針を推奨します。
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# README(ポータル)テンプレ
2+
3+
このテンプレは、README を「入口(ポータル)」として機能させるための最小構成です。
4+
目的は、詳細本文を README に溜めず、`docs/` に誘導して二重管理を避けることです。
5+
6+
---
7+
8+
# (プロジェクト名)
9+
10+
## 目的(このリポジトリは何か)
11+
12+
- (例)チーム内の運用手順と意思決定ログを一元管理する
13+
14+
## 最短導線(Quick Start)
15+
16+
1. **まず読む**`docs/index.md`(文書ポータル)
17+
2. **次にやる**`docs/templates/` のテンプレで文書を作成する
18+
3. **困ったら**:Issue を起票する(`type: question` など)
19+
20+
## どこに何を書くか(置き場所)
21+
22+
- README:入口・最短導線・主要リンク
23+
- `docs/`:版管理する本文(仕様・運用手順・ナレッジ)
24+
- Issues:決める/やる(議論とタスク)
25+
- Projects:進捗の見える化
26+
- Discussions:Q&A、相談(任意)
27+
28+
## 文書ポータル
29+
30+
- `docs/index.md`
31+
32+
## 運用ルール(最小セット)
33+
34+
- 文書の追加・更新は Pull Request でレビューする
35+
- Issue に「目的」と「完了条件(DoD)」を書く
36+
- 廃止した文書は削除ではなく「廃止」と明記し、後継リンクを残す
37+
38+
## ラベル(推奨)
39+
40+
- `type:` / `priority:` / `area:` / `status:` など、軸を分けて運用する
41+
- 例:`type: docs``priority: medium``area: docs`
42+
43+
## AI支援(任意)
44+
45+
- AI を使う場合は、機密入力の禁止と検証観点を守る
46+
- `AI_USAGE_POLICY.md`
47+
48+
## ライセンス
49+
50+
- (例)MIT / CC BY-NC-SA など
51+

0 commit comments

Comments
 (0)