agenticworkspace について
AgenticWorkspaceは、コーディングエージェントを使う開発者向けに、リポジトリをスキャンしてエージェント用ワークスペースを生成するCLIです。技術スタックを検出し、段階的なコンテキストやセッション引き継ぎファイルを作成し、Claude Codeアダプターも備えています。
主な機能
- 01言語、パッケージマネージャー、モノレポの検出
- 02`.workspace/`コンテキストファイルの生成
- 03Claude Codeフックアダプターのインストール
- 04コマンド結果のJSON出力
- 05既存のエージェント設定を上書きせず検出
活用シーン
- 01新しいリポジトリにエージェント用ワークスペースを作成
- 02リポジトリをスキャンして技術スタックを確認
- 03ワークスペースの状態とコンテキスト予算を確認
- 04セッション引き継ぎ記録を作成
MCP 対応
Pythonパッケージは、agenticworkspace CLIの各サブコマンドを実行して解析済み結果を返す単一の`run`ツールを備えたMCPサーバーを提供します。stdioトランスポートを使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
AgenticWorkspace
任意のリポジトリを指定してください。技術スタックを検出し、段階的なコンテキストとセッションの引き継ぎ情報を含む .workspace/ ディレクトリを書き込み、動作する Claude Code アダプターをインストールします。すべて1つのコマンドで実行できます。

