Clineのコードベース管理。CLAUDE.mdとGit運用でAIエージェントを制御する
LOG105R2R2R2026/3/21

Clineのコードベース管理。CLAUDE.mdとGit運用でAIエージェントを制御する

フェーズ2に入る前に、足元を固めた。

このプロジェクトについて

iPhoneで撮影した現実空間をUnityでデジタルツイン化し、ロボットアームの動作をシミュレーションで最適化してから実機に展開するパイプラインを個人で構築している。

ターゲットはシンプルだ。ロボットアームがコーヒーカップを掴み、台座の上に置く。その一連の動作を、iPhoneとUnityだけで設計できることを証明する。

シミュレーションフェーズは LOG101 で完了した。この記録は実機展開に入る前に整えたインフラの話だ。

問題:コードは管理されていた。記事は消えていた。

Unityのコードは Plastic SCM でバージョン管理されている。どのタイミングでどのコードに戻るか、履歴が残っている。

しかし記事、インタラクティブHTML図解、SNS投稿テキストには何もなかった。

作業中に何度か経験した。記事を修正し、前の版に戻したくなる。しかし戻す手段がない。Claudeとのチャット履歴を遡るしかなかった。それも確実ではない。

管理されている資産と、管理されていない資産が混在していた。

設計:2リポジトリ体制

解決策はシンプルだった。Unityコードと、コンテンツを分けて管理する。

[Plastic SCM]              [GitHub: r2r2r-content]
Robotics_UX_New/           r2r2r-content/
  └── Unityコード             ├── articles/   ← 記事Markdown
  └── シーン                  ├── html/       ← HTML図解
  └── スクリプト              ├── sns/        ← SNS投稿テキスト
                              └── docs/       ← 戦略・指示書

既存のPlastic SCMには触れない。新しく r2r2r-content というGitHubプライベートリポジトリを作る。それだけだ。

命名規則の統一

ファイル名がバラバラだった。day92.md、DAY95_article__1_.md、DAY96_article_v2.md——同じものを指しているのに表記が揺れていた。

統一フォーマットを決めた。

DAY{NNN}_{type}.{ext}

例:
  DAY102_article.md
  DAY102_git_workflow.html
  DAY102_sns.md

3桁ゼロ埋め。_v2 は使わない。_1_ も使わない。Gitが履歴を持つので、バージョン番号はファイル名に不要だ。


運用:1コマンドで「戻せる状態」を作る

Claudeが記事・HTML・SNS投稿セットを出力したタイミングで保存してコミットする。

cd ~/r2r2r-content
git add .
git commit -m "[DAY102][article] コンテンツバージョン管理の設計と導入"
git push

これだけで、いつでも前の版に戻せる。差分も見られる。

コンテンツも設計物だ

ロボットの動作を設計するプロジェクトで、コンテンツが管理されていないのは矛盾している。

記事も、HTML図解も、SNS投稿も、このプロジェクトの出力物だ。コードと同じように、変更履歴があり、前の版に戻れるべきだ。

フェーズ2(実機展開)に入る前に、その基盤を整えた。

※ プロジェクト名「R2R2R」は、UC Berkeley・Toyota Research Instituteの研究「Real2Render2Real」(Yu, Fu et al., 2025)の概念に触発されています。現実空間をデジタルツイン化し、仮想空間での試行から得た知見を実世界のモーター駆動へ還元する——その設計と実装過程を毎日記録しています。技術アプローチおよび目的は独自のものです。