{"id":46798427,"url":"https://github.com/photojupi/polymeld","last_synced_at":"2026-03-14T09:01:21.999Z","repository":{"id":342989252,"uuid":"1175277048","full_name":"photojupi/Polymeld","owner":"photojupi","description":"Multi-AI dev team simulation CLI — orchestrate Claude Code, Gemini CLI \u0026 Codex CLI","archived":false,"fork":false,"pushed_at":"2026-03-10T04:52:53.000Z","size":673,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-12T11:31:24.394Z","etag":null,"topics":["ai-agents","claude","cli","codex","dev-team","gemini","multi-agent","nodejs","orchestration"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/polymeld","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/photojupi.png","metadata":{"files":{"readme":"README.ja.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-07T13:43:06.000Z","updated_at":"2026-03-10T04:52:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/photojupi/Polymeld","commit_stats":null,"previous_names":["photojupi/polymeld"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/photojupi/Polymeld","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/photojupi%2FPolymeld","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/photojupi%2FPolymeld/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/photojupi%2FPolymeld/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/photojupi%2FPolymeld/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/photojupi","download_url":"https://codeload.github.com/photojupi/Polymeld/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/photojupi%2FPolymeld/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30462034,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T06:34:02.089Z","status":"ssl_error","status_checked_at":"2026-03-13T06:33:49.182Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","claude","cli","codex","dev-team","gemini","multi-agent","nodejs","orchestration"],"created_at":"2026-03-10T05:07:33.197Z","updated_at":"2026-03-13T08:01:05.491Z","avatar_url":"https://github.com/photojupi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"🌐 [한국어](README.ko.md) | [English](README.md) | [日本語](README.ja.md) | [中文](README.zh-CN.md)\n\n# Polymeld\n\n**複数のAIコーディングエージェントを仮想開発チームとしてオーケストレーション。**\n\nClaude Code、Gemini CLI、Codex CLIを各ペルソナに割り当て、会議 → 設計 → 開発 → コードレビュー → QA → PR作成まで全行程を自動化します。\n\n## ✨ 主な機能\n\n- **🤖 マルチAIチーム** — 8人のペルソナ（テックリード、プログラマー、QA、デザイナーなど）をClaude、Gemini、Codexに割り当て\n- **🔄 8段階パイプライン** — コードベース分析 → 会議 → タスク分解 → 割り当て → 開発 → コードレビュー → QA → PR\n- **🛠️ CLI + APIデュアルバックエンド** — 各モデルがCLIまたはAPI SDKで動作 — 利用可能な方を使用、両方も可\n- **⚡ 並列開発** — 依存関係を分析して独立タスクを同時実行\n- **🖼️ 画像生成** — デュアルエンジン：Nano Banana 2（Gemini）+ GPT Image 1.5（OpenAI）— 透過PNG素材はGPTに自動ルーティング\n- **📂 ローカルワークスペース** — 既存コードを読み取り、ファイルを直接生成、gitブランチ/コミット自動管理\n- **🔁 自動修正ループ** — レビュー/QA失敗時に自動修正 → 再検証サイクル\n- **💬 AI会議** — リアルタイムマルチモデル討論、`[PASS]`/`[CONCLUDE]`で自律調整\n- **📊 トークン使用量トラッキング** — 各アクションごとにバックエンド（CLI/API）、モデル名、トークン数を表示\n- **🔀 3段階Rate Limitフォールバック** — CLI → API key → fallbackモデル — rate limit時に自動切替\n- **🌐 4言語i18n** — English、한국어、日本語、中文を完全サポート\n- **📌 GitHub完全トレーサビリティ** — 全過程がIssues、Comments、Commits、PRとして記録\n\n## 🚀 クイックスタート\n\n```bash\n# 1. Polymeldのインストール\nnpm install -g polymeld\n\n# 2. AI CLIのインストール（使用するモデルのみ）\nnpm install -g @anthropic-ai/claude-code   # Claude Code\nnpm install -g @google/gemini-cli           # Gemini CLI\nnpm install -g @openai/codex                # Codex CLI\n\n# 3. プロジェクトフォルダで実行 — オンボーディングウィザードが自動起動\ncd ~/projects/my-app\npolymeld\n# → モデル選択 → GitHubトークン設定 → 完了！\n# → GITHUB_REPOはgit remoteから自動検出\n```\n\n## 📋 コマンド\n\n| コマンド | 説明 |\n|----------|------|\n| `polymeld` | REPL起動（初回実行時はオンボーディングウィザード） |\n| `polymeld run \"要件\"` | 全パイプライン実行 |\n| `polymeld run \"要件\" --mode semi-auto` | Phaseごとに確認 |\n| `polymeld meeting \"トピック\"` | ミーティングのみ実行 |\n| `polymeld start --resume` | 前回のセッションを再開 |\n| `polymeld test-models` | モデル接続テスト |\n| `polymeld init --global` | グローバル設定の初期化 |\n| `polymeld auth` | 認証情報の対話型管理 |\n\n**REPLスラッシュコマンド:** `/help` `/status` `/history` `/context` `/team` `/mode` `/resume` `/save` `/load` `/exit`\n\n## ⚙️ パイプライン\n\n```\nPhase 0  コードベース分析     既存コード構造を分析（ローカルワークスペース時）\nPhase 1  ミーティング         マルチAI討論 → 設計決定\nPhase 2  タスク分解           1-4時間単位で分解 → GitHub Issues\nPhase 3  作業割り当て         タスクを適切なペルソナに割り当て\nPhase 4  開発                 並列コーディング → featureブランチ → コミット\nPhase 5  コードレビュー       リーダーレビュー → 自動修正 → 再レビュー (×3)\nPhase 6  QA                   検証 → 自動修正 → 再検証 (×3)\nPhase 7  PR作成               全履歴がリンクされたPRを自動作成\n```\n\n\u003e **チェックポイント**: 各Phase完了時に保存。`/resume`で該当Phaseから再開可能。\n\n## 📌 GitHub Issue \u0026 カンバンボード\n\nPolymeldは**GitHub Issues**と**GitHub Projects V2**のカンバンボードを活用して、パイプライン全工程を自動追跡します。\n\n### Issue自動作成\n\n| Phase | 作成されるIssue | ラベル |\n|-------|----------------|--------|\n| Phase 1 | 📝 **Planning Issue** — 会議結果の記録 | `meeting-notes`, `planning`, `polymeld` |\n| Phase 2 | 🔧 **Task Issue** — 分解された各タスクごとに1つ | `backlog`, `polymeld`, `{{category}}` |\n\n### カンバン6段階カラム\n\nパイプラインの進行に応じて、Issueがカンバンボードのカラムを自動移動します：\n\n```\nBacklog → Todo → In Progress → In Review → QA → Done\n```\n\n| カラム | 遷移タイミング | ラベル変更 |\n|--------|--------------|-----------|\n| **Backlog** | Phase 2: タスク分解後 | `backlog` |\n| **Todo** | Phase 3: ペルソナに割り当て | `todo`, `assigned:{{agent}}` |\n| **In Progress** | Phase 4: 開発開始 | `in-progress` |\n| **In Review** | Phase 5: コードレビュー進行中 | `in-review` |\n| **QA** | Phase 6: QA進行中 | `qa` |\n| **Done** | Phase 6: QA通過 → Issue自動クローズ | `done` |\n\n### 自動コメント\n\n各Phase遷移時にIssueへコメントが自動追加され、全履歴を追跡できます：\n\n- 🧑‍💼 **作業割り当て** — 担当者、割り当て理由\n- 🚀 **開発開始/完了** — エージェント名、モデル、コードプレビュー\n- 🔍 **コードレビュー** — レビュー結果（試行回数を含む）\n- 🧪 **QA結果** — 検証結果、フィードバックに基づく修正履歴\n\n### PRとIssueの連携\n\nPhase 7で作成されるPRは、完了した全Task Issueを`Closes #N`で参照し、PRマージ時に関連Issueが自動クローズされます。\n\n\u003e GitHubトークンなしでもパイプライン実行は可能です。GitHub機能のみ無効化されます。\n\n## 👥 デフォルトチーム\n\n| ペルソナ | 役割 | モデル | 画像 |\n|----------|------|--------|------|\n| 設楽 匠 | Tech Lead（リーダー） | Claude Opus 4.6 | — |\n| 源 鋭太 | Ace Programmer | GPT-5.4 | — |\n| 新堂 創 | Creative Programmer | Gemini 3.1 Pro | — |\n| 計良 望 | Ace Planner | Gemini 3.1 Pro | — |\n| 守山 盾 | Security Expert | Claude Opus 4.6 | — |\n| 美濃 花 | UX/Visual Designer | Gemini 3.1 Pro | Nano Banana 2 / GPT Image 1.5 |\n| 彩川 いろは | Illustrator | Gemini 3.1 Pro | Nano Banana 2 / GPT Image 1.5 |\n| 検見 守 | QA Engineer | GPT-5.4 | — |\n\n\u003e 全ペルソナが会議に参加。`[PASS]`（スキップ）と`[CONCLUDE]`（早期終了）で自律調整。\n\n## 🔧 設定\n\n### バックエンドの優先順位\n\n各モデルは自動切替される**2つのバックエンド**をサポートします：\n\n| 優先順位 | バックエンド | 使用条件 |\n|---------|------------|----------|\n| 1番目 | **CLI**（claude / gemini / codex） | インストール済みで利用可能な時 |\n| 2番目 | **API SDK**（Anthropic / Google GenAI / OpenAI） | CLI rate limit時、またはCLI未インストール時 |\n| 3番目 | **Fallbackモデル** | CLIとAPI両方がrate limitの時 |\n\n\u003e CLIのみ、APIのみ、または両方 — 利用可能なもので動作します。`api_model`でAPI呼び出しに別のモデルを指定できます。\n\n### 認証情報\n\n```bash\npolymeld auth                  # 対話型設定\npolymeld auth --show           # 現在の状態を確認\n```\n\nまたは`.env` / `~/.polymeld/credentials.yaml`を使用：\n\n```bash\nGITHUB_TOKEN=ghp_xxxxx        # 必須\n# GITHUB_REPO=owner/repo      # git remoteから自動検出\n\n# APIキー（オプション — プロバイダー別にAPIバックエンドを有効化）\nANTHROPIC_API_KEY=sk-...       # Claude API\nGOOGLE_API_KEY=AIzaSy...       # Gemini API（Nano Banana 2 画像生成）\nOPENAI_API_KEY=sk-...          # OpenAI API（GPT Image 1.5 透過PNG生成）\n```\n\n### config.yaml\n\n設定ファイルは階層的にマージされます：`-c`フラグ \u003e `~/.polymeld/config.yaml`（グローバル）\u003e `.polymeld/config.yaml`（プロジェクト）\u003e `.polymeld/config.local.yaml`（ローカル）。\n\n```yaml\n# モデル定義\nmodels:\n  claude:\n    cli: claude\n    model: claude-opus-4-6\n    fallback: gemini             # rate limit時に切替\n  gemini:\n    cli: gemini\n    model: gemini-3.1-pro-preview\n    fallback: claude\n  codex:\n    cli: codex\n    model: gpt-5.4\n    fallback: claude\n  gemini_image:\n    cli: gemini\n    model: gemini-3.1-flash-image-preview  # Nano Banana 2（GOOGLE_API_KEY必須）\n  gpt_image:\n    cli: codex\n    model: gpt-image-1.5                   # 透過PNG（OPENAI_API_KEY必須）\n\n# ペルソナ割り当て\npersonas:\n  tech_lead:\n    name: 設楽 匠\n    model: claude\n    thinking_budget: 50          # AI思考深度（0-100）\n  designer:\n    name: 美濃 花\n    model: gemini\n    image_model: gemini_image    # 画像生成を有効化\n\n# パイプライン設定\npipeline:\n  parallel_development: true     # 並列LLM呼び出し\n  thinking_budget: 25            # グローバルデフォルト値（0-100）\n  max_review_retries: 3\n  max_qa_retries: 3\n```\n\n### カスタムペルソナ\n\n```yaml\npersonas:\n  devops:\n    name: 運用 太郎\n    role: DevOps Engineer\n    model: codex\n    description: \"CI/CDとインフラ自動化のスペシャリスト\"\n    expertise:\n      - CI/CDパイプライン構築\n      - コンテナオーケストレーション\n```\n\n## 🌐 多言語対応\n\n| 言語 | フラグ | 自動検出 |\n|------|--------|----------|\n| English | `--lang en` | OSロケール |\n| 한국어 | `--lang ko` | OSロケール |\n| 日本語 | `--lang ja` | OSロケール |\n| 中文(简体) | `--lang zh-CN` | OSロケール |\n\nAI応答パースも多言語対応 — `APPROVED`/`승인`/`承認`/`批准`等の判定を言語に依存せず認識します。\n\n## Claude Code連携\n\n```bash\npolymeld run \"要件\" --no-interactive\n```\n\n`CLAUDE.md`に登録すれば自動呼び出しも可能です。\n\n## 🧠 エージェント通信アーキテクチャ\n\nエージェント同士は直接会話しません。すべての通信は**PipelineState**（共有状態）と**PromptAssembler**（コンテキスト仲介者）を介して行われます。\n\n### アーキテクチャ\n\n```\n┌─────────────────────────────────────────────────────────┐\n│                     PipelineState                       │\n│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌───────────┐  │\n│  │ messages  │ │  tasks   │ │  design  │ │ codebase  │  │\n│  │   []      │ │   []     │ │ Decisions│ │ Analysis  │  │\n│  └──────────┘ └──────────┘ └──────────┘ └───────────┘  │\n└────────────────────┬────────────────────────────────────┘\n                     │ read\n              ┌──────┴──────┐\n              │   Prompt    │  トークン予算内で\n              │  Assembler  │  関連コンテキストを選別\n              └──────┬──────┘\n          ┌──────────┼──────────┐\n          ▼          ▼          ▼\n     ┌─────────┐ ┌─────────┐ ┌─────────┐\n     │テックリード│ │開発者   │ │   QA    │\n     │ (Claude)│ │(Gemini) │ │(Codex)  │\n     └────┬────┘ └────┬────┘ └────┬────┘\n          │ write      │ write     │ write\n          └────────────┴───────────┘\n                       │\n              PipelineStateに記録\n```\n\n### 通信パターン\n\n| パターン | フロー | 説明 |\n|----------|--------|------|\n| **会議発言** | エージェント → `messages[]` → 次のエージェント | ラウンドロビン議論、前の発言を見て応答 |\n| **設計 → コード** | `designDecisions` → 開発者 | 会議の成果がコーディングコンテキストに |\n| **コード → レビュー** | `task.code` → テックリード | 書かれたコードがレビュアーに渡る |\n| **レビュー → 修正** | `task.review` → 開発者 | レビューフィードバックが修正サイクルを発動 |\n| **QA → 修正** | `task.qa` → テックリード | QA失敗時にリードが直接修正 |\n\n### メッセージフロー例\n\n```\nPhase 1 — 会議\n  Archie 発言 → メッセージ保存 → Nova が読む → 発言 → ...\n  最終成果: designDecisions, techStack\n\nPhase 4 — 開発\n  PromptAssembler.forCoding()\n    → designDecisions (30%)\n    → codebaseAnalysis (50%)      ← トークン予算配分\n    → techStack (残り)\n  開発者がコード作成 → task.code + task.filePaths\n\nPhase 5–6 — レビュー \u0026 QA修正サイクル\n  Lead.reviewCode(task.code)\n    → 判定: \"approved\" | \"changes_requested\"\n    → changes_requested → Lead.writeCode(レビュー + コード)\n  QA.runQA(task.filePaths)\n    → 判定: \"pass\" | \"fail\"\n    → fail → Lead.writeCode(QA結果 + コード) → 再QA（最大×3）\n```\n\n\u003e 各エージェントはPromptAssemblerが提供するコンテキストのみを参照し、全体の状態には直接アクセスしません。これによりプロンプトを集中的に保ち、モデルのコンテキスト制限内に収めます。\n\n## ライセンス\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphotojupi%2Fpolymeld","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphotojupi%2Fpolymeld","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphotojupi%2Fpolymeld/lists"}