بنقرة واحدة
harness-setup
HAR: Project init, tool setup, agent config, memory setup, skill mirror sync. Trigger: setup, init, new project, CI/Codex setup, harness-mem, mirror. Do NOT load for: implementation, review, release, planning.
القائمة
HAR: Project init, tool setup, agent config, memory setup, skill mirror sync. Trigger: setup, init, new project, CI/Codex setup, harness-mem, mirror. Do NOT load for: implementation, review, release, planning.
| name | harness-setup |
| description | HAR: Project init, tool setup, agent config, memory setup, skill mirror sync. Trigger: setup, init, new project, CI/Codex setup, harness-mem, mirror. Do NOT load for: implementation, review, release, planning. |
| description-en | HAR: Project init, tool setup, agent config, memory setup, skill mirror sync. Trigger: setup, init, new project, CI/Codex setup, harness-mem, mirror. Do NOT load for: implementation, review, release, planning. |
| description-ja | HAR:プロジェクト初期化・ツール設定・エージェント構成・メモリ設定・skill mirror 同期を担当。セットアップ、初期化、新規プロジェクト、CI/Codex CLI セットアップ、harness-mem、mirror で起動。実装・レビュー・リリース・プランニングには使わない。 |
| kind | workflow |
| purpose | Initialize and repair Harness project configuration |
| trigger | setup, init, new project, CI/Codex setup, harness-mem, mirror |
| shape | workflow |
| role | generator |
| pair | harness-sync |
| owner | harness-core |
| since | 2026-05-05 |
| allowed-tools | ["Read","Write","Edit","Grep","Glob","Bash"] |
| argument-hint | [init|ci|codex|harness-mem|mirrors|agents|localize] |
| user-invocable | true |
| effort | medium |
Harness の統合セットアップスキル。 以下の旧スキルを統合:
setup — 統合セットアップハブharness-init — プロジェクト初期化harness-update — Harness アップデートmaintenance — ファイル整理・クリーンアップ| サブコマンド | 動作 |
|---|---|
/harness-setup init | 新規プロジェクト初期化(CLAUDE.md + Plans.md + hooks + sync + doctor) |
/harness-setup ci | CI/CD パイプライン設定 |
/harness-setup codex | Codex CLI インストール・設定 |
/harness-setup harness-mem | harness-mem 統合・メモリ設定 |
/harness-setup mirrors | skills/ → 公開 mirror bundle 更新 |
/harness-setup agents | agents/ エージェント設定 |
/harness-setup localize | CLAUDE.md ルールのローカライズ |
Built-in slash discovery (CC 2.1.108+):
/initのような built-in slash command も発見される。 Harness 固有の bootstrap が必要な時だけ/harness-setup initと使い分ける。
Claude Code setup guidance (CC 2.1.120+): MCP
alwaysLoad、${CLAUDE_EFFORT}、claude plugin prune、claude project purge、ANTHROPIC_BEDROCK_SERVICE_TIER、claude_code.skill_activated.invocation_trigger、 Windows PowerShell primary shell、forked skills / subagents の deferred tools はdocs/claude-code-setup-mcp-telemetry-provider.mdを正本として扱う。
Codex plugin workflows: Codex
/goalとPlans.mdを二重管理しない。 plugin-bundled hooks は opt-in、external agent import は ownership 明記、 MultiAgentV2 /agents.max_threads = 8は上限として扱い、 sticky environments / app-server artifacts は safe default を優先する。 Codex0.130.0stable のcodex remote-control、large thread pagination、 selected-environmentview_image、live app-server config refresh、 accurate turn diffs、plugin details bundled hooks、sharing discoverability controls はdocs/codex-plugin-workflows-policy.mdを正本として扱う。 詳細はdocs/codex-plugin-workflows-policy.mdを参照。
新規プロジェクトに Harness を導入する。
生成ファイル:
project/
├── CLAUDE.md # プロジェクト設定
├── Plans.md # タスク管理(空テンプレート)
├── .claude/
│ ├── settings.json # Claude Code 設定
│ └── hooks.json # フック設定(Go バイナリ)
└── hooks/
├── pre-tool.sh # 薄いシム(→ core/src/index.ts)
└── post-tool.sh # 薄いシム(→ core/src/index.ts)
フロー:
harness version でバイナリが利用可能か確認(v4.0 以降 Node.js 不要)harness sync で .claude-plugin/ 配下のファイルを最新に同期。harness.toml が無く sync が失敗する場合は先に harness init を実行する(Setup hook 導入前にブートストラップされたプロジェクトの復旧経路)harness doctor で全チェック項目をパス。問題があれば修正案を提示# バイナリの存在と動作を確認
harness version
# 例: harness v4.0.0 (go1.22.0, darwin/arm64)
v4.0 以降、Harness のコアエンジンは Go バイナリに移行した。
Node.js は不要。バイナリは bin/harness(または PATH 上の harness)を使用する。
# .claude-plugin/ 配下のファイルを最新に同期
harness sync
# 同期内容の確認のみ(変更なし)
harness sync --dry-run
harness sync は skills/ の SSOT から各 mirror(codex/.codex/skills/、opencode/skills/)へ
変更を伝播させる。init 後に必ず実行すること。
# 全チェック項目を実行
harness doctor
harness doctor は以下を確認する:
| チェック項目 | 内容 |
|---|---|
| バイナリ | harness version が正常に返るか |
| プラグイン設定 | .claude-plugin/plugin.json の形式が正しいか |
| hooks 配置 | hooks が正しいパスに存在するか |
| mirror 同期 | skills/ と mirror の内容が一致しているか |
| CLAUDE.md | 必須セクションが存在するか |
問題が検出された場合は修正コマンドを提示する。
GitHub Actions ワークフローを設定する。
# .github/workflows/ci.yml 生成例
name: CI
on:
push:
branches: [main]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm test
# インストール確認(Codex CLI は Node.js ベース。Harness 本体とは別物)
which codex || npm install -g @openai/codex
# タイムアウトコマンド確認(macOS)
TIMEOUT=$(command -v timeout || command -v gtimeout || echo "")
# macOS の場合: brew install coreutils
注意: Harness v4.0 本体(
harnessコマンド)は Node.js 不要の Go バイナリ。 Codex CLI(codexコマンド)は別ツールであり、引き続き Node.js が必要。
Codex 0.123.0 以降の provider / model guidance と、Codex 0.130.0 stable の Bedrock aws login guidance は
docs/codex-provider-setup-policy.md を正本として扱う。
要点:
amazon-bedrock を使う。[model_providers.amazon-bedrock.aws] に置く。aws login profiles は AWS 側の profile material として扱う。model = "gpt-5.4" を setup default として固定しない。model_provider = "amazon-bedrock" も setup default として固定しない。gpt-5.4 は Codex 本体の current model metadata として扱い、古い gpt-5.2-codex などを推奨 sample として残さない。CLAUDE_CODE_USE_BEDROCK / ANTHROPIC_DEFAULT_* / modelOverrides guidance と、Codex の model_provider = "amazon-bedrock" は混ぜない。Bedrock を使う user / project だけが、必要に応じて次を追加する:
model_provider = "amazon-bedrock"
[model_providers.amazon-bedrock.aws]
profile = "codex-bedrock"
Claude Code 側の provider / MCP / telemetry guidance は
docs/claude-code-setup-mcp-telemetry-provider.md を参照する。
特に ANTHROPIC_BEDROCK_SERVICE_TIER は Bedrock 利用者の provider 環境だけで扱い、
Harness の plugin default / template / shared project settings には入れない。
Codex 0.130.0 stable (rust-v0.130.0, published 2026-05-08T23:09:55Z) の app-server / plugin workflow guidance は
docs/codex-plugin-workflows-policy.md を正本として扱う。
要点:
codex remote-control は headless remotely controllable app-server の明示起動 entrypoint。Harness setup は remote-control defaults を config に書かない。view_image は multi-environment session の selected environments 経由で file を解決できる。artifact report には environment / workdir を添える。apply_patch including partial failures。最終判断は git diff と tests で確認する。CODEX_HOME environments TOML provider は user-level environment source。選択 environment を報告し、write turn は one primary environment に固定する。[[skills.config]] path-based loading を明示する。Codex 0.123.0 以降の MCP diagnostics / plugin MCP loading guidance は
docs/codex-mcp-diagnostics.md を正本として扱う。
要点:
/mcp で軽量に server 状態だけ確認する。/mcp verbose を使う。/mcp verbose では diagnostics / resources / resource templates を確認する。.mcp.json は mcpServers 形式と top-level server map 形式の両方を受け取れる前提で案内する。mcpServers 形式を優先する。claude mcp ...、.claude/mcp.json、hook type: "mcp_tool" guidance と混ぜない。mcpServers 形式:
{
"mcpServers": {
"docs": {
"command": "node",
"args": ["server.js"]
}
}
}
top-level server map 形式:
{
"docs": {
"command": "node",
"args": ["server.js"]
}
}
Codex 0.123.0 以降の remote_sandbox_config と codex exec shared flags guidance は
docs/codex-sandbox-execution-policy.md を正本として扱う。
要点:
remote_sandbox_config は requirements.toml の host-specific sandbox policy として案内する。allowed_sandbox_modes を比較して決める。codex/.codex/config.toml には organization-specific な remote_sandbox_config を書かない。0.123.0 以降は codex exec が root-level shared flags を継承するため、wrapper 側で重複した --approval-policy / --sandbox pairs を追加しない。scripts/codex-companion.sh task --write が --sandbox workspace-write を付けるのは、Harness の「書き込みタスク」という意図を exec-local に変換しているためであり、root shared flags の重複転送ではない。scripts/codex/codex-exec-wrapper.sh の --full-auto は 53.2.4 では維持する。変更する場合は別 task で approval / sandbox behavior の回帰テストを追加する。requirements example:
allowed_sandbox_modes = ["read-only"]
[[remote_sandbox_config]]
hostname_patterns = ["devbox-*.corp.example.com"]
allowed_sandbox_modes = ["read-only", "workspace-write"]
使用パターン(公式プラグイン経由):
bash scripts/codex-companion.sh task --write "タスク内容"
# または stdin 経由
cat /tmp/prompt.md | bash scripts/codex-companion.sh task --write
Cursor を Harness の実装(worker)バックエンドとして使うための導入手順。
レビュー / advisor ロールは Opus に固定し、cursor バックエンドへ切り替えない(.claude/rules/cursor-cli-only.md の Role scope)。
set-impl-backend.sh でバックエンドを永続化する。Harness / AI がこのステップを実行できる。
# プロジェクトスコープ(このプロジェクトの env.local に書く)
bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" cursor
# ユーザースコープ(全プロジェクト共通: ${HOME}/.config/claude-harness/impl-backend.env)
bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" --user cursor
# 現在解決されるバックエンドを表示して確認
bash "${HARNESS_PLUGIN_ROOT}/scripts/set-impl-backend.sh" --show
解決の優先順位: プロジェクト env.local がユーザースコープより優先される。
以下 3 ファイルは Edit/Write(.claude/settings*) deny と self-audit guard、および ~/.cursor/* が
plugin write 対象外であるため Harness / AI が編集できない。ユーザー自身がターミナル / エディタで設定する。
~/.cursor/permissions.json: terminalAllowlist / mcpAllowlist を追加する。
テンプレートは .claude/rules/cursor-cli-only.md の ~/.cursor/permissions.json テンプレートを使う。
--force / Run Everything(--yolo)は使わない(Cursor 公式が "Never use")。.cursorignore: secrets(.env, *.pem, *.key, .ssh, .aws, .git)を列挙する。
テンプレートは .claude/rules/cursor-cli-only.md の .cursorignore テンプレートを使う。~/.claude/settings.json の sandbox(2 点): (1) network.allowedDomains に *.cursor.sh を追加、
(2) 公式キー sandbox.filesystem.allowWrite に ~/.cursor を追加する(cursor-agent は実行時に
~/.cursor/projects/... と ~/.cursor/cli-config.json.tmp へ状態を書くため、未許可だと
EPERM で失敗する)。⚠️ キー名は allowWrite: write という名前にすると未知キーとして
無視され設定が効かない(実測で確認)。~/ は sandbox 側で展開される(公式例 ["~/.kube"])。
両方揃うと per-run の
sandbox 無効化なしで実行できる。手順は docs/sandbox-allowlist-recipe.md の jq merge レシピと
.claude/rules/cursor-cli-only.md の「Sandbox 要件」に従う。CC 完全再起動後に有効化される。cursor バックエンドは candidate の位置づけ。安全性は Cursor の allowlist(best-effort、bypass 可能)ではなく、
専用 .git を持つ worktree での隔離実行 + Lead による diff レビュー + cherry-pick での本流取り込みで担保する。
cursor-agent の出力は Lead レビューまで untrusted として扱う。詳細は .claude/rules/cursor-cli-only.md を参照。
Unified Harness Memory の設定を行う。
# メモリディレクトリ作成
mkdir -p .claude/agent-memory/claude-code-harness-worker
mkdir -p .claude/agent-memory/claude-code-harness-reviewer
# MEMORY.md テンプレート配置
cat > .claude/agent-memory/claude-code-harness-worker/MEMORY.md << 'EOF'
# Worker Agent Memory
## Project Context
[プロジェクト概要]
## Patterns
[学習パターン]
EOF
Windows の core.symlinks=false では repository symlink が通常ファイルになり、harness-* skill が command 一覧に出なくなることがあります。公開 bundle は実ディレクトリ mirror として同期します。
./scripts/sync-skill-mirrors.sh
./scripts/sync-skill-mirrors.sh --check
更新対象:
skills/codex/.codex/skills/opencode/skills/agents/ の3エージェント構成を設定する。
agents/
├── worker.md # 実装担当(task-worker + codex-implementer + error-recovery)
└── reviewer.md # レビュー担当(code-reviewer + plan-critic)
.claude/rules/ のルールを現プロジェクトに適応する。
# ルール一覧確認
ls .claude/rules/
# プロジェクト固有ルールの追加
cat >> .claude/rules/project-rules.md << 'EOF'
# Project-Specific Rules
[プロジェクト固有ルール]
EOF
v2.1.71 で Marketplace の安定性が大幅に改善された。
Claude Code 2.1.117-2.1.118 以降の plugin / managed settings 方針は
docs/plugin-managed-settings-policy.md を正本として扱う。
# @ref 形式でバージョン固定(推奨)
claude plugin install owner/repo@v4.0.0
# 最新版
claude plugin install owner/repo
owner/repo@vX.X.X 形式を推奨。@ref パーサー修正により、タグ・ブランチ・コミットハッシュいずれも正確に解決される。
claude plugin update owner/repo
v2.1.71 で update 時の merge conflict が修正され、安定したアップデートが可能になった。
/plugin uninstall が settings.local.json を使用: ユーザーローカル設定に正確に反映企業利用で plugin marketplace を制御する場合は、Claude Code 本体の managed settings を使う。 Harness は独自の marketplace resolver や dependency resolver を重ねない。
| 項目 | 用途 | Harness の扱い |
|---|---|---|
extraKnownMarketplaces | チームに推奨 marketplace を案内・登録する | 通常の onboarding ではこちらを優先 |
blockedMarketplaces | 特定 marketplace source をブロックする | managed settings 専用。通常ユーザー向け default には入れない |
strictKnownMarketplaces | 許可した marketplace source だけ追加できるようにする | managed settings 専用。通常ユーザー向け default には入れない |
| plugin dependency auto-resolve | dependencies の自動 install / missing dependency hints | Claude Code 本体に任せる。Harness 独自 resolver は追加しない |
plugin themes/ directory | plugin が theme を配布する | 今回は P: 将来タスク。Harness は theme を同梱しない |
DISABLE_AUTOUPDATER は自動更新を止める。
DISABLE_UPDATES は手動 claude update まで止めるため、企業の固定バージョン運用向け。
Harness の project default にはどちらも入れず、必要な組織が managed settings または端末管理で設定する。
依存関係が欠けた場合は、まず Claude Code の /plugin Errors、/doctor、claude plugin list --json を確認する。
marketplace 未登録が原因なら /plugin marketplace add または claude plugin marketplace add で登録し、本体の auto-resolve に任せる。
定期メンテナンスタスク:
| タスク | コマンド |
|---|---|
| 古いログ削除 | find .claude/logs -mtime +30 -delete |
| Plans.md 圧縮 | 完了タスクをアーカイブセクションに移動 |
| 古いトレース削除 | tail -1000 .claude/state/agent-trace.jsonl > /tmp/trace && mv /tmp/trace .claude/state/agent-trace.jsonl |
harness-plan — セットアップ後にプロジェクト計画を作成harness-work — セットアップ後にタスクを実行harness-review — セットアップ設定をレビューHAR: Multi-angle code, plan, scope review. Security/quality check. Trigger: review, code review, plan review, scope analysis. Do NOT load for: implementation, new features, bugfix, setup, release.
HAR: Multi-angle code, plan, scope review. Security/quality check. Trigger: review, code review, plan review, scope analysis. Do NOT load for: implementation, new features, bugfix, setup, release.
Generic release automation for projects using Keep a Changelog + GitHub. Single confirmation gate then end-to-end automation: bump detection, CHANGELOG promotion, PR/main merge, tag, GitHub Release. Trigger: release, version bump, publish. Do NOT load for: implementation, review, planning, setup.
Generic release automation for projects using Keep a Changelog + GitHub. Single confirmation gate then end-to-end automation: bump detection, CHANGELOG promotion, PR/main merge, tag, GitHub Release. Trigger: release, version bump, publish. Do NOT load for: implementation, review, planning, setup.
HAR: Project init, tool setup, agent config, memory setup, skill mirror sync. Trigger: setup, init, new project, CI/Codex setup, harness-mem, mirror. Do NOT load for: implementation, review, release, planning.
Generate a Progress Tracker HTML for non-engineer vibecoders to glance at session progress (cc:WIP / cc:TODO / cc:完了 counts, percentage, elapsed/estimated minutes, cost so far/estimate, drift alerts). Uses Plans.md as source of truth, renders a single-file HTML with auto-regeneration support. Use when user asks for progress overview, session status snapshot, dashboard, or says: progress tracker, 進捗確認, 進捗ボード, dashboard. Do NOT load for: actual implementation, code review, release work.