npx agenticworkspace-cli init
これは v0.1 リリースです。インストール数ゼロ、GitHub のスター数ゼロ、初回リリースです。JavaScript テストは 99/99 件、Python テストは 132/132 件すべて合格しています。以下に記載した内容だけを実行し、それ以上のことはしません。この分野ですでに使われている他のツールとの率直な比較を後半に掲載しているので、実行する前に AgenticWorkspace を試す価値があるか判断できます。
目次
- インストール
- 機能
- クイックスタート
- CLI リファレンス
.workspace/ディレクトリ- ライブラリ API リファレンス
- アダプターの状況
- AgenticWorkspace の拡張
- repo-harness および harnesskit との比較
- 概要と理由
- 開発
- FAQ
- コントリビューション
- ライセンス
インストール
AgenticWorkspace は、同じスキャン/生成/アダプターのパイプラインを実装し、同じ .workspace/ ディレクトリ構成を読み書きする、独立した同等に正式なパッケージを2つ提供しています。ツールチェーンに合う方を選ぶか、両方をインストールしてください。どちらか一方がもう一方に取って代わられることはありません。
# npm -- JavaScript/TypeScript CLI + library (live today, v0.1.3)
npx agenticworkspace-cli init
# PyPI -- Python CLI + library (live today, v0.1.1)
pip install agenticworkspace-cli
agenticworkspace init --path /path/to/your/repo
ソースからインストールする場合:
git clone https://github.com/RudrenduPaul/AgenticWorkspace.git
cd AgenticWorkspace/python
pip install -e .
agenticworkspace init --path /path/to/your/repo
npm パッケージを繰り返し使う場合は、グローバルにインストールしてください。
npm install -g agenticworkspace-cli
agenticworkspace init
Python パッケージの CLI エントリーポイントも agenticworkspace です(例:agenticworkspace init --path ./my-app)。Python 固有の手順については、python/README.md と docs/getting-started.md を参照してください。
TypeScript パッケージをソースからビルドする場合:
git clone https://github.com/RudrenduPaul/AgenticWorkspace.git
cd AgenticWorkspace
npm install
npm run build
node dist/agenticworkspace/cli.js init
機能
以下の内容はすべて、将来的な目標ではなく、このリポジトリの実際のソースコードで確認済みです。
- 実際のスタック検出 -- 言語(JavaScript/TypeScript、Python、Rust/Go/Ruby の簡易シグナル)、パッケージマネージャー(npm/pnpm/yarn)、モノレポのパッケージ数を、実際のマニフェストファイルから読み取ります(
src/agenticworkspace/scan/stack-detector.ts)。 - デフォルトでは非破壊的 --
CLAUDE.md、AGENTS.md、.cursor/rules、.github/copilot-instructions.mdの有無を確認し、上書きしません (src/agenticworkspace/scan/config-detector.ts)。 - 他のエージェントメモリツールを、変更せずに検出 --
.serena/ディレクトリ、GitNexus 形式の設定、repo-harness 独自の.ai/harness/ディレクトリを探し、見つかったものを報告します。これらを読み取ったり、書き込んだりすることはありません(src/agenticworkspace/memory-backends/)。 - 実際に動作する Claude Code アダプター -- セッション開始、ツール呼び出し前、セッション終了時のハンドオフ生成用の実際のフックスクリプトを書き込み、
.workspace/adapters/claude-code/settings.jsonに接続します (src/agenticworkspace/adapters/claude-code/install.ts)。 - すべてのサブコマンドで構造化 JSON を出力 --
init、scan、status、adapter install、handoff newはすべて、エラー発生時(存在しない--path、ワークスペースの欠落、未実装のアダプター)も含めて--jsonに対応しています。そのため、呼び出し元のエージェントが人間向けテキストを解析したり、終了コードを推測したりする必要はありません。 - ハードコードされたパイプラインではなく、文書化された2つのプラグインインターフェース --
MemoryBackend(src/agenticworkspace/memory-backends/types.ts)とAdapter(src/agenticworkspace/adapters/types.ts)です。新しいツールの追加には、いずれかのインターフェースを実装して登録するだけで済みます(各フォルダーのregistry.ts)。CLI やスキャンコードを変更する必要はありません。 詳細は、以下のAgenticWorkspace の拡張をご覧ください。 - シェルインジェクションに安全なフック生成 -- 生成されるシェルスクリプトに埋め込まれる、スキャン対象の値(モジュール名、パス)はすべて、許可リストと引用符のチェックを通過します
(
src/agenticworkspace/util/sanitize.ts)。パラメーター化された拒否ケースを含むテストスイートを直接実行して確認済みの、専用ユニットテスト30件でカバーされています。 - 部分状態からの復旧 -- 中断または不正な形式の前回の
init実行を検出して報告します(対話モードでは修復/リセット/中止のプロンプトを表示し、--jsonモードでは専用の終了コードを含む構造化 JSON エラーを返します)。黙って上書きしたり再開したりすることはありません (src/agenticworkspace/state/partial-state.ts)。
クイックスタート
小規模な2ファイルの JavaScript リポジトリに対する実際の実行例です(読みやすさのため、対象パスを /Users/you/my-app に短縮しています。以下の各フィールド値は実際の出力です)。
$ agenticworkspace init --json --path ./my-app
{
"ok": true,
"agenticworkspace_version": "0.1.1",
"scanned_at": "2026-08-04T06:18:25.620Z",
"target": "/Users/you/my-app",
"stack": {
"language": "javascript",
"package_manager": "npm",
"monorepo": false,
"packages": 1
},
"existing_config": {
"claudeMd": false,
"agentsMd": false,
"cursorRules": false,
"copilotInstructions": false,
"anyDetected": false
},
"memory_backends": [
{ "name": "serena", "detected": false, "description": "Serena memory/context tool (.serena/ directory)" },
{ "name": "gitnexus", "detected": false, "description": "GitNexus-style config (.gitnexus/ or gitnexus.config.json)" },
{ "name": "repo-harness", "detected": false, "description": "repo-harness (.ai/harness/ directory) -- detected only, never modified" }
],
"context": { "root_context_kb": 0.6, "budget_kb": 12, "modules": [] },
"adapters": { "claude_code": { "installed": true, "hook_schema_version": "2026-07-01" } },
"workspace_dir": "/Users/you/my-app/.workspace"
}
この出力の agenticworkspace_version フィールドは、パッケージ自体の npm/PyPI バージョンとは別に管理されるバージョン文字列です(両者は異なる場合があります。インストールしたパッケージのバージョンではなく、内部スキーママーカーとして扱ってください)。
この1回の実行で、ディスクに実際のファイルが7つ書き込まれました。
.workspace/workspace.json
.workspace/context/root-context.md
.workspace/adapters/claude-code/settings.json
.workspace/adapters/claude-code/adapter-meta.json
.workspace/adapters/claude-code/hooks/session-start.sh
.workspace/adapters/claude-code/hooks/pre-tool-call.sh
.workspace/adapters/claude-code/hooks/session-end-handoff.sh
--json を外すと、同じ実行結果を人間が読みやすい形式で表示します。
$ agenticworkspace init --path ./my-app
AgenticWorkspace v0.1 -- Repo-to-Agent-Workspace Converter
Target: /Users/you/my-app
Scanning repository...
[OK] Stack detected: javascript, npm
[--] No existing agent-config files found
[--] No memory/context tool detected
Writing .workspace/ scaffold...
.workspace/workspace.json created
.workspace/context/root-context.md created (0.6KB of 12KB budget)
.workspace/handoff/ created (empty, ready for first session)
Installing Claude Code adapter...
.workspace/adapters/claude-code/settings.json written
.workspace/adapters/claude-code/hooks/session-start.sh written
.workspace/adapters/claude-code/hooks/pre-tool-call.sh written
.workspace/adapters/claude-code/hooks/session-end-handoff.sh written
Workspace ready. Next Claude Code session in this repo will load root-context.md automatically
and write a handoff file on exit.
同じリポジトリのワークスペースの健全性を確認し、セッションのハンドオフを書き込んだときの実際の出力です。
$ agenticworkspace status --path ./my-app
AgenticWorkspace status
Target: /Users/you/my-app
Last scan: 2026-08-04T06:18:25.620Z
Stack: javascript, npm, 1 package(s)
Context budget: 0.6KB of 12KB (0 module block(s))
Handoffs: 0 file(s), most recent: none
Claude Code adapter: installed, schema 2026-07-01, current
Other backends detected: none
$ agenticworkspace handoff new "test session" --path ./my-app
Handoff written: .workspace/handoff/2026-08-04-0618.md
handoff new と status を合わせて実行した記録は、docs/usage.gifをご覧ください。
機能
以下の内容はすべて、将来的な構想ではなく、このリポジトリの実際のソースコードで確認済みです。
- 実際のスタックを検出 -- 実際のマニフェストファイルから、言語(JavaScript/TypeScript、Python、Rust/Go/Ruby の簡易シグナル)、パッケージマネージャー(npm/pnpm/yarn)、モノレポのパッケージ数を読み取ります(
src/agenticworkspace/scan/stack-detector.ts)。 - デフォルトでは非破壊的 --
CLAUDE.md、AGENTS.md、.cursor/rules、.github/copilot-instructions.mdの有無を確認し、上書きしません(src/agenticworkspace/scan/config-detector.ts)。 - ほかのエージェントメモリーツールを変更せずに検出 --
.serena/ディレクトリ、GitNexus 形式の設定、または repo-harness 自身の.ai/harness/ディレクトリを探し、見つかったものを報告しますが、いずれも読み書きしません(src/agenticworkspace/memory-backends/)。 - 実際に動作する Claude Code アダプター -- セッション開始、ツール呼び出し前、セッション終了時のハンドオフ生成に使う実際のフックスクリプトを作成し、
.workspace/adapters/claude-code/settings.jsonに接続します(src/agenticworkspace/adapters/claude-code/install.ts)。 - すべてのサブコマンドで構造化 JSON を出力 --
init、scan、status、adapter install、handoff newはすべて--jsonに対応しています。存在しない--path、ワークスペースの欠落、未実装アダプターなどのエラー時も同様です。そのため、呼び出し元のエージェントが人間向けのテキストを解析したり、終了コードを推測したりする必要はありません。 - ハードコードされたパイプラインではなく、ドキュメント化された 2 つのプラグインインターフェース --
MemoryBackend(src/agenticworkspace/memory-backends/types.ts)とAdapter(src/agenticworkspace/adapters/types.ts)です。新しいツールを追加するには、いずれかのインターフェースを実装して登録するだけです(各フォルダーのregistry.ts)。CLI やスキャンコードを変更する必要はありません。詳しくは、以下のAgenticWorkspace の拡張を参照してください。 - シェルインジェクションに安全なフック生成 -- 生成されたシェルスクリプトに埋め込まれるスキャン済みの値(モジュール名、パス)はすべて、まず許可リストと引用符のチェックを通過します(
src/agenticworkspace/util/sanitize.ts)。この仕組みは、専用のユニットテスト 30 件でカバーされています。 - 部分状態からの復旧 -- 以前の
initが中断または不正な状態になっている場合、それを検出して報告します(対話モードでは修復/リセット/中止のプロンプト、--jsonモードでは専用の終了コードを含む構造化 JSON エラー)。黙って上書きしたり再開したりすることはありません(src/agenticworkspace/state/partial-state.ts)。
CLI リファレンス
すべてのコマンドは -p, --path <path>(デフォルトはカレントディレクトリ)と --json(デフォルトの人間向け出力ではなく、構造化出力)を受け付けます。以下のリファレンスは、ローカルでビルドした agenticworkspace バイナリの実際の --help 出力です。
| コマンド | 説明 |
|---|---|
agenticworkspace init | リポジトリをスキャンし、.workspace/ のスキャフォールドと Claude Code アダプターを書き込みます。冪等性があり、安全に再実行できます。 |
agenticworkspace scan | スタックと既存のエージェントツール環境のみを検出します。書き込みは行いません。 |
agenticworkspace status | ワークスペースの状態(スタック、コンテキスト予算の使用状況、ハンドオフ件数、アダプターの古さ)を報告します。 |
agenticworkspace adapter install <name> | 単一のアダプターのフック接続を(再)インストールします(例:claude-code)。codex または cursor の場合は adapter_not_implemented を返します。 |
agenticworkspace handoff new <message> | .workspace/handoff/ にタイムスタンプ付きの新しいセッションハンドオフファイルを書き込みます。 |
終了コードは --json モードと人間向けモードで共通しており、安定しているため、スクリプトはテキストを解析せずに終了コードに基づいて分岐できます。直接確認済みです。adapter install codex は「NOT YET IMPLEMENTED」というメッセージを表示して 3 で終了し、.workspace/ がない対象に対する status は 4 で終了します。
| コード | 意味 |
|---|---|
0 | 成功 |
1 | 一般エラー(不正な入力、予期しないファイルシステムエラー) |
2 | 部分的または不正な .workspace/ の状態を検出 |
3 | アダプターが未実装(codex、cursor) |
4 | .workspace/ が見つからない(先に init を実行してください) |
MCP サーバー
Python パッケージには Model Context Protocol(MCP)サーバーが含まれているため、MCP 対応エージェント(Claude Desktop、Claude Code、その他の MCP クライアント)は、CLI をシェルから実行してテキストを自分で解析する代わりに、AgenticWorkspace をツールとして呼び出せます。
pip install "agenticworkspace-cli[mcp]"
MCP クライアントの設定に追加します(stdio トランスポート)。
{
"mcpServers": {
"agenticworkspace": {
"command": "agenticworkspace-mcp"
}
}
}
公開されるツールは run(args: list[str]) -> dict の 1 つで、指定された引数リストを使ってインストール済みの
agenticworkspace CLI をシェルから実行し、解析済みの結果を返します。各サブコマンド(init、scan、status、adapter install、handoff new)をこのツール経由で利用できるため、新しいサブコマンドが追加されても、MCP のインターフェースが CLI とずれることはありません。バイナリの欠落、タイムアウト、ゼロ以外の終了コード、解析不能な出力など、すべてのエラーは例外を発生させず、{"error": ...} の辞書として返されます。呼び出しと結果の例:
run(["scan", "--json", "--path", "/path/to/repo"])
-> {"ok": true, "target": "/path/to/repo", "stack": {"language": "javascript", ...}, ...}
.workspace/ ディレクトリ
.workspace/
workspace.json manifest: detected stack, adapters installed, schema version
context/
root-context.md progressive root context, budget-targeted (~12KB)
modules/
auth.md per-module capability block, loaded on demand
api.md
handoff/
2026-07-13-1421.md one file per session, timestamped
adapters/
claude-code/
settings.json hook entries wired into Claude Code's settings schema
hooks/
session-start.sh loads root-context.md + relevant module blocks
pre-tool-call.sh lightweight guard, extendable per project
session-end-handoff.sh writes the next handoff/ file automatically
ライブラリ API リファレンス
どちらのパッケージも、CLI バイナリに加えて、スキャン、ひな形作成、アダプターのロジックをプログラムから利用できるように公開しています。以下のシグネチャはソースから直接 grep したものです。
TypeScript(agenticworkspace-cli、src/agenticworkspace/index.ts)
import {
detectStack,
detectExistingConfig,
memoryBackendRegistry,
detectAllMemoryBackends,
adapterRegistry,
getAdapter,
runInitEngine,
readManifest,
writeManifest,
sanitizeForShellEmbedding,
validateAgainstAllowlist,
shellQuote,
} from "agenticworkspace-cli";
async function detectStack(repoPath: string): Promise<StackDetectionResult>;
async function detectExistingConfig(repoPath: string): Promise<ExistingConfigResult>;
async function runInitEngine(repoPath: string, workspaceDir: string): Promise<InitEngineResult>;
function getAdapter(name: string): Adapter | undefined;
async function readManifest(workspaceDir: string): Promise<WorkspaceManifest | null>;
async function writeManifest(workspaceDir: string, manifest: WorkspaceManifest): Promise<void>;
function sanitizeForShellEmbedding(
rawValue: unknown,
warn?: SanitizeWarning,
options?: SanitizeForShellOptions,
): string | null;
function validateAgainstAllowlist(rawValue: unknown): SanitizeResult;
function shellQuote(value: string): string;
新しいプラグインを実装する場合に備えて、MemoryBackend と Adapter は TypeScript の型として公開されています(src/agenticworkspace/memory-backends/types.ts、src/agenticworkspace/adapters/types.ts)。
Python(PyPI の agenticworkspace-cli、python/src/agenticworkspace/__init__.py)
from agenticworkspace import (
adapter_registry,
get_adapter,
memory_backend_registry,
detect_all_memory_backends,
Adapter,
MemoryBackend,
AGENTICWORKSPACE_VERSION,
)
ここでは Adapter と MemoryBackend は TypeScript のインターフェースではなく、abc.ABC クラスです。いずれかを実装し、インスタンスを adapter_registry または memory_backend_registry(通常の Python リスト)に追加すれば、CLI やスキャンコードを変更する必要はありません。このパッケージには py.typed マーカーが含まれているため、型チェッカーは追加設定なしでスタブを認識します。
アダプターのステータス(v0.1)
| アダプター | ステータス |
|---|---|
| Claude Code | 実装済み、エンドツーエンドで動作 |
| Codex | 登録済み、未実装 |
| Cursor | 登録済み、未実装 |

