Shepherd¶
Page status: release-ready Source state: shipped-source Applies to: Shepherd v1.0-dev Owner: @docs-system-owner (TBD) Validation: scripts/check_shepherd_docs.py
Build agent systems in Python¶
You write ordinary typed functions; Shepherd runs them against a model, validates the results, records what happened, and lets you supervise and compose the runs.
import shepherd as shp
from shepherd.providers import claude
@shp.task
def summarize(article: str) -> str:
"""Summarize this article in three bullet points."""
with shp.workspace(model=claude("sonnet-4-5")):
print(summarize("Shepherd is a Python framework for building agent systems..."))
Find your path¶
-
Build your first agent
A typed task, a workspace, and a small working reviewer — offline and deterministic, in one sitting.
-
Run a packaged workflow
For operators: install, configure credentials, run first-party workflows in CI. Ships with the Shepherd CLI.
-
Understand & evaluate
The mental model — tasks, effects, runs — and the ledger of exactly what these docs may claim today.
Why Shepherd¶
- Typed by construction. A task is a function with a signature and a docstring; the return type is the contract the model must satisfy.
- Observable. Every run records what was sent and returned, so debugging is reading a trace, not guessing.
- Composable. Tasks are values — pass them, supervise them, and build larger programs out of small ones.
Shepherd v1.0-dev — prototype docs
This site is built scaffold-first: a page is published only when its content is backed by checked source, and everything else stays in the reviewer build. The source-state inventory is the honest ledger of what these docs may claim today.