
Agenticworkspace
io.github.RudrenduPaul由 GitHub 帳號 RudrenduPaul 發布v0.1.4更新於 Oct 24, 2026
Wraps the AgenticWorkspace CLI as a single generic MCP tool for repo workspace scans.
概覽
把 AgenticWorkspace CLI 包裝成單一通用 MCP 工具,讓助理能掃描程式庫並產生 .workspace/ 脈絡目錄。
- 可以做什麼
- 這個伺服器把 AgenticWorkspace CLI 包成一個工具 run(args),用給定的參數清單呼叫已安裝的命令列程式,並回傳解析後的結果。透過它,助理可以觸及所有子命令:init(掃描程式庫並寫入 .workspace/ 鷹架與 Claude Code 轉接器)、scan(只偵測技術堆疊與既有 agent 工具,不寫入)、status(工作區健康狀態)、adapter install,以及 handoff new(寫入帶時間戳的 session 交接檔)。缺少執行檔、逾時、非零結束碼或輸出無法解析等失敗情況,都會以錯誤字典回傳,而不是拋出例外。
- 適用情境
- 當助理需要在不自行呼叫命令列並解析文字的情況下,建立或檢查程式庫本地的 agent 脈絡時使用:偵測專案技術堆疊、產生受 token 預算限制的根脈絡檔、檢查工作區健康狀態,或記錄 session 交接。它面向編碼 agent 工作流程,尤其是 Claude Code。
- 執行需求
- 以 stdio 在本機執行,指令為 agenticworkspace-mcp,需從 PyPI 套件 agenticworkspace-cli 安裝並加上 mcp 額外項目。由於這個工具會呼叫命令列程式,底層的 agenticworkspace CLI 必須已安裝並在 PATH 中。未宣告任何驗證、環境變數或標頭。僅限桌面端,不是網頁可執行程式。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Agenticworkspace,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
AgenticWorkspace
[CI] [License: Apache-2.0] [npm version] [Node >= 20] [PyPI version]
Point it at any repo. It detects the stack, writes a .workspace/ directory with progressive
context and session handoffs, and installs a working Claude Code adapter, all in one command.
This is a v0.1 release. Zero installs, zero GitHub stars, first release. 99/99 JavaScript tests and 132/132 Python tests pass. It does what's described below and nothing more. There's an honest comparison against the other tools already working in this space further down, so you can decide if AgenticWorkspace is actually worth trying before you run it.
Table of contents
- Install
- Features
- Quickstart
- CLI reference
- The
.workspace/directory - Library API reference
- Adapter status
- Extending AgenticWorkspace
- How this compares to repo-harness and harnesskit
- What and why
- Development
- FAQ
- Contributing
- License
Install
AgenticWorkspace ships two independent, equally first-class packages that
implement the same scan/scaffold/adapter pipeline and read/write the same
.workspace/ directory shape -- pick whichever fits your toolchain, or
install both. Neither is deprecated in favor of the other.
To install from source instead:
For repeat use with the npm package, install it globally:
The Python package's CLI entry point is also agenticworkspace (e.g.
agenticworkspace init --path ./my-app); see
python/README.md and
docs/getting-started.md for the Python-specific
walkthrough.
To build the TypeScript package from source instead:
Features
Everything below is verified against the actual source in this repo, not aspirational.
- Real stack detection -- language (JavaScript/TypeScript, Python, lighter-weight signals for
Rust/Go/Ruby), package manager (npm/pnpm/yarn), and monorepo package count, read from real
manifest files (
src/agenticworkspace/scan/stack-detector.ts). - Non-destructive by default -- checks for
CLAUDE.md,AGENTS.md,.cursor/rules, and.github/copilot-instructions.mdand never overwrites them (src/agenticworkspace/scan/config-detector.ts). - Detects other agent-memory tooling without touching it -- looks for a
.serena/directory, a GitNexus-style config, or repo-harness's own.ai/harness/directory, reports what it finds, and never reads or writes any of them (src/agenticworkspace/memory-backends/). - A real, working Claude Code adapter -- writes actual hook scripts for session start,
pre-tool-call, and session-end handoff generation, wired into
.workspace/adapters/claude-code/settings.json(src/agenticworkspace/adapters/claude-code/install.ts). - Structured JSON output on every subcommand --
init,scan,status,adapter install, andhandoff newall support--json, including on error paths (a nonexistent--path, a missing workspace, an unimplemented adapter), so a calling agent never has to parse human-readable text or guess at exit codes. - Two documented plugin interfaces, not a hardcoded pipeline --
MemoryBackend(src/agenticworkspace/memory-backends/types.ts) andAdapter(src/agenticworkspace/adapters/types.ts). Adding a new tool means implementing one interface and registering it (registry.tsin each folder); no changes to CLI or scan code are required. See Extending AgenticWorkspace below. - Shell-injection-safe hook generation -- every scanned value (module names, paths) that ends
up embedded in a generated shell script passes through an allowlist and quoting check first
(
src/agenticworkspace/util/sanitize.ts), covered by 30 dedicated unit tests (confirmed by running the suite directly, including the parameterized rejection cases). - Partial-state recovery -- an interrupted or malformed prior
initrun is detected and surfaced (interactive repair/reset/abort prompt, or a structured JSON error with a dedicated exit code in--jsonmode) instead of being silently overwritten or resumed (src/agenticworkspace/state/partial-state.ts).
Quickstart
A real run against a small two-file JavaScript repo (target path shortened to /Users/you/my-app
for readability, every field value below is the actual output):
The agenticworkspace_version field in that output is a version string tracked separately from
the package's own npm/PyPI version (they can drift; treat it as an internal schema marker, not the
package version you installed).
That single run wrote seven real files on disk:
Drop --json for a human-readable version of the same run:
Checking workspace health and writing a session handoff on that same repo, real output:
See docs/usage.gif for a recorded run of handoff new and status together.
Features
Everything below is verified against the actual source in this repo, not aspirational.
- Real stack detection -- language (JavaScript/TypeScript, Python, lighter-weight signals for
Rust/Go/Ruby), package manager (npm/pnpm/yarn), and monorepo package count, read from real
manifest files (
src/agenticworkspace/scan/stack-detector.ts). - Non-destructive by default -- checks for
CLAUDE.md,AGENTS.md,.cursor/rules, and.github/copilot-instructions.mdand never overwrites them (src/agenticworkspace/scan/config-detector.ts). - Detects other agent-memory tooling without touching it -- looks for a
.serena/directory, a GitNexus-style config, or repo-harness's own.ai/harness/directory, reports what it finds, and never reads or writes any of them (src/agenticworkspace/memory-backends/). - A real, working Claude Code adapter -- writes actual hook scripts for session start,
pre-tool-call, and session-end handoff generation, wired into
.workspace/adapters/claude-code/settings.json(src/agenticworkspace/adapters/claude-code/install.ts). - Structured JSON output on every subcommand --
init,scan,status,adapter install, andhandoff newall support--json, including on error paths (a nonexistent--path, a missing workspace, an unimplemented adapter), so a calling agent never has to parse human-readable text or guess at exit codes. - Two documented plugin interfaces, not a hardcoded pipeline --
MemoryBackend(src/agenticworkspace/memory-backends/types.ts) andAdapter(src/agenticworkspace/adapters/types.ts). Adding a new tool means implementing one interface and registering it (registry.tsin each folder); no changes to CLI or scan code are required. See Extending AgenticWorkspace below. - Shell-injection-safe hook generation -- every scanned value (module names, paths) that ends
up embedded in a generated shell script passes through an allowlist and quoting check first
(
src/agenticworkspace/util/sanitize.ts), covered by 30 dedicated unit tests. - Partial-state recovery -- an interrupted or malformed prior
initrun is detected and surfaced (interactive repair/reset/abort prompt, or a structured JSON error with a dedicated exit code in--jsonmode) instead of being silently overwritten or resumed (src/agenticworkspace/state/partial-state.ts).
CLI reference
Every command accepts -p, --path <path> (defaults to the current directory) and --json
(structured output instead of the human-readable default). Reference below is the actual
--help output from a locally built agenticworkspace binary.
Exit codes are stable across --json and human-readable modes, so a script can branch on them
without parsing text. Verified directly: adapter install codex exits 3 with a "NOT YET
IMPLEMENTED" message, and status against a target with no .workspace/ exits 4.
MCP Server
The Python package ships a Model Context Protocol (MCP) server, so an MCP-capable agent (Claude Desktop, Claude Code, or any other MCP client) can call AgenticWorkspace as a tool instead of shelling out to the CLI and parsing text itself.
Add it to your MCP client config (stdio transport):
It exposes a single tool, run(args: list[str]) -> dict, that shells out to the installed
agenticworkspace CLI with the given argument list and returns its parsed result -- every
subcommand (init, scan, status, adapter install, handoff new) is reachable through it, so
the MCP surface never drifts out of sync with the CLI as new subcommands are added. Every failure
mode (missing binary, timeout, non-zero exit, unparsable output) comes back as a {"error": ...}
dict instead of raising. Example call and result:
The .workspace/ directory
Library API reference
Both packages export their scan/scaffold/adapter logic for programmatic use in addition to the CLI binary. Signatures below are grepped directly from source.
TypeScript (agenticworkspace-cli, src/agenticworkspace/index.ts)
MemoryBackend and Adapter are exported as TypeScript types for anyone implementing a new
plugin (src/agenticworkspace/memory-backends/types.ts, src/agenticworkspace/adapters/types.ts).
Python (agenticworkspace-cli on PyPI, python/src/agenticworkspace/__init__.py)
Adapter and MemoryBackend are abc.ABC classes here rather than TypeScript interfaces --
implement one, add an instance to adapter_registry or memory_backend_registry (plain Python
lists), and no CLI or scan code changes are required. The package ships a py.typed marker, so
type checkers pick up its stubs without extra configuration.
Adapter status (v0.1)
Extending AgenticWorkspace
AgenticWorkspace is built around two plugin interfaces, not one project doing everything itself:
MemoryBackend(src/agenticworkspace/memory-backends/types.ts) -- detects whether a repo already has a memory/context tool wired in. Detection must stay read-only.Adapter(src/agenticworkspace/adapters/types.ts) -- wires the.workspace/scaffold into a specific coding tool: install, staleness check, and a human-readable description.
Adding support for a new tool means implementing one of these interfaces and registering an
instance in that folder's registry.ts; no changes to the CLI or scan code are required. See
src/agenticworkspace/adapters/codex/ and .../cursor/ for the shape a not-yet-implemented stub
takes (isImplemented: false plus a real describe() string), and .../claude-code/ for a fully
working reference implementation.
The Python package (pip install agenticworkspace-cli) implements the same two interfaces as
abc.ABC classes with the same registration contract (memory_backend_registry /
adapter_registry, plain Python lists) -- see
docs/integrations/custom-plugin.md for a worked example in
both languages.
How this compares to repo-harness and harnesskit
Repo-local context and session-handoff tracking for coding agents is not a new idea. Before building this, we checked what's already shipping. Two npm packages cover overlapping ground, and their current state (checked 2026-08-03) matters more than any of our own claims about them:
What we could verify came from npm view, the GitHub API, and repo-harness's own README (fetched
directly). We did not install and run repo-harness against a real repo ourselves, so anything
marked "implemented" for it is a README claim we read, not a claim we reproduced firsthand.
Everything marked "unverified" for harnesskit stayed that way because its GitHub repository no
longer resolves and its npm page blocked automated fetches; we are not going to guess at what a
tool does from a description string. (A PyPI package also named harnesskit exists, but it is a
different, unrelated project by a different author -- a fuzzy string-replace tool for LLM coding
agents -- and we are not counting it here.)
repo-harness's own scope has grown since we last checked it: its README now centers on a ChatGPT-driven MCP planning sidecar handing off to Codex for execution, on top of the Claude/Codex hook adapters this table already covers. That is a materially bigger surface than "repo-local context and handoff tracking," and worth knowing before you compare the two tools project-to-project rather than feature-to-feature.
The honest read: repo-harness is more mature than AgenticWorkspace on almost every dimension in this table right now. It already has a working Claude Code adapter, a working Codex adapter, and five languages of documentation. It has been iterating fast (46 versions in a little over two months). If you already use it and it works for you, there's no reason to switch.
What we actually built differently: a plugin architecture with two small, documented interfaces
(MemoryBackend for detecting other tools, Adapter for wiring into a specific coding agent)
instead of one project doing everything itself, and an explicit compatibility check that detects
repo-harness's own .ai/harness/ directory and reports it rather than silently duplicating or
conflicting with it. Beyond that, right now, this is a new, unproven CLI going up against a more
established one. We're not going to dress that up.
One more thing worth naming: Claude Code itself now ships a first-party MEMORY.md-based memory
system and team memory stores, plus a post-session lifecycle hook that can snapshot uncommitted
work. It doesn't scan a repo's stack or install a Claude-Code-specific adapter the way
AgenticWorkspace does, but the gap between "what the platform does natively" and "what a tool like
this adds" is narrower than it was when this category started, and it's worth watching before
assuming any of this tooling stays necessary.
What and why
Coding agents lose context the moment a session ends, and every repo needs its own manual setup before an agent can work in it well: what CLAUDE.md or AGENTS.md file to write, how to hand off partial work to the next session, which hooks to wire up. That setup is repetitive, easy to get wrong, and rarely kept up to date as a project's stack changes.
AgenticWorkspace automates the parts of that setup that are mechanical and repo-agnostic: figuring out what stack a repo uses, writing a progressive context file sized to stay inside a token budget instead of the model's entire codebase, and installing real hooks so a Claude Code session generates a handoff note automatically instead of relying on a human to write one down. It does not try to be a memory database, a semantic code index, or a hosted dashboard. It is a scaffolding CLI: it writes files once, in a format any of those other tools could later read or extend, and then gets out of the way.
Why build another one of these when repo-harness already exists and has more traction (see the comparison table above)? Because the honest answer is: not to displace it. This project exists to test a narrower, Claude-Code-first version of the same idea with a plugin architecture that keeps detection and adapter code decoupled from day one, and to be upfront in public about exactly how it stacks up against the tool that got there first.
Development
99/99 tests pass as of this release. Before opening a pull request, run npm run lint,
npm run typecheck, npm run test:coverage, and npm run build -- the same steps CI runs on
Node 20.x and 22.x.
For the Python package instead:
132/132 tests pass as of the Python package's initial release. See
python/README.md for the Python-specific development notes.
FAQ
What is AgenticWorkspace, and what makes it different from writing a CLAUDE.md file by hand?
It is a repo-to-agent-workspace converter: a single command (agenticworkspace init) scans a
repo's stack, writes a progressive, token-budgeted context file, and installs a working Claude
Code adapter with real hook scripts, all in one non-destructive run. The differentiator is that
this is automated and repo-agnostic rather than a template you copy and edit by hand, and it is
built around two documented plugin interfaces (MemoryBackend, Adapter) instead of one
hardcoded pipeline, so adding a new coding-agent adapter or memory backend does not require
touching the CLI or scan code.
What are the install and platform requirements?
The npm package requires Node.js 20 or later ("engines": { "node": ">=20.0.0" } in
package.json). The Python package requires Python 3.9 or later (requires-python = ">=3.9" in
python/pyproject.toml) and is classified Operating System :: OS Independent on PyPI. Both
packages are plain Node/Python with no native or OS-specific dependencies; day-to-day development
and testing happen on macOS and Linux, and Windows has not been separately verified by the
maintainers.
Does this modify my existing CLAUDE.md, AGENTS.md, or .cursor/rules?
No. init checks for all four config files (CLAUDE.md, AGENTS.md, .cursor/rules,
.github/copilot-instructions.md) and reports what it finds, but never writes to or overwrites any
of them.
Does this conflict with Serena, GitNexus, or repo-harness if I already use one of them?
No. Detection is read-only: AgenticWorkspace checks for .serena/, a GitNexus-style config, and
repo-harness's .ai/harness/ directory, reports what it finds in scan/status/init output, and
never reads, writes, or deletes anything inside them.
How does this actually compare to repo-harness, the most established alternative?
See the full comparison table above for the
complete, dated breakdown. In short: repo-harness is more mature on almost every measurable axis
right now (more published versions, more GitHub stars, a working Codex adapter, five documentation
languages, and a broader MCP-planner-plus-Codex-execution scope). What AgenticWorkspace does
differently is a smaller, two-interface plugin architecture and an explicit, read-only
compatibility check for repo-harness's own .ai/harness/ directory. If repo-harness already works
for you, there is no reason in this table to switch.
What happens if init gets interrupted halfway through?
The next init run detects the leftover .init-in-progress marker or a missing/malformed
workspace.json and either prompts you to repair, reset, or abort (interactive terminal), or
returns a structured JSON error with exit code 2 (non-interactive or --json mode) instead of
silently overwriting or resuming.
Why isn't the Codex or Cursor adapter implemented yet?
Both are registered in the Adapter plugin interface with isImplemented: false and a real, honest
describe() string rather than a silent no-op. Claude Code was built first because that is the
adapter this repo's own workflow was built and tested against. Contributions implementing either are
welcome, see Extending AgenticWorkspace.
Is there a hosted dashboard or paid tier? Not in this repository. This CLI is the free, local, MIT-comparable (Apache-2.0) layer. There is no hosted component here to sign up for.
What license is this, and can I use it commercially? Apache License 2.0 (see LICENSE). It permits commercial use, modification, private use, and distribution, and includes an express patent grant, subject to preserving the license and copyright notice and carrying no warranty.
Is there a Python version?
Yes -- a genuine Python port (not a wrapper around the Node binary), with the same CLI shape, the
same .workspace/ output, and the same MemoryBackend/Adapter plugin contract, plus its own
importable library surface (Adapter and MemoryBackend as abc.ABC classes). See
python/README.md for the Python-specific install and usage walkthrough.
Contributing
See CONTRIBUTING.md for the development setup, the pre-PR checklist, and
concrete instructions for adding a new MemoryBackend or Adapter. Security-sensitive changes
(anything that touches generated shell scripts) must go through the shared sanitization module
described there.
License
Apache 2.0. See LICENSE.
來源:README.md,提交 e4e2b9e
工具
0版本歷史
1- v0.1.4最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分