Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ bun install # or pnpm / npm install
You'll need the Smithers CLI and a coding agent on your PATH:

```bash
bun add -g smithers-orchestrator # provides the `smithers` command
bun add -g smthrs # provides the `smithers` command
```

Run any workflow by path:
Expand Down
2 changes: 1 addition & 1 deletion agents.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
// they all point at one local Claude Code agent. Swap in different models or
// providers per role (AnthropicAgent, CodexAgent, GeminiAgent, …) and every
// workflow picks up the change without edits. See `smithers agent add`.
import { type AgentLike, ClaudeCodeAgent } from "smithers-orchestrator";
import { type AgentLike, ClaudeCodeAgent } from "smthrs";

export const providers = {
claude1: new ClaudeCodeAgent({ cwd: process.cwd(), yolo: true }),
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"smithers-orchestrator": "^0.22.0",
"smthrs": "^0.33.0",
"zod": "^4.3.6"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"module": "ESNext",
"moduleDetection": "force",
"jsx": "react-jsx",
"jsxImportSource": "smithers-orchestrator",
"jsxImportSource": "smthrs",
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"noEmit": true,
Expand Down
4 changes: 2 additions & 2 deletions workflows/brain-dump-to-plan.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// smithers-source: authored
// smithers-display-name: Brain Dump → Plan
/** @jsxImportSource smithers-orchestrator */
/** @jsxImportSource smthrs */
//
// HACK: "The moment you have an idea, make a plan.md. The thinking goes in the
// plan; the execution is mechanical." — and the same method works for
Expand All @@ -15,7 +15,7 @@
// smithers up brain-dump-to-plan.tsx --input '{"prompt":"add per-org rate limits"}'
// smithers up brain-dump-to-plan.tsx --input '{"prompt":"Q3 GTM strategy","mode":"prose"}'

import { createSmithers } from "smithers-orchestrator";
import { createSmithers } from "smthrs";
import { z } from "zod/v4";
import { agents } from "../agents";

Expand Down
4 changes: 2 additions & 2 deletions workflows/compound-build.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// smithers-source: authored
// smithers-display-name: Compound Build (trust the plan)
/** @jsxImportSource smithers-orchestrator */
/** @jsxImportSource smthrs */
//
// HACK: "Trust the plan — don't read it, just /ce-work it." Compound engineering:
// the agent builds, *something checks the build*, and on failure it loops
Expand All @@ -12,7 +12,7 @@
// smithers up compound-build.tsx --input '{"plan":"plan.md"}'
// smithers up compound-build.tsx -d # background; check `smithers ps`

import { createSmithers } from "smithers-orchestrator";
import { createSmithers } from "smthrs";
import { z } from "zod/v4";
import { agents } from "../agents";

Expand Down
4 changes: 2 additions & 2 deletions workflows/errand-runner.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// smithers-source: authored
// smithers-display-name: Errand Runner (real-world CLIs)
/** @jsxImportSource smithers-orchestrator */
/** @jsxImportSource smthrs */
//
// HACK: "Build custom CLIs (Printing Press) so agents run real-world errands —
// preheat the Tesla, order groceries, book a thing." The catch the
Expand All @@ -17,7 +17,7 @@
// "errand":"preheat the car to 72F and start grocery order for the usual",
// "cli":"tesla climate on --temp 72" }'

import { createSmithers } from "smithers-orchestrator";
import { createSmithers } from "smthrs";
import { z } from "zod/v4";
import { agents } from "../agents";

Expand Down
4 changes: 2 additions & 2 deletions workflows/fan-out-tabs.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// smithers-source: authored
// smithers-display-name: Fan Out (replace cmux tabs)
/** @jsxImportSource smithers-orchestrator */
/** @jsxImportSource smthrs */
//
// HACK: "Run 4–6 concurrent cmux tabs, each its own session." That's manual
// fan-out: you, the human, are the scheduler — opening tabs, remembering
Expand All @@ -14,7 +14,7 @@
// "tasks":["upgrade eslint to v9","add OG tags to /blog","fix flaky auth test"],
// "concurrency":3 }'

import { createSmithers } from "smithers-orchestrator";
import { createSmithers } from "smthrs";
import { z } from "zod/v4";
import { agents } from "../agents";

Expand Down
4 changes: 2 additions & 2 deletions workflows/inbox-agent.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// smithers-source: authored
// smithers-display-name: Inbox Agent (email-triggered)
/** @jsxImportSource smithers-orchestrator */
/** @jsxImportSource smthrs */
//
// HACK: "AgentMail — email triggers a session." The deep version of "become the
// signal": the work doesn't start when you sit down, it starts when an
Expand All @@ -15,7 +15,7 @@
// # AgentMail webhook → Gateway delivers the event:
// smithers signal <run-id> inbound-email --payload '{"from":"...","subject":"...","body":"..."}'

import { createSmithers, WaitForEvent } from "smithers-orchestrator";
import { createSmithers, WaitForEvent } from "smthrs";
import { z } from "zod/v4";
import { agents } from "../agents";

Expand Down
4 changes: 2 additions & 2 deletions workflows/knowledge-recall.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// smithers-source: authored
// smithers-display-name: Knowledge Recall (your second brain)
/** @jsxImportSource smithers-orchestrator */
/** @jsxImportSource smthrs */
//
// HACK: "Point agents at your Bear/Obsidian/Notion vault — accumulated context
// compounds, improving every decision." The vault is two things: a
Expand All @@ -14,7 +14,7 @@
// "question":"should we adopt tRPC or stick with REST for the new service?",
// "vault":"~/notes" }'

import { createSmithers } from "smithers-orchestrator";
import { createSmithers } from "smthrs";
import { z } from "zod/v4";
import { agents } from "../agents";

Expand Down
4 changes: 2 additions & 2 deletions workflows/meeting-to-tickets.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// smithers-source: authored
// smithers-display-name: Meeting → Tickets
/** @jsxImportSource smithers-orchestrator */
/** @jsxImportSource smthrs */
//
// HACK: "Granola captures the meeting; the agent processes the transcript." The
// manual version: read the transcript, find the commitments, open a
Expand All @@ -10,7 +10,7 @@
//
// smithers up meeting-to-tickets.tsx --input '{"transcript":"notes/standup-2026-06-03.md"}'

import { createSmithers } from "smithers-orchestrator";
import { createSmithers } from "smthrs";
import { z } from "zod/v4";
import { agents } from "../agents";

Expand Down
4 changes: 2 additions & 2 deletions workflows/morning-research-digest.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// smithers-source: authored
// smithers-display-name: Morning Research Digest (/last30days, scheduled)
/** @jsxImportSource smithers-orchestrator */
/** @jsxImportSource smthrs */
//
// HACK: "Run /last30days before planning to research current community knowledge."
// Done by hand, you remember to do it... sometimes. The repeatable version
Expand All @@ -16,7 +16,7 @@
// smithers cron add "0 9 * * *" .smithers/workflows/agentic-hacks/morning-research-digest.tsx
// smithers cron list

import { createSmithers } from "smithers-orchestrator";
import { createSmithers } from "smthrs";
import { z } from "zod/v4";
import { agents } from "../agents";

Expand Down
4 changes: 2 additions & 2 deletions workflows/skill-from-example.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// smithers-source: authored
// smithers-display-name: Skill From Example
/** @jsxImportSource smithers-orchestrator */
/** @jsxImportSource smthrs */
//
// HACK: "To build a new skill, point the agent at a skill that already works and
// have it replicate the structure for the new use case." This is the most
Expand All @@ -14,7 +14,7 @@
// "goal":"a /retro skill that summarizes the week from git log",
// "out":".claude/skills/retro" }'

import { createSmithers } from "smithers-orchestrator";
import { createSmithers } from "smthrs";
import { z } from "zod/v4";
import { agents } from "../agents";

Expand Down