baseproject-update について
baseproject-updateは、既存のBaseProject環境を更新するスキルです。バックアップと状態確認を行い、プロジェクト固有の内容を保ちながら、スキルやドキュメントを上流と同期します。
主な機能
- 01インストール状況とGitの状態確認
- 02既存のBaseProjectファイルをバックアップ
- 03スキルとAgentUsageドキュメントの同期
- 04.gitignoreとAGENT.mdのマージ
- 05変更内容とバックアップ先の報告
活用シーン
- 01上流からスキルやドキュメントを更新
- 02BaseProject変更後のテンプレート更新
- 03更新時にプロジェクト固有ファイルを保持
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ autumnsgrove/ lattice --skill baseproject-updateインストール後、Claude Code で/baseproject-updateを入力して読み込まれたか確認します。
詳細
BaseProject 更新スキル
有効にするタイミング
以下の場合にこのスキルを有効にします:
- 既存の BaseProject インストールを最新の状態に更新する場合
- スキルや AgentUsage ドキュメントを上流と同期する場合
- ユーザーが「baseproject を更新」「baseproject を同期」と言う、または
/baseproject-updateを実行する場合 - 上流の変更後にプロジェクトテンプレートを更新する場合
前提条件
- プロジェクトに BaseProject がすでにインストールされていること(
.claude/skills/および/またはAgentUsage/が存在する) - Git リポジトリがクリーンであること(先に変更をコミットするか、スタッシュしてください)
更新ワークフロー
以下の手順を順番に実行します:
ステップ 1:現在の状態を確認
# Confirm BaseProject is installed
ls .claude/skills/ AgentUsage/ AGENT.md 2>/dev/null
# Ensure git is clean
git status --porcelain
Git がダーティな場合は、ユーザーに警告し、先にコミットするかスタッシュするよう依頼します。
ステップ 2:最新の BaseProject をクローン
git clone --depth 1 https://github.com/AutumnsGrove/BaseProject.git /tmp/bp-update
ステップ 3:バックアップを作成
BACKUP_DIR=".baseproject-backup-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BACKUP_DIR"
cp -r .claude/skills/ "$BACKUP_DIR/skills-backup/" 2>/dev/null
cp -r AgentUsage/ "$BACKUP_DIR/AgentUsage-backup/" 2>/dev/null
cp AGENT.md "$BACKUP_DIR/AGENT.md.backup" 2>/dev/null
ステップ 4:スキルを同期
.claude/skills/ と /tmp/bp-update/.claude/skills/ を比較します:
- 追加:ローカルに存在しない新しいスキルディレクトリ
- 更新:上流の内容が変更された既存のスキル
- 保持:変更のないスキル(一致する場合はスキップ)
- 報告:追加、更新、変更なしの件数
ステップ 5:AgentUsage ドキュメントを同期
AgentUsage/ と /tmp/bp-update/AgentUsage/ を比較します:
- 追加:上流の新しいファイル/ディレクトリ
- 更新:上流の内容が変更された既存のファイル
- 保持:ローカルにのみ存在するカスタムファイル(ユーザーによる追加)
- 保持:変更のないファイル(一致する場合はスキップ)
- 報告:追加、更新、変更なし、カスタム保持の件数
ステップ 6:.gitignore をマージ
# Add any new entries from upstream that aren't already present
# Never remove existing entries
ステップ 7:AGENT.md を更新
AGENT.md を適切にマージします:
- 保持:プロジェクト固有の内容(目的、技術スタック、アーキテクチャ、カスタムセクション)
- 更新:BaseProject テンプレートのセクション(スキル一覧、ワークフローの参照、ツールの手順)
- 追加:上流の新しいテンプレートセクション
- 内容を分析して、テンプレートの定型文とプロジェクト固有のカスタム内容を区別します
ステップ 8:クリーンアップ
rm -rf /tmp/bp-update
ステップ 9:コミット
git add .claude/skills/ AgentUsage/ .gitignore AGENT.md
git commit -m "chore: sync BaseProject skills, docs, and agent config"
ステップ 10:概要を表示
以下を表示します:
- スキル:追加/更新/変更なし、および利用可能なスキルの全一覧
- AgentUsage:追加/更新/変更なし/カスタム保持
- .gitignore:追加されたエントリー(ある場合)
- AGENT.md:更新されたセクション(ある場合)
- バックアップの場所
更新対象
| 対象 | 操作 |
|---|---|
.claude/skills/ | 上流のすべてのスキルを同期 |
AgentUsage/ | ドキュメントを同期し、カスタムファイルを保持 |
.gitignore | 新しいエントリーをマージ |
AGENT.md | テンプレートのセクションをマージし、カスタム内容を保持 |
変更しないもの
README.md- プロジェクトの READMETODOS.md- タスク追跡用の参照ファイル(GitHub Issues を参照)secrets.json/secrets_template.json- シークレットpyproject.toml/package.json/go.mod- 言語設定src//tests/- ソースコード- Git hooks - インストールも変更もしません
- House agents - インストールも変更もしません
トラブルシューティング
クローンに失敗する
# If GitHub is unreachable, try with a local copy:
# cp -r /path/to/local/BaseProject /tmp/bp-update
AGENT.md のマージで競合する
AGENT.md の構造が大きく異なり、きれいにマージできない場合:
- ユーザーのバージョンを保持します
- 新しいセクションを末尾にマーカーコメント付きで追加します
- ユーザーが手動で再編成できるようにします
バックアップから復元する
# Restore from backup if something went wrong
cp -r .baseproject-backup-*/skills-backup/ .claude/skills/
cp -r .baseproject-backup-*/AgentUsage-backup/ AgentUsage/
cp .baseproject-backup-*/AGENT.md.backup AGENT.md
コメント
Markdown 対応