Open source · MITv0.9 — scheduled runs

Build agents like
you ship web apps.

Frond is the open-source TypeScript framework where an agent is just a folder — Markdown instructions, typed tools, durable runs. Deploy it anywhere Node runs.

How it works
Why Frond

The boring parts, already built.

Checkpointing, sandboxes, retries, channel plumbing — the infrastructure every agent needs and no one wants to write twice.

plan reviewcheckpoint saved1.2s
provider timeoutresumed from checkpoint0.04s
post review6 comments, 1 blockingrunning

Durable by default

Every run is checkpointed. Crash mid-task, redeploy, or hit a rate limit — the agent picks up exactly where it left off.

my-agent4 files
instructions.mdmd
tools/diff.tsts
skills/review.mdmd
channels/slack.tsts

An agent is a folder

Instructions in Markdown, tools in TypeScript, skills as playbooks. The file system is the framework — nothing to register.

input: z.object({
pr: z.number()
})
registered

Typed tools

Drop a file in tools/ and it becomes callable. Zod schemas in, typed results out.

/workspaceisolated

own fs · own network · disposable

Sandboxed runs

Every agent executes in an isolated workspace. Swap the backend with one file.

SlackDiscordTelegramWhatsAppGmailXSlackDiscordTelegramWhatsAppGmailX
SlackDiscordTelegramWhatsAppGmailXSlackDiscordTelegramWhatsAppGmailX

Every channel

The same folder answers everywhere you work. Channels are adapters, not rewrites.

Zero config

One command, sensible defaults, deploys anywhere Node runs.

$ npx frond init my-agent
File conventions

An agent is a directory.

One Markdown file is a working agent. Tools, skills, and channels are just files you add as it grows — no registration, no config graph, nothing to wire up.

1# Role2 3You are a meticulous code-review agent.4You review pull requests for correctness,5naming, and missing tests  then leave6actionable comments, never nitpicks.

An instructions.md file is a complete agent. Describe the job in Markdown and run it.

Durable runs

Crashes happen.
Runs finish anyway.

Every step is checkpointed as it completes. When a provider times out or a deploy restarts the process, the run resumes from the last checkpoint — not from zero.

Checkpoint every step

State is persisted as each step completes — plans, tool results, partial replies.

Resume from exact state

Timeouts, crashes, and deploys pick up mid-run. No repeated tool calls, no lost work.

Replay any run

Every run is a readable trace you can audit, replay, and turn into a test.

run_01hx2
PR openedrunning…
Plan3 files, 2 risky
tools/diff.tsfetched 412 lines
provider timeoutresumed from checkpoint
skills/review.mdloaded playbook
Review posted6 comments, 1 blocking

step 1/6 · running

In the wild

Small framework. Large fleet.

24k+

GitHub stars

and climbing

512k

Weekly installs

on npm

380+

Contributors

since day one

41ms

Cold start

p50, any runtime

FAQ

Questions,
answered.

Everything you need to know before your first frond init. Still stuck? Ask on GitHub.

An open-source TypeScript framework for building agents. You describe an agent in a folder — instructions in Markdown, tools and channels in TypeScript — and Frond runs it with durability, sandboxing, and multi-channel delivery built in.
Open source · MIT · self-host anywhere

Your next agent is
one folder away.

Scaffold a working agent in seconds, wire in tools and channels as you grow, and ship it wherever Node runs.

Star on GitHubRead the docs
24.1k
GitHub stars
512k
Weekly installs
MIT
License