0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code に dev-orchestra を入れて、1文で開発を回してみた

0
Posted at

この記事は tk3.biz のブログ からの転載です。

はじめに

前回は、dev-orchestra で何ができるかを紹介しました。今回は実際に、Claude Code だけの環境に入れて使ってみます。

  • 読むのに 5 分、試すのに 10 分くらいを目安にしています
  • Codex は入っていない前提です(Codex で使う話は次回)

必要なもの

もの メモ
Claude Code ログインまで済ませておく
Python 3.11 以上 標準ライブラリだけで動く
git レビューする差分を取るのに使う

API キーは要りません。Claude Code のログインをそのまま使います。

手順

1. インストールする

ターミナルで 2 行です。

claude plugin marketplace add istb16/dev-orchestra
claude plugin install dev-orchestra@dev-orchestra

Claude Code の中からなら、次のように入力しても同じです。

/plugin marketplace add istb16/dev-orchestra
/plugin install dev-orchestra@dev-orchestra

入れたあとに新しく開いたセッションから使えるようになります。

2. 初回にプリセットを選ぶ

dev-orchestra を使う依頼を初めて出すと、まだ設定が無いことに気づいて、今の構成を見せたうえでプリセットを聞いてきます。

プリセットは「どこにお金(トークン)をかけるか」の選択で、3 つあります。

プリセット ひとことで
quality 強いモデルを多めに使う。品質優先
standard 迷ったらこれ。品質と費用のバランス型
fast 軽いモデル中心。速さと費用優先

プリセットの中身はこの連載の後半でくわしく書くので、ここでは standard で進めます。

初回の設定では、返事をする言語も聞かれます。日本語を選ぶと、Claude Code のユーザー設定に「日本語で返す」ためのフックが入ります。

3. Claude だけで組まれていることを確かめる

ここがいちばん見てほしいところです。Codex が入っていないマシンで standard を選ぶと、構成はこうなりました(dev-orchestra 1.0.0 の config show の抜粋)。

Preset: standard (implicit; fitted to claude)
  note: codex not found on PATH: reviewer seat 2 (general) went to claude as claude-general-2 (sonnet)

  Architect
    claude / fable / latest
  Implementer
    claude / opus / latest
  Reviews
    1. claude / opus / latest / general / claude-general
    2. claude / sonnet / latest / general / claude-general-2
    3. claude / sonnet / latest / security / claude-security (opus when high-risk)
    4. claude / sonnet / latest / test / claude-test

本来 Codex に置かれるはずのレビュアーの枠が、自動で Claude(sonnet)に置き換わっています。入っていない CLI を前提にした設定で、毎回レビューが失敗する、ということが起きません。

  • 設計は fable、実装は opus と、役割ごとにモデルが分かれている
  • レビュアーは 4 人。全員 Claude だが、実装したときの会話を持たない別プロセスとして動く
  • 4 人の役割も general(全般)・security・test と分かれている

4. 準備ができているか確かめる

念のため、エージェントに「dev-orchestra の doctor を実行して」と頼んで、環境をチェックしてもらいます。Claude Code の部分はこう出ました(抜粋)。

Claude Code (claude)
  Installed: yes
  Model selection: supported
  Models (cli-help): fable, opus, sonnet
  Read-only runs: enforced by --permission-mode plan --disallowed-tools Edit,Write,NotebookEdit --tools Read,Grep,Glob --strict-mcp-config --restricted

Read-only runs: enforced は、設計役とレビュー役が読み取り専用で動くことを、Claude Code のフラグで強制しているという意味です。「書き換えないで」とお願いしているのではなく、そもそも書き換える道具を渡していません。

最後に No problems found. と出れば準備完了です。

5. 1 文で依頼する

あとは普段どおり話しかけるだけです。

この issue を設定済みのワークフローで実装して
この関数のテストを書いて、マルチモデルレビューまで回して

