Skip to content

Coding Agents That Actually Use Your Tools

Telling an agent that CmdForge exists is not enough. It needs a catalog it can read, a cheap path for one-off work, and a rule for when a reusable tool is worth creating. CmdForge now provides all three.

The Adoption Loop

  1. Discover: inspect local tools in compact JSON.
  2. Search: query the registry when nothing local fits.
  3. Improvise: use run-once for work that will not repeat.
  4. Promote: turn repeated work into a project-owned tool.
cmdforge list --json --filter "release notes" --limit 10
cmdforge registry search "release notes" --json --limit 5
git diff | cmdforge run-once "Summarize this change:

{input}"
echo "Create release notes from a Git diff"   | forge-tool --name release-notes --project

Install the Connection and the Policy

# Codex uses user-scoped MCP registration
cmdforge mcp configure codex --dry-run
cmdforge mcp configure codex

# Claude Code can use local, project, or user scope
cmdforge mcp configure claude-code --scope project --dry-run
cmdforge mcp configure claude-code --scope project

CmdForge invokes the host's own MCP command. It also inserts or refreshes only the text between its managed markers in AGENTS.md or CLAUDE.md. Your surrounding instructions remain yours.

Expose Capabilities, Not Your Entire Home Directory

The agent can only call tools selected by the MCP server policy:

server:
  expose: [review-code, commit-msg, project-*]
  deny: [project-publish, project-deploy]

Start with two or three low-risk tools. Add a tool after you understand its code steps, MCP calls, provider, and data flow.

Put Project Tools in the Project

cd ~/Projects/acme
cmdforge create classify-incident --project

# AI-assisted creation
cmdforge registry install official/forge-tool
echo "Classify a bounded incident packet and return cited JSON"   | forge-tool --name classify-incident --project

This creates ./.cmdforge/classify-incident/. Review and commit it with the application. Do not edit CmdForge's source repository to add a consumer project's tool.

When a Direct API Is Still Right

CmdForge is ideal for local automation, composition, experimentation, and workflows users should be able to inspect or replace. A direct SDK belongs in product code when the external service is an intentional runtime dependency with application-owned retries, billing, and service-level behavior.

Give Sensitive Work an Explicit Contract

cmdforge run classify-incident   --provider local-ollama   --no-fallback   --require-local   --require-capability structured-json   --data-classification private   --require-model-identity   --result-envelope json

The provenance envelope is produced by CmdForge, not by the model. The caller can verify which provider and model actually ran before accepting the result.