Sandbox
@smithersai/smithers

TypeScript workflow framework for agent-run codebases

Smithers defines workflows in TypeScript config files and runs them against a code repository. Agents use those flows to plan work, execute changes, and review results with the repository’s own context nearby.

410 stars50 forksTypeScriptUpdated 7d ago
Who it's for

Builders who want to guide Claude Code, Codex, or other agents through repeatable repository workflows.

What it delivers

You can make agent-led changes faster, more durable, and easier to review.

What it does

Flow definitions in TypeScript

Workflows are declared as TypeScript files beside the code, so the rules for a task live with the repository.

Agentic execution

Agents can plan, run, and review changes through the defined flows instead of working ad hoc.

Repository-local workspace config

The `.smithers/` files hold workspace, factory, and target index settings for a project.

CLI startup commands

The README shows `smthrs init change` to scaffold a flow and `smthrs up change` to run it.

How to get it

  1. 1The 1.0 release candidate is not on npm yet. Use the source-checkout installation until…
    npm install --global @smthrs/cli@next

README

███████╗███╗   ███╗██╗████████╗██╗  ██╗███████╗██████╗ ███████╗
██╔════╝████╗ ████║██║╚══██╔══╝██║  ██║██╔════╝██╔══██╗██╔════╝
███████╗██╔████╔██║██║   ██║   ███████║█████╗  ██████╔╝███████╗
╚════██║██║╚██╔╝██║██║   ██║   ██╔══██║██╔══╝  ██╔══██╗╚════██║
███████║██║ ╚═╝ ██║██║   ██║   ██║  ██║███████╗██║  ██║███████║
╚══════╝╚═╝     ╚═╝╚═╝   ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚══════╝

Build smart workflows for your codebase. Enable agents to work smarter, faster, and cheaper.

Smithers instruments and automates a code repository so changes get cheaper, faster, and smarter. Agents plan, run, and review changes through flows declared beside the code.

Open Smithers

Open the Smithers repository in your browser. Explore its files, ask for a task in chat, and inspect runs and changes in the conversation. The hosted private alpha is free for selected public repositories. Sign in with GitHub when you are ready to contribute. Follow the app quickstart.

The Smithers app with its repository home, featured flows, and conversation.

For local execution and authoring, use the CLI and libraries described below.

Supported platforms

The release candidate's required package platform is Linux with Node 22.19.0. macOS and Windows package checks are advisory and do not establish a support guarantee.

Offline Chromium tests cover the included web UI. Packaged desktop and hosted deployments require separate acceptance evidence.

Install

The 1.0 release candidate is not on npm yet. Use the source-checkout installation until publication. After publication, install it with:

npm install --global @smthrs/cli@next

Get started

Run these commands from your project directory. Before launching, edit the scaffolded flow and configure the credential its model: field requires. The CLI quickstart covers each step.

smthrs init change
smthrs up change

[!TIP] Ask your agent to help you figure out how Smithers can help you and your project, based on everything it knows about you.

Documentation

Read the Smithers documentation for tutorials, guides, and the full reference. For the top-level build API, keep the Smithers API cheat sheet handy: one file of TypeScript examples covering the whole Smithers.* surface.

Contributing

See CONTRIBUTING.md for local setup, testing, and pull request guidance.

License

Smithers is MIT licensed. See LICENSE for details.

Join our community

Join the Smithers community on Telegram.

Files in the repo

Repository payload41 top-level entries
  • .github
  • .smithers
  • apps
  • crates
  • evals
  • examples
  • factory
  • flows
  • packages
  • scripts
  • .dockerignore
  • .editorconfig
  • .git-blame-ignore-revs
  • .gitattributes
  • .gitignore
  • .npmrc
  • .pnpmfile.mjs
  • bun.lock
  • Cargo.lock
  • Cargo.toml
  • CHANGELOG.md
  • CONTRIBUTING.md
  • eslint.config.js
  • eslint.invariants.js
  • eslint.jsdoc.js
  • eslint.jsdoc.test.mjs
  • flake.lock
  • flake.nix
  • LICENSE
  • MONDAY_RELEASE_REVIEW.md
  • package.json
  • PACKAGE.ts
  • pnpm-lock.yaml
  • pnpm-workspace.yaml
  • README.md
  • rust-toolchain.toml
  • SECURITY.md
  • TESTING_REVIEW.md
  • THIRD_PARTY_NOTICES.md
  • tsconfig.base.json
  • tsconfig.json

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More frameworks & sdks

HKUDS/nanobotFrameworks & SDKs

Ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps

48k
microsoft/
SkillOpt
microsoft/SkillOptFrameworks & SDKs

SkillOpt is a text-space optimizer that trains reusable natural-language skills for frozen LLM agents through trajectory-driven edits, validation-gated updates, and deployable best_skill.md artifacts.

17k
omnigent-ai/omnigentFrameworks & SDKs

Omnigent is an open-source AI agent framework and meta-harness: orchestrate Claude Code, Codex, Cursor, Pi, and custom agents — swap harnesses without rewriting, enforce policies and sandboxing, and collaborate in real time from any device.

9.8k
kyegomez/
OpenMythos
kyegomez/OpenMythosFrameworks & SDKs

A theoretical reconstruction of the Claude Mythos architecture, built from first principles using the available research literature.

15k
D4Vinci/ScraplingFrameworks & SDKs

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

80k