Skip to main content

add-tool

Scaffold a new Forge tool — implementation, registration, permission/risk metadata, sandbox routing, and a unit test. Use when adding anything to src/tools/.

インストールへ移動

ソース情報

リポジトリ
hoangsonww/Forge-Agentic-Coding-CLI
ソースの最終更新活動
2026年4月20日 21:15
検出された SKILL.md の言語
英語
スター
22
フォーク
9

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
add-tool
description
Scaffold a new Forge tool — implementation, registration, permission/risk metadata, sandbox routing, and a unit test. Use when adding anything to src/tools/.
# add-tool Four places change. Do all four or the tool is half-registered. 1. **`src/tools/<name>.ts`** — the tool module. - `zod` schemas for input and output. - Declare `sideEffect` (`none|read|write|network|exec`) and `risk` (`low|medium|high|critical`). Be honest — these drive permission prompts and auto-approval. - All filesystem access via `src/sandbox/fs.ts` helpers. - All shell commands via `src/sandbox/shell.ts` + `classifyCommandRisk`. - Request permission via `requestPermission` (`src/permissions/manager.ts`) **before** the side effect. - Return `{ ok, data }` / `{ ok: false, error }`. Throw only for programmer errors, using `ForgeRuntimeError`. 2. **Registration** — wire into the registry following the pattern in an existing tool like `src/tools/read-file.ts`. 3. **`test/unit/<name>.test.ts`** — at minimum: - happy path, - zod rejection on invalid input, - permission denied → structured error (not throw), - path-escape refused by sandbox, - (if shell) critical command hard-blocked. Use `vi.mock` for the permission manager and sandbox boundaries. 4. **Docs** — if user-visible, update the tools table in `docs/ARCHITECTURE.md` and the README "At a glance" count. Finish with the `verify` skill.
GitHubで見る