実装役にテストを走らせるには、先に .claude/settings.json の permissions.allow にテストのコマンドを足しておきます(例: Bash(npm test:*))。足していないと、シェルコマンドは自動では実行されません。

依頼の大きさに合わせて、必要な工程だけが動きます。大きめの依頼だと、こう進みます。

  1. 設計: 計画を書いて、「この計画で進めてよいか」を聞いてくる
  2. 承認: 計画を読んで OK と答えると、実装に進む(勝手には進まない)
  3. 実装 → テスト
  4. レビュー: 4 人のレビュアーが、同じ差分を互いに見ずにレビュー
  5. トリアージ → 修正 → 再テスト
  6. 最終報告

最終報告は、こんな形で返ってきます(例)。

Tests      ✓ 12 passed
Reviews    4/4 ✓
Triage     5 findings → 2 accepted, 2 rejected, 1 duplicate
Models     architect Claude/fable, implementer + fixer Claude/opus
Changed    src/calc.py, tests/test_calc.py
Remaining  none

どの指摘を採用して、どれを却下したかまで報告されるので、気になる指摘があれば理由を聞き返せます。

複数のレビュアーを動かすぶん、トークンは 1 つの AI で済ませるより増えます。最初は小さな依頼から試すのがおすすめです。

Claude Code の場合だけの機能・制限

Claude Code で使うときに知っておくと役に立つ点を、まとめておきます(dev-orchestra 1.0.0 時点。くわしくは providers.md)。

内容
○ 読み取り専用の強制がいちばん強い 設計とレビューは Read / Grep / Glob の 3 つの道具だけで動き、MCP も使わない
○ モデルは名前で指定 opus / sonnet / fable と書けば、その系列の最新が使われる
○ 設計の続きから再開できる 計画の手直しで、前の設計の会話を引き継げる(確認済みの Claude Code の版で)
△ 設計・レビューでは自分の permissions.deny が効かない ユーザー・プロジェクト・ローカルの設定(settings.json)をどれも読まないため。設計役とレビュアーはリポジトリ内のどのファイルも読めるので、秘密のファイルを隠すルールは managed settings に移す(下で説明)
△ 実装役はシェルコマンドを自動で実行しない テストを走らせるには、.claude/settings.json の permissions.allow にテストのコマンド(例: Bash(npm test:*))を足す
× 古い Claude Code では設計・レビューが動かない 必要なフラグが無い版では、doctor が NOT ENFORCEABLE と出して実行を止める

.env を隠すには managed settings を使う

managed settings は、管理者向けの設定ファイルです。ユーザーやプロジェクトの設定では上書きできず、設計役とレビュアーを動かすときの --restricted でも読み込まれます。

OS 置き場所
macOS /Library/Application Support/ClaudeCode/managed-settings.json
Linux・WSL /etc/claude-code/managed-settings.json
Windows C:\Program Files\ClaudeCode\managed-settings.json(書き込むには管理者権限が要る)

.env などをモデルに読ませないようにするには、こう書きます。

{
  "permissions": {
    "deny": ["Read(./.env)", "Read(./.env.*)", "Read(./secrets/**)"]
  }
}

置き場所は Claude Code の版によって変わることがあります。公式のドキュメントで確かめてください。

まとめ

  • Claude Code への導入は 2 行。API キーは要らない
  • 初回にプリセットを選ぶだけ。迷ったら standard
  • Codex が無くても、レビュアーは自動で Claude だけで組まれる
  • 設計とレビューは Claude Code のフラグで読み取り専用を強制
  • あとは 1 文で依頼。計画は承認するまで実装に進まない
  • テストを走らせるなら、.claude/settings.json でテストのコマンドを許可しておく
  • 設計とレビューでは permissions.deny が効かない。.env などを隠すルールは managed settings に移しておく

詳しい使い方は README(日本語) にまとめています。次回は、Codex で使ってみます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?