AgenticWorkspace の拡張
AgenticWorkspace は、1 つのプロジェクトですべてを行うのではなく、2 つのプラグインインターフェースを中心に構築されています。
MemoryBackend(src/agenticworkspace/memory-backends/types.ts) -- リポジトリにメモリー/コンテキストツールがすでに設定されているかを検出します。検出処理は読み取り専用である必要があります。Adapter(src/agenticworkspace/adapters/types.ts) --.workspace/のひな形を特定のコーディングツールに接続します。インストール、古さの確認、人が読める説明を担います。
新しいツールをサポートするには、これらのインターフェースのいずれかを実装し、そのフォルダーの registry.ts にインスタンスを登録します。CLI やスキャンコードを変更する必要はありません。未実装のスタブの形式については src/agenticworkspace/adapters/codex/ と .../cursor/ を、完全に動作する実装例については .../claude-code/ を参照してください。
Python パッケージ(pip install agenticworkspace-cli)では、同じ 2 つのインターフェースを abc.ABC クラスとして実装し、同じ登録方法(memory_backend_registry/
adapter_registry、通常の Python リスト)を採用しています。両方の言語での実装例については、
docs/integrations/custom-plugin.md を参照してください。
repo-harness および harnesskit との比較
コーディングエージェント向けに、リポジトリ内のコンテキストやセッション引き継ぎを追跡するという考え方は新しいものではありません。これを構築する前に、すでに提供されているものを確認しました。重複する領域を扱う npm パッケージが 2 つあり、その現在の状況(2026-08-03 に確認)は、これらについての私たちの主張よりも重要です。
| AgenticWorkspace v0.1.3 (npm) / v0.1.1 (PyPI) | repo-harness v0.13.0 | harnesskit v0.1.1 | |
|---|---|---|---|
| npm のアクティビティ | 公開済みバージョン 3 件(0.1.1 -> 0.1.3)、作成日 2026-07-15、最終公開日 2026-08-04 | 公開済みバージョン 46 件、作成日 2026-05-28、最終公開日 2026-08-03(この確認と同じ日) | 公開済みバージョン 2 件、最終公開日 2026-03-20(この確認時点で約 4.5 か月更新なし) |
| GitHub | スター 0 件、フォーク 0 件(新しいリポジトリ) | スター 402 件、フォーク 29 件、最終プッシュ日 2026-08-03 | GitHub リポジトリは現在 404 を返すため、ソースを確認できない |
| Claude Code アダプター | エンドツーエンドで実装済み:実際に動作するフックスクリプトと settings.json の設定があり、ワークスペースを作成するのと同じ実行中に init がインストール | 実装済み:~/.claude/settings.json のフックアダプター | 未検証。ソースも README も確認できなかった(npm ページへのアクセスはブロックされ、GitHub リポジトリも消失) |
| Codex アダプター | アダプターインターフェースには登録済みだが、install() は「not yet implemented」をスローする——何もしないだけの実装ではなく、未実装であることを明示したスタブ | 実装済み:~/.codex/hooks.json のアダプター | 未検証 |
| Cursor アダプター | 登録済み。Codex と同じく、未実装であることを明示したスタブのパターン | 現在の README には一切記載なし(以前の比較ではアーキテクチャドキュメントに言及があったが、この確認時点ではその記載もなくなっている) | 未検証 |
| 段階的なコンテキスト読み込み | 予算を考慮したルートコンテキストファイル(約 12KB)と、オンデマンドで読み込むモジュールごとの機能ブロック | 安定した約 12KB のルートコンテキストと、実際に作業対象となるファイルに限って読み込む約 1KB の機能コントラクト。こちらでは構築していない CodeGraph の構造インデックスを利用 | 未検証 |
| セッション引き継ぎファイル | handoff/ の下にセッションごとのタイムスタンプ付きファイル | .ai/harness/handoff/ ディレクトリと、ワークフロー成果物から派生する tasks/current.md | 未検証 |
| CLI の JSON 出力 | すべてのサブコマンド(scan、status、adapter install、handoff)が、エラー時も含めて --json に対応 | 少なくとも --dry-run --json と state-snapshot --json で JSON 出力に対応 | 未検証 |
| 他のツールを変更せずに検出 | はい:.serena/、GitNexus 形式の設定、repo-harness 自身の .ai/harness/ ディレクトリを確認し、検出したものを報告する。いずれも読み取りも書き込みもしない | 未確認——今回の調査範囲外 | 未検証 |
| プラグイン/拡張モデル | ドキュメント化された TypeScript インターフェースが 2 つ(MemoryBackend、Adapter)。ツールを追加するには、いずれかを実装して登録すればよく、CLI の変更は不要 | README だけでは検証できない。確認にはソースを読む必要がある | 未検証 |
| ホスト型の複数リポジトリダッシュボード | 存在しない。この OSS CLI の一部としても計画されていない | 存在しない。ファイルベースのセルフホスト型ワークフローのみ | 未検証 |
| ドキュメントの言語 | 英語のみ | 英語(主要言語)のほか、中国語(簡体字)、日本語、フランス語、スペイン語 | 未検証 |
確認できた情報は、npm view、GitHub API、repo-harness 自身の README(直接取得)から得たものです。repo-harness を実際のリポジトリに対してインストールして実行したわけではないため、repo-harness について「実装済み」と記した内容は、読んだ README の記載であり、こちらで実際に再現して確認したものではありません。harnesskit について「未検証」とした項目はすべてそのままです。GitHub リポジトリが解決できなくなっており、npm ページへの自動アクセスもブロックされたためです。説明文からツールの機能を推測することはしません。(同じ harnesskit という名前の PyPI パッケージもありますが、別の作者による無関係なプロジェクトです。LLM コーディングエージェント向けの曖昧な文字列置換ツールであり、ここでは対象に含めていません。)
repo-harness の対象範囲は前回確認したときから広がっています。README の中心は、Claude/Codex のフックアダプターに加え、ChatGPT を使った MCP の計画サイドカーから Codex に実行を引き継ぐ構成になっています。この表ですでに扱っている「リポジトリ内のコンテキスト管理と引き継ぎの追跡」よりも、対象範囲が実質的に大きくなっています。2 つのツールを機能単位ではなく、プロジェクト単位で比較する前に知っておく価値があります。 率直に言うと、現時点では、この表のほぼすべての項目で repo-harness のほうが AgenticWorkspace より成熟しています。すでに動作する Claude Code アダプターと Codex アダプターがあり、ドキュメントは5言語に対応しています。2か月あまりで46回リリースするなど、開発も急速に進んでいます。すでに使っていて問題なく動作しているなら、乗り換える理由はありません。
私たちが実際に異なる形で構築した点は、すべてを単一のプロジェクトで実現するのではなく、2つの小さな、ドキュメント化されたインターフェース(ほかのツールを検出する MemoryBackend と、特定のコーディングエージェントに接続する Adapter)を備えたプラグインアーキテクチャを採用したことです。また、repo-harness 自身の .ai/harness/ ディレクトリを検出し、ひそかに重複や競合を起こすのではなく、その存在を報告する明示的な互換性チェックも用意しています。それ以外の点では、現時点では、より定着した CLI に新しく実績のない CLI が挑んでいる状況です。取り繕うつもりはありません。
もうひとつ、明記しておきたいことがあります。Claude Code 自体が、MEMORY.md ベースのファーストパーティのメモリシステムとチーム用メモリストアに加え、未コミットの作業をスナップショットとして保存できる post-session ライフサイクルフックを提供するようになりました。リポジトリの技術スタックをスキャンしたり、AgenticWorkspace のように Claude Code 専用のアダプターをインストールしたりはしませんが、「プラットフォームが標準で提供する機能」と「このようなツールが追加する機能」の差は、この分野が始まった頃より小さくなっています。この種のツールが今後も必要であり続けると決めつける前に、注目しておく価値があります。
何を、なぜ作るのか
コーディングエージェントはセッションが終わるとコンテキストを失います。また、エージェントが各リポジトリで適切に作業するには、毎回手作業で準備が必要です。たとえば、どのような CLAUDE.md や AGENTS.md ファイルを書くか、途中の作業を次のセッションにどう引き継ぐか、どのフックを接続するか、といったことです。こうした準備は繰り返しが多く、間違えやすいうえ、プロジェクトの技術スタックが変わっても更新されないことがほとんどです。
AgenticWorkspace は、その準備のうち、機械的でリポジトリに依存しない部分を自動化します。リポジトリで使われている技術スタックを判定し、モデルにコードベース全体を渡すのではなく、トークン予算内に収まる段階的なコンテキストファイルを書き込み、実際に動作するフックをインストールして、人が手動で引き継ぎメモを書くのに頼らず、Claude Code のセッションで自動的に引き継ぎメモを生成できるようにします。メモリデータベース、セマンティックコードインデックス、ホスト型ダッシュボードを目指すものではありません。これは足場を整える CLI です。一度ファイルを書き込んだら、ほかのツールが後から読み込んだり拡張したりできる形式で提供し、その後は作業の邪魔をしません。
repo-harness がすでに存在し、より多くの支持を得ているのに、なぜ同種のツールをもうひとつ作るのでしょうか(上記の比較表を参照)。率直な答えは、repo-harness に取って代わるためではありません。このプロジェクトは、同じアイデアを Claude Code 優先のより絞り込んだ形で試し、検出コードとアダプターコードを最初から分離しておけるプラグインアーキテクチャを採用すること、そして先行するツールと比べてどのような位置づけにあるのかを、ありのままに公開することを目的としています。
開発
git clone https://github.com/RudrenduPaul/AgenticWorkspace.git
cd AgenticWorkspace
npm install
npm run build
npm test
このリリース時点で、99件すべてのテストが成功しています。プルリクエストを作成する前に、npm run lint、npm run typecheck、npm run test:coverage、npm run build を実行してください。これらは、CI が Node 20.x および 22.x で実行するものと同じ手順です。
Python パッケージの場合は、代わりに次を実行してください。
cd python
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest
Python パッケージの初回リリース時点で、132件すべてのテストが成功しています。Python 固有の開発に関する注意事項は、python/README.md を参照してください。
よくある質問
AgenticWorkspace とは何ですか。また、CLAUDE.md ファイルを手作業で書くのとは何が違いますか?
これはリポジトリをエージェントの作業環境に変換するツールです。1つのコマンド(agenticworkspace init)でリポジトリの技術スタックをスキャンし、段階的でトークン予算に配慮したコンテキストファイルを作成し、実際に動作するフックスクリプトを備えた Claude Code アダプターを、すべて非破壊的な一度の実行でインストールします。手作業でコピーして編集するテンプレートではなく、自動化され、リポジトリに依存しない点が特徴です。また、1つのハードコードされたパイプラインではなく、ドキュメント化された2つのプラグインインターフェース(MemoryBackend、Adapter)を中心に構築されているため、新しいコーディングエージェント用アダプターやメモリバックエンドを追加する際に、CLI やスキャンコードを変更する必要がありません。
インストール要件とプラットフォーム要件は何ですか?
npm パッケージには Node.js 20 以降が必要です(package.json の "engines": { "node": ">=20.0.0" })。Python パッケージには Python 3.9 以降が必要で(python/pyproject.toml の requires-python = ">=3.9")、PyPI では Operating System :: OS Independent に分類されています。どちらのパッケージも、ネイティブ依存関係や OS 固有の依存関係を持たない、通常の Node/Python パッケージです。日々の開発とテストは macOS と Linux で行っており、Windows はメンテナーによる個別の検証を行っていません。
既存の CLAUDE.md、AGENTS.md、または .cursor/rules は変更されますか?
いいえ。init は 4 つの設定ファイル(CLAUDE.md、AGENTS.md、.cursor/rules、.github/copilot-instructions.md)をすべて確認して見つかったものを報告しますが、いずれのファイルにも書き込まず、上書きもしません。
すでに Serena、GitNexus、または repo-harness を使っている場合、競合しますか?
いいえ。検出は読み取り専用です。AgenticWorkspace は .serena/、GitNexus 形式の設定、repo-harness の .ai/harness/ ディレクトリを確認し、scan/status/init の出力で見つかったものを報告しますが、それらの中を読み取ったり、書き込んだり、削除したりすることはありません。
最も実績のある代替手段である repo-harness とは、具体的にどう違いますか?
詳しくは、上記の比較表全文をご覧ください。要点としては、現時点では測定可能なほぼすべての指標で repo-harness のほうが成熟しています(公開済みバージョン数が多く、GitHub のスター数も多く、動作する Codex アダプターがあり、ドキュメントは 5 言語に対応し、MCP プランナーと Codex 実行を組み合わせたより広範な機能範囲を備えています)。AgenticWorkspace の異なる点は、2 つのインターフェースに絞ったプラグインアーキテクチャと、repo-harness 自身の .ai/harness/ ディレクトリとの互換性を明示的に読み取り専用で確認することです。すでに repo-harness が問題なく動作しているなら、この表を理由に切り替える必要はありません。
init が途中で中断された場合はどうなりますか?
次回の init 実行では、残された .init-in-progress マーカー、または欠落した/不正な形式の workspace.json を検出します。その後、対話型ターミナルでは修復、リセット、または中止を促し、非対話型モードまたは --json モードでは、黙って上書きや再開を行う代わりに、終了コード 2 で構造化された JSON エラーを返します。
Codex アダプターや Cursor アダプターは、なぜまだ実装されていないのですか?
どちらも Adapter プラグインインターフェースに isImplemented: false として登録されており、何も行わずに終了するのではなく、実際の状況を正直に示す describe() 文字列を返します。このリポジトリ自身のワークフローで構築・テストされていたアダプターであるため、Claude Code を最初に実装しました。どちらかの実装への貢献も歓迎します。詳しくはAgenticWorkspace の拡張をご覧ください。
ホスト型ダッシュボードや有料プランはありますか? このリポジトリにはありません。この CLI は無料のローカルレイヤーであり、MIT と同等の条件(Apache-2.0)で提供されています。ここには登録が必要なホスト型コンポーネントはありません。
ライセンスは何ですか?商用利用できますか? Apache License 2.0 です(LICENSEをご覧ください)。ライセンスと著作権表示の保持を条件に、特許の明示的な許諾と無保証の条項のもとで、商用利用、改変、私的利用、再配布が認められています。
Python 版はありますか?
はい。ラッパーではなく、Node バイナリを使わない本格的な Python 版です。同じ CLI の形式、同じ .workspace/ 出力、同じ MemoryBackend/Adapter プラグイン契約を備え、インポート可能な独自のライブラリ API もあります(abc.ABC クラスとしての Adapter と MemoryBackend)。Python 固有のインストールと使用方法については、python/README.mdをご覧ください。
貢献
開発環境のセットアップ、PR 前のチェックリスト、新しい MemoryBackend または Adapter の追加に関する具体的な手順については、CONTRIBUTING.mdをご覧ください。セキュリティに関わる変更(生成されるシェルスクリプトに触れるもの)は、同ドキュメントで説明している共通のサニタイズモジュールを必ず経由してください。
ライセンス
Apache 2.0。LICENSEをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。