Products / AI Developer Tools
AgentForge
TypeScript AI agent starter: tools, memory, sandboxed CLI
A runnable TypeScript agent: system prompt → tool-calling loop → Zod tools → memory, with a Repo Helper demo CLI and optional /chat server. Bring your own OpenAI-compatible key.
Value
Problem. Builders rewrite the same tool-calling loop, sandbox, and memory glue for every local agent demo.
How it helps. A runnable TypeScript agent: system prompt → tool-calling loop → Zod tools → memory, with a Repo Helper demo CLI and optional /chat server. Bring your own OpenAI-compatible key.
Why buy. A small, honest agent starter you can fork in an afternoon — not AGI, not LangChain soup.
- Tool-calling loop with max steps and stop conditions
- Sandboxed read_file/write_file; shell disabled by default
- CLI + optional Express /chat; calculator, http_fetch, memory JSONL
How it works
flowchart LR
User["User / CLI /chat"] --> Agent["Agent"]
Agent --> Loop["Planner / Loop"]
Loop --> LLM["OpenAI-compatible"]
Loop --> Tools["Tool Registry"]
Tools --> FS["read/write sandbox"]
Loop --> Memory["Memory"]
Mermaid flowchart (render in GitHub / VS Code / mermaid.live).
Use case
Ask the Repo Helper to write workspace/hello.md and summarize it — tools run inside ./workspace only.
What you get
- Agent façade + loop
- Default tool registry + Repo Helper personality
- CLI and optional server
- 27 Vitest tests (loop, memory, registry, sandbox)
- MIT license
Project structure
agentforge/
src/
agent/ agent.ts, loop.ts
tools/ calculator, FS, httpFetch, shell, registry
memory/ safety/ llm/ demo/ cli/ server/
tests/ workspace/
Quick start
cp .env.example .env # OPENAI_API_KEY
npm install && npm test && npm run build
npm run agent -- "Create workspace/hello.md saying AgentForge works, then summarize it."
Example
From src/tools/registry.ts
const tools = createDefaultRegistry();
// register custom ToolDefinition with Zod schema + execute()
// Agent loop: LLM → tool_calls → execute → append → until final text or max steps
Tested
27 Vitest tests — sandbox path guards, memory ring/JSONL, loop stop conditions, tool registry.
npm test
2026-09-20 — 27 passed; npm run build OK
Design decisions
- Fetch-based OpenAI-compatible client — works with proxies/Azure/local gateways
- Shell off by default; secret-looking paths soft-blocked
- In-process rate-limit stub to reduce runaway provider spam
Limitations
- Not AGI / fully autonomous agents
- Not a multi-tenant secure runtime — do not expose /chat publicly without auth
- Anthropic not wired natively (use OpenAI-compatible proxy)
- Shell tool is dangerous if enabled
Who it’s for
Indie builders shipping local copilots / agents who want a readable TypeScript spine.
Not for: Teams needing a hosted agent cloud or enterprise multi-tenant sandbox.
What you own
Full MIT-licensed TypeScript source via Gumroad ZIP. Fork it, ship it commercially, keep the license notice. You are responsible for secrets, hardening, and production ops.
Related
McpForge · RagPipe · PromptKit · EvalHarness
Demo