Skip to content

docs: CLI・Git・GitHub 開発フローの教材一式とテンプレートを追加 - #1

Merged
TamichiRyuto merged 5 commits into
mainfrom
claude/ecstatic-thompson-j7p1b5
Oct 16, 2026
Merged

TamichiRyuto merged 5 commits into
mainfrom
claude/ecstatic-thompson-j7p1b5

Conversation

@TamichiRyuto

@TamichiRyuto TamichiRyuto commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

概要

Linux / Unix CLI 初学者向けに、ターミナルの基本操作から Git によるソースコード管理、GitHub の Issue・ブランチ・Pull Request を使った開発フローまでを学ぶ教材一式を追加します。あわせて README・CONTRIBUTING・Issue / PR テンプレート・CI を整備します。

関連する Issue

なし

変更の種類

  • 教材(docs/、README.md)の追加・修正
  • サンプルコード・練習用スクリプトの追加・修正
  • テンプレート・CI・設定ファイルの変更
  • その他

変更内容

  • 教材本文(docs/): 第 0 章(環境構築)〜第 8 章(困ったときは)と付録(CLI / Git チートシート、用語集、コミットメッセージの書き方)
    • 各章を「この章のゴール → 本文 → 演習(解答例は折りたたみ)→ まとめ」の構成に統一
  • サンプル
    • samples/todo-cli: Issue・PR 練習用の TODO 管理 CLI(bash)。テスト、Issue / PR テンプレート、GitHub Actions を同梱し、学習者が丸ごとコピーして自分の練習用リポジトリにできる構成。Issue 演習用に「空の内容のタスクを追加できる」不具合をあえて残している
    • samples/cli-practice: 第 1 章の CLI 演習用ファイル
  • 練習用スクリプト(exercises/scripts): コンフリクト練習用リポジトリと、2 人開発(push 拒否)を 1 台で再現する環境を作るスクリプトとそのテスト(作成先のチェックは lib/common.sh に共通化)
  • リポジトリの整備: README(対象読者・カリキュラム・表記ルール)、CONTRIBUTING(貢献の流れ・執筆ガイドライン)、Issue フォーム 3 種、PR テンプレート、CI(markdownlint・shellcheck・テスト)、.editorconfig / .gitattributes / .gitignore / .shellcheckrc
  • レビュー対応(e672ab7): todo.sh の堅牢化(末尾改行のないファイル、改行を含む内容、権限の保持、形式不正の行)、サンドボックスの保護チェックの抜け道を修正、CI の動作タイミングの説明を修正

確認したこと

  • 学習者の立場で、追加・変更した手順のコマンドを実際に実行した(Git のコマンドとエラーメッセージ、サンドボックス、第 5 章のリポジトリ作成手順をローカルで再現)
  • 出力例が、実際の出力と一致している(または自然な例になっている)
  • 前後の章や、ほかのページからのリンクとの整合性を確認した(相対リンクとアンカーを機械的に検証)
  • ローカルで markdownlint・shellcheck・テストが成功する(markdownlint 0 件、shellcheck 0.9 / 0.11 とも警告なし、テスト 34 件 / 15 件すべて成功。第 6・7 章の解答例を適用した状態でも 37 件 / 43 件すべて成功)
  • 執筆ガイドライン に沿っている

レビュアーへの補足

  • このリポジトリは private かつフォーク不可のため、演習は「学習者が自分のアカウントに新規リポジトリを作る」方式にしています(教材は gh auth login → gh repo clone で取得)。
  • gh の出力例と GitHub の画面操作(ボタン名など)は、実際の画面ではなく知識に基づいて記載しています。
  • ライセンスは未設定です。

🤖 Generated with Claude Code

https://claude.ai/code/session_019qUYj2EAYZDwCG822qQ3th

- .editorconfig / .gitattributes で文字コードと改行コード(LF)をそろえる
- markdownlint の設定を追加
- Pull Request ごとに markdownlint・shellcheck・テストを実行する CI を追加

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019qUYj2EAYZDwCG822qQ3th
- samples/todo-cli: Issue・PR の練習に使う TODO 管理 CLI(テスト、Issue/PR テンプレート、CI 付き)
- samples/cli-practice: 第 1 章の CLI 演習用ファイル
- exercises/scripts: コンフリクトとチーム開発(push 拒否)を安全に体験する環境を作るスクリプトとテスト

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019qUYj2EAYZDwCG822qQ3th
環境構築、CLI の基本、Git の基本、リモートリポジトリ、ブランチ、Issue、
Pull Request、GitHub Flow の総合演習、トラブルシューティングの各章と、
チートシート・用語集・コミットメッセージの書き方の付録を追加する。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019qUYj2EAYZDwCG822qQ3th
- README に対象読者、カリキュラム、学習の進め方、表記ルール、構成を記載
- CONTRIBUTING に貢献の流れと執筆ガイドラインを記載
- 教材の誤り報告・質問・改善提案の Issue フォームと PR テンプレートを追加

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019qUYj2EAYZDwCG822qQ3th
Comment thread samples/todo-cli/todo.sh Outdated
Comment thread samples/todo-cli/todo.sh Outdated
Comment thread exercises/scripts/make-conflict-sandbox.sh Outdated
Comment thread samples/todo-cli/todo.sh Outdated
Comment thread samples/todo-cli/todo.sh
Comment thread samples/todo-cli/todo.sh Outdated
Comment thread docs/05-issue.md Outdated
Comment thread exercises/scripts/tests/test_sandboxes.sh
Comment thread exercises/scripts/make-team-sandbox.sh Outdated
todo.sh
- 件数を awk で数え、最後の行に改行がなくても done できるようにする
- add の前にファイル末尾の改行を補い、前の行につながらないようにする
- 改行を含むタスクの内容を受け付けない
- 書き換えは一時ファイルから cat で書き戻し、ファイルの権限を保ち一時ファイルを残さない
- done でタスクの形式でない行を指定したらエラーにする
(練習用にあえて残している「空のタスクを追加できる」不具合はそのまま)

練習用スクリプト
- 作成先のチェックを lib/common.sh にまとめ、親ディレクトリがまだない場合も
  一番近い既存の親で Git リポジトリの中かどうかを確認する
- テストを追加(main ブランチの存在、親ディレクトリがない場合の保護)

ドキュメント
- 練習用リポジトリの CI が動くタイミングの説明を修正
- 第 6・7 章の解答例とテスト件数を新しい todo.sh に合わせる

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019qUYj2EAYZDwCG822qQ3th
@TamichiRyuto
TamichiRyuto merged commit a1d06b9 into main Oct 16, 2026
2 checks passed
@TamichiRyuto
TamichiRyuto deleted the claude/ecstatic-thompson-j7p1b5 branch October 16, 2026 12:42
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.

2 participants