genji1024/dotfiles からの移行 #1

Closed
opened 2026-08-21 12:57:12 +09:00 by genji1024 · 6 comments
Owner

genji1024/dotfiles のエージェント設定を本リポジトリに移行する。移行元のファイルは削除せず、別イシューで対応する。

genji1024/dotfiles のエージェント設定を本リポジトリに移行する。移行元のファイルは削除せず、別イシューで対応する。
Author
Owner

@bot-genji1024 まずは、移行元リポジトリから移行するファイルを列挙してください。

@bot-genji1024 まずは、移行元リポジトリから移行するファイルを列挙してください。
Collaborator

移行対象ファイルの列挙(調査報告)

@genji1024 移行元 genji1024/dotfiles から移行すべきファイルを列挙しました。Issue 本文の「エージェント設定を移行する」を範囲とし、移行元ファイルは削除しません。

A. Compose / オーケストレーション(核)

  • .dockerscripts/compose.yaml — 全 MCP サーバー・エージェント・ツールの定義(約30サービス)
  • .dockerscripts/.env.example — 環境変数テンプレート(実シークレットは含まない)
  • .dockerscripts/README.md — セットアップ手順(rootless Docker 等)
  • .dockerscripts/scripts/my-compose / .dockerscripts/scripts/healthcheck.sh — compose ヘルパー・ヘルスチェック

B. MCP サーバーコンテナ(.dockerscripts/dockerfiles/ 配下)

  • docker-mcp/ — Docker 操作 MCP
  • forgejo-mcp/ — Forgejo MCP(b4mad 版)
  • github-mcp/ — GitHub MCP
  • gitlab-mcp/ — GitLab MCP
  • gitpush-mcp/ — git push MCP
  • sessions-mcp/ — セッション検索 MCP

C. エージェント実行コンテナ(.dockerscripts/dockerfiles/ 配下)

  • opencode/ / hermes-agent/ / claude-code/ / gemini-cli/

D. エージェント定義・設定

  • .config/opencode/opencode.jsonc — MCP サーバー配線・permission
  • .config/opencode/agents/(11ファイル)— エージェント定義
  • .mcp.json — MCP レジストリ
  • .hermes/config.yaml — hermes の MCP 配線

移行不要(主要)

  • 汎用シェル/エディタ設定(.bashrc, .tmux.conf 等)
  • X / ウィンドウマネージャ(.xmonad/, .config/X11/, .config/xmobar/ 等)
  • Neovim(.config/nvim/)、.gnupg/、Arch 手順(docs/)、LICENSE、install_links.sh 等

ご確認いただきたい点(移行範囲の確定)

  1. ツール系イメージの扱い: compose.yaml は言語サーバー/ツール系イメージ(bashls, hls, poetry, gh, firefox 等)や wrapper スクリプト(gcc, firefox 等)も参照しています。MCP/エージェント系のみ移行するか、ツール系も含めて全移行するか、ご指示ください。
  2. シークレット(.dockerscripts/.env): 実シークレット値は移行しません。.env.example のみ移行し、実値は新環境で再発行する方針でよいかご確認ください。
  3. .claude/settings.json: エージェント実行設定ですが任意です。移行に含めるかご指示ください。

上記 1–3 のご回答をいただければ、確定した範囲で移行作業(ファイル作成・PR)に進みます。

## 移行対象ファイルの列挙(調査報告) `@genji1024` 移行元 `genji1024/dotfiles` から移行すべきファイルを列挙しました。Issue 本文の「エージェント設定を移行する」を範囲とし、移行元ファイルは削除しません。 ### A. Compose / オーケストレーション(核) - `.dockerscripts/compose.yaml` — 全 MCP サーバー・エージェント・ツールの定義(約30サービス) - `.dockerscripts/.env.example` — 環境変数テンプレート(実シークレットは含まない) - `.dockerscripts/README.md` — セットアップ手順(rootless Docker 等) - `.dockerscripts/scripts/my-compose` / `.dockerscripts/scripts/healthcheck.sh` — compose ヘルパー・ヘルスチェック ### B. MCP サーバーコンテナ(`.dockerscripts/dockerfiles/` 配下) - `docker-mcp/` — Docker 操作 MCP - `forgejo-mcp/` — Forgejo MCP(b4mad 版) - `github-mcp/` — GitHub MCP - `gitlab-mcp/` — GitLab MCP - `gitpush-mcp/` — git push MCP - `sessions-mcp/` — セッション検索 MCP ### C. エージェント実行コンテナ(`.dockerscripts/dockerfiles/` 配下) - `opencode/` / `hermes-agent/` / `claude-code/` / `gemini-cli/` ### D. エージェント定義・設定 - `.config/opencode/opencode.jsonc` — MCP サーバー配線・permission - `.config/opencode/agents/`(11ファイル)— エージェント定義 - `.mcp.json` — MCP レジストリ - `.hermes/config.yaml` — hermes の MCP 配線 ### 移行不要(主要) - 汎用シェル/エディタ設定(`.bashrc`, `.tmux.conf` 等) - X / ウィンドウマネージャ(`.xmonad/`, `.config/X11/`, `.config/xmobar/` 等) - Neovim(`.config/nvim/`)、`.gnupg/`、Arch 手順(`docs/`)、`LICENSE`、`install_links.sh` 等 ### ご確認いただきたい点(移行範囲の確定) 1. **ツール系イメージの扱い**: `compose.yaml` は言語サーバー/ツール系イメージ(`bashls`, `hls`, `poetry`, `gh`, `firefox` 等)や wrapper スクリプト(`gcc`, `firefox` 等)も参照しています。MCP/エージェント系のみ移行するか、ツール系も含めて全移行するか、ご指示ください。 2. **シークレット(`.dockerscripts/.env`)**: 実シークレット値は移行しません。`.env.example` のみ移行し、実値は新環境で再発行する方針でよいかご確認ください。 3. **`.claude/settings.json`**: エージェント実行設定ですが任意です。移行に含めるかご指示ください。 上記 1–3 のご回答をいただければ、確定した範囲で移行作業(ファイル作成・PR)に進みます。
Author
Owner

@bot-genji1024 まずは、OpenCode とその依存サービスのみに限定して移行することにしましょう。Claude Code や Hermes Agent などの設定やツール系イメージを除外して、再度まとめてください。

@bot-genji1024 まずは、OpenCode とその依存サービスのみに限定して移行することにしましょう。Claude Code や Hermes Agent などの設定やツール系イメージを除外して、再度まとめてください。
Collaborator

@genji1024 ご指示のとおり、OpenCode とその依存サービスのみに限定して移行対象を再列挙しました。移行元 genji1024/dotfiles の実ファイル(compose.yaml・opencode.jsonc・agents/・dockerfiles/・.env.example)を精査した結果です。

移行対象(OpenCode とその依存のみ)

OpenCode 本体

  • .config/opencode/opencode.jsonc — OpenCode 本体設定(MCP 配線・subagent_depth・permission)
  • .config/opencode/agents/ — エージェント定義 11 ファイル(orchestrator / planner / builder / coder / verifier / committer / pusher / integrator / pr-manager / issue-reader / code-explorer)
  • .dockerscripts/dockerfiles/opencode/ — OpenCode 実行コンテナ(Dockerfile)
  • .dockerscripts/opencode — 実行ラッパースクリプト

OpenCode が接続する MCP サーバー(opencode.jsonc の配線 6 件 = compose の depends_on 6 件と一致)

  • .dockerscripts/dockerfiles/gitlab-mcp/(gitlab / :3002)
  • .dockerscripts/dockerfiles/github-mcp/(github / :3003)
  • .dockerscripts/dockerfiles/docker-mcp/(docker / :3004)
  • .dockerscripts/dockerfiles/sessions-mcp/(sessions / :3005)
  • .dockerscripts/dockerfiles/forgejo-mcp/(forgejo / :3006、b4mad 版)
  • .dockerscripts/dockerfiles/gitpush-mcp/(gitpush / :3007)

オーケストレーション(OpenCode 関連サービスのみ抽出)

  • .dockerscripts/compose.yaml — 「opencode + MCP 6 サービス + 共有基盤 common」のみ抽出した形
  • .dockerscripts/.env.example — 全 6 変数(移行対象サービス群で全て使用)
  • .dockerscripts/README.md — セットアップ手順(OpenCode 関連部分)
  • .dockerscripts/scripts/my-compose / .dockerscripts/scripts/healthcheck.sh

MCP レジストリ

  • .mcp.json — OpenCode 用 MCP レジストリ(gitlab / github の 2 エントリ)

除外(ご指示どおり)

  • Claude Code(.claude/)、Hermes Agent(.hermes/)、gemini-cli(.dockerscripts/dockerfiles/gemini-cli/、.config/gemini/)
  • ツール系・言語サーバー系イメージ(bashls / cabal / cmake / firefox / gh / gnuplot / hls / marksman / neovim / node-tsserver / poetry / prettier / rust / rye / texlab / uv / yamlls / clangd 等)とルート直下の各ツール設定ディレクトリ
  • 汎用シェル/エディタ設定(.bashrc / .tmux.conf / .config/nvim 等)、X/WM 設定、Neovim、Arch 手順、LICENSE、install_links.sh

移行対象が依存する環境変数(.env.example の全 6 変数)

STREAMABLE_HTTP_AUTH_TOKEN / GITHUB_PERSONAL_ACCESS_TOKEN / GITLAB_PERSONAL_ACCESS_TOKEN / GITLAB_API_URL / FORGEJO_PERSONAL_ACCESS_TOKEN / FORGEJO_URL

ご確認いただきたい点

  1. compose.yaml の移行方式: 現行 compose.yaml には約 30 サービス(Claude/Hermes/gemini・ツール系含む)が定義されています。「OpenCode + 依存 6 サービス + common」のみ抽出した compose.yaml を移行する方針でよいでしょうか。
  2. REPOS_ROOT: gitpush-mcp が ${HOME}/repos/ を volumes で参照していますが .env.example に未記載です。移行時に環境変数化して追加する想定でよいかご確認ください。

上記をご確認いただければ、確定した範囲で移行作業(ファイル作成・PR)に進みます。

@genji1024 ご指示のとおり、OpenCode とその依存サービスのみに限定して移行対象を再列挙しました。移行元 `genji1024/dotfiles` の実ファイル(compose.yaml・opencode.jsonc・agents/・dockerfiles/・.env.example)を精査した結果です。 ## 移行対象(OpenCode とその依存のみ) ### OpenCode 本体 - `.config/opencode/opencode.jsonc` — OpenCode 本体設定(MCP 配線・subagent_depth・permission) - `.config/opencode/agents/` — エージェント定義 11 ファイル(orchestrator / planner / builder / coder / verifier / committer / pusher / integrator / pr-manager / issue-reader / code-explorer) - `.dockerscripts/dockerfiles/opencode/` — OpenCode 実行コンテナ(Dockerfile) - `.dockerscripts/opencode` — 実行ラッパースクリプト ### OpenCode が接続する MCP サーバー(opencode.jsonc の配線 6 件 = compose の depends_on 6 件と一致) - `.dockerscripts/dockerfiles/gitlab-mcp/`(gitlab / :3002) - `.dockerscripts/dockerfiles/github-mcp/`(github / :3003) - `.dockerscripts/dockerfiles/docker-mcp/`(docker / :3004) - `.dockerscripts/dockerfiles/sessions-mcp/`(sessions / :3005) - `.dockerscripts/dockerfiles/forgejo-mcp/`(forgejo / :3006、b4mad 版) - `.dockerscripts/dockerfiles/gitpush-mcp/`(gitpush / :3007) ### オーケストレーション(OpenCode 関連サービスのみ抽出) - `.dockerscripts/compose.yaml` — 「opencode + MCP 6 サービス + 共有基盤 common」のみ抽出した形 - `.dockerscripts/.env.example` — 全 6 変数(移行対象サービス群で全て使用) - `.dockerscripts/README.md` — セットアップ手順(OpenCode 関連部分) - `.dockerscripts/scripts/my-compose` / `.dockerscripts/scripts/healthcheck.sh` ### MCP レジストリ - `.mcp.json` — OpenCode 用 MCP レジストリ(gitlab / github の 2 エントリ) ## 除外(ご指示どおり) - Claude Code(`.claude/`)、Hermes Agent(`.hermes/`)、gemini-cli(`.dockerscripts/dockerfiles/gemini-cli/`、`.config/gemini/`) - ツール系・言語サーバー系イメージ(bashls / cabal / cmake / firefox / gh / gnuplot / hls / marksman / neovim / node-tsserver / poetry / prettier / rust / rye / texlab / uv / yamlls / clangd 等)とルート直下の各ツール設定ディレクトリ - 汎用シェル/エディタ設定(.bashrc / .tmux.conf / .config/nvim 等)、X/WM 設定、Neovim、Arch 手順、LICENSE、install_links.sh ## 移行対象が依存する環境変数(.env.example の全 6 変数) `STREAMABLE_HTTP_AUTH_TOKEN` / `GITHUB_PERSONAL_ACCESS_TOKEN` / `GITLAB_PERSONAL_ACCESS_TOKEN` / `GITLAB_API_URL` / `FORGEJO_PERSONAL_ACCESS_TOKEN` / `FORGEJO_URL` ## ご確認いただきたい点 1. **compose.yaml の移行方式**: 現行 compose.yaml には約 30 サービス(Claude/Hermes/gemini・ツール系含む)が定義されています。「OpenCode + 依存 6 サービス + common」のみ抽出した compose.yaml を移行する方針でよいでしょうか。 2. **REPOS_ROOT**: gitpush-mcp が `${HOME}/repos/` を volumes で参照していますが `.env.example` に未記載です。移行時に環境変数化して追加する想定でよいかご確認ください。 上記をご確認いただければ、確定した範囲で移行作業(ファイル作成・PR)に進みます。
Author
Owner

@bot-genji1024 ラッパーはリポジトリに含めません。以下を除外してください。

  • .dockerscripts/opencode
  • .dockerscripts/scripts/

確認事項については以下の通りです。

  1. compose.yaml の移行方式: はい、その方針でよいです。
  2. REPOS_ROOT: いいえ、そのまま compose.yaml に埋め込んでください。

移行作業を実施してください。

@bot-genji1024 ラッパーはリポジトリに含めません。以下を除外してください。 - `.dockerscripts/opencode` - `.dockerscripts/scripts/` 確認事項については以下の通りです。 1. `compose.yaml` の移行方式: はい、その方針でよいです。 2. REPOS_ROOT: いいえ、そのまま `compose.yaml` に埋め込んでください。 移行作業を実施してください。
Collaborator

実行結果

実施内容

  • genji1024/dotfiles から OpenCode + 依存 MCP サービス6件を containerized-agents へ移行しました。
  • 空リポジトリのため初回コミットは main へ直接 push しました(PR の base が存在しないため)。以降は PR 運用とします。

変更ファイル

  • .dockerscripts/compose.yaml — 8サービス(common, opencode, gitlab-mcp, github-mcp, docker-mcp, sessions-mcp, forgejo-mcp, gitpush-mcp)に抽出。REPOS_ROOT=${HOME}/repos を直接埋め込み
  • .dockerscripts/.env.example — 6変数のプレースホルダ(実値なし)
  • .dockerscripts/.gitignore — .env を除外
  • .dockerscripts/README.md — セットアップ手順(素の起動コマンド+事前 mkdir 5種を明記)
  • .dockerscripts/dockerfiles/{opencode,gitlab-mcp,github-mcp,docker-mcp,sessions-mcp,forgejo-mcp,gitpush-mcp}/ — 各サービス Dockerfile(gitpush-mcp は server.py 含む)
  • .config/opencode/opencode.jsonc — MCP 配線6件、permission allow、built-in 3種 disable
  • .config/opencode/agents/*.md — 11ファイル(エージェント定義)
  • .mcp.json — gitlab / github の2エントリ

移行仕様の遵守

  • ラッパー(.dockerscripts/opencode, scripts/*)は含めていません
  • DB サービス(node-tsserver 等)は含めていません
  • シークレット実値(.env)は含めていません(.env.example のみ)
  • forgejo-mcp は b4mad v2.34.0 で、healthcheck は JSON-RPC initialize POST(GET /mcp のハング回避)、bearer ヘッダなし(dotfiles の migrate/forgejo-mcp-b4mad 09c0f80 の3修正を採用)

動作確認

  • YAML 構文チェック(PyYAML safe_load)— 成功
  • ファイル網羅(14項目)・対応関係(.env.example 6変数 / MCP 配線6件 / depends_on 6件)— 一致
  • author/committer が bot-genji1024 身元であることを確認
  • Docker 実ビルド — docker-mcp のビルドコンテキスト制約(/workspace 配下のみ・本環境は別ファイルシステム)により未実施

備考

  • 初回コミット: bef32e0(main 直 push)
  • 次ステップ: 新環境で .env を作成し docker compose -f .dockerscripts/compose.yaml run --rm --service-ports opencode で起動(事前 mkdir は README 参照)
## 実行結果 ### 実施内容 - genji1024/dotfiles から OpenCode + 依存 MCP サービス6件を containerized-agents へ移行しました。 - 空リポジトリのため初回コミットは main へ直接 push しました(PR の base が存在しないため)。以降は PR 運用とします。 ### 変更ファイル - `.dockerscripts/compose.yaml` — 8サービス(common, opencode, gitlab-mcp, github-mcp, docker-mcp, sessions-mcp, forgejo-mcp, gitpush-mcp)に抽出。REPOS_ROOT=${HOME}/repos を直接埋め込み - `.dockerscripts/.env.example` — 6変数のプレースホルダ(実値なし) - `.dockerscripts/.gitignore` — .env を除外 - `.dockerscripts/README.md` — セットアップ手順(素の起動コマンド+事前 mkdir 5種を明記) - `.dockerscripts/dockerfiles/{opencode,gitlab-mcp,github-mcp,docker-mcp,sessions-mcp,forgejo-mcp,gitpush-mcp}/` — 各サービス Dockerfile(gitpush-mcp は server.py 含む) - `.config/opencode/opencode.jsonc` — MCP 配線6件、permission allow、built-in 3種 disable - `.config/opencode/agents/*.md` — 11ファイル(エージェント定義) - `.mcp.json` — gitlab / github の2エントリ ### 移行仕様の遵守 - ラッパー(`.dockerscripts/opencode`, `scripts/*`)は含めていません - DB サービス(node-tsserver 等)は含めていません - シークレット実値(.env)は含めていません(.env.example のみ) - forgejo-mcp は b4mad v2.34.0 で、healthcheck は JSON-RPC initialize POST(GET /mcp のハング回避)、bearer ヘッダなし(dotfiles の migrate/forgejo-mcp-b4mad 09c0f80 の3修正を採用) ### 動作確認 - [x] YAML 構文チェック(PyYAML safe_load)— 成功 - [x] ファイル網羅(14項目)・対応関係(.env.example 6変数 / MCP 配線6件 / depends_on 6件)— 一致 - [x] author/committer が bot-genji1024 身元であることを確認 - [ ] Docker 実ビルド — docker-mcp のビルドコンテキスト制約(/workspace 配下のみ・本環境は別ファイルシステム)により未実施 ### 備考 - 初回コミット: bef32e0(main 直 push) - 次ステップ: 新環境で .env を作成し `docker compose -f .dockerscripts/compose.yaml run --rm --service-ports opencode` で起動(事前 mkdir は README 参照)
Sign in to join this conversation.
No labels
enhancement
No milestone
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
genji1024/containerized-agents#1
No description provided.