diff --git a/README.md b/README.md index 69994e55..0a8a70a9 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ A game built with these commands: [demo-dungeon-crawler](https://github.com/pers ## How it works -`create-expert` generates a `perstack.toml` that defines a team of micro-agents. Run it with `npx perstack start create-expert`. Each agent has a single responsibility and its own context window. Complex tasks are broken down and delegated to specialists. +`create-expert` is a published Expert on the [Perstack registry](https://perstack.ai/). It generates a `perstack.toml` that defines a team of micro-agents. No local config file is needed — the CLI resolves `create-expert` from the registry automatically. Each agent has a single responsibility and its own context window. Complex tasks are broken down and delegated to specialists. ```toml [experts."ai-gaming"] diff --git a/docs/README.md b/docs/README.md index f54cf98b..dc2f2bd1 100644 --- a/docs/README.md +++ b/docs/README.md @@ -5,7 +5,7 @@ title: "Perstack: The Declarative Runtime for Agentic AI" Define AI agents as **Experts** in natural language. Execute them with deterministic, event-derived tracking. Each Expert runs in its own isolated context — no shared state, no prompt bloat, full execution history. - [Getting Started →](./getting-started/walkthrough.md) -- [Browse Registry →](https://platform.perstack.ai/) +- [Browse Registry →](https://perstack.ai/) ## What Perstack Solves @@ -35,7 +35,7 @@ Collaborate with `pro-trainer` for professional training menus. delegates = ["pro-trainer"] ``` -Or generate one interactively: +Or generate one interactively using [`create-expert`](https://perstack.ai/), a published Expert on the Perstack registry: ```bash npx perstack start create-expert "Create a fitness assistant that delegates to a pro trainer" diff --git a/docs/getting-started/walkthrough.md b/docs/getting-started/walkthrough.md index 7242246d..0e01dd88 100644 --- a/docs/getting-started/walkthrough.md +++ b/docs/getting-started/walkthrough.md @@ -23,7 +23,7 @@ Generate an Expert definition interactively: npx perstack start create-expert "Create a fitness assistant that delegates to a pro trainer" ``` -`create-expert` does more than scaffold a file — it: +`create-expert` is a published Expert on the [Perstack registry](https://perstack.ai/) — no local config file is needed. The CLI resolves it from the registry automatically. It does more than scaffold a file — it: - generates Expert definitions in `perstack.toml` based on your description - tests them against real-world scenarios - analyzes execution history and output to evaluate the definitions diff --git a/docs/guides/rapid-prototyping.md b/docs/guides/rapid-prototyping.md index 655903c7..ca6da3c6 100644 --- a/docs/guides/rapid-prototyping.md +++ b/docs/guides/rapid-prototyping.md @@ -46,7 +46,7 @@ npx perstack start reviewer "Review this login handler" ## From idea to agent in one command -Writing TOML by hand works, but there's a faster way. `create-expert` is a published Expert that generates Expert definitions from natural language descriptions — it's itself an Expert that builds other Experts. +Writing TOML by hand works, but there's a faster way. `create-expert` is a published Expert on the [Perstack registry](https://perstack.ai/) that generates Expert definitions from natural language descriptions — it's itself an Expert that builds other Experts. No local config is needed; the CLI resolves it from the registry automatically. ```bash npx perstack start create-expert "A code review assistant that checks for security vulnerabilities, suggests fixes, and explains the reasoning behind each finding" diff --git a/docs/index.md b/docs/index.md index 7962daf1..485525fa 100644 --- a/docs/index.md +++ b/docs/index.md @@ -12,7 +12,7 @@ Define AI agents as **Experts** in natural language. Execute them with determini Perstack is an open-source runtime for executing AI agents defined as Experts. Define behavior in TOML, run from the CLI or embed in your application. ```bash -# Generate an Expert interactively +# Generate an Expert using create-expert (a published Expert on the Perstack registry) npx perstack start create-expert "Create a code-reviewer that delegates to a style-checker" # Run it diff --git a/e2e/perstack-cli/create-expert.test.ts b/e2e/perstack-cli/create-expert.test.ts new file mode 100644 index 00000000..f79a5694 --- /dev/null +++ b/e2e/perstack-cli/create-expert.test.ts @@ -0,0 +1,22 @@ +import { describe, expect, it } from "bun:test" +import { assertEventSequenceContains } from "../lib/assertions.js" +import { runCli, withEventParsing } from "../lib/runner.js" + +const LLM_TIMEOUT = 120000 + +describe("Published create-expert", () => { + it( + "should resolve from registry and complete a run", + async () => { + const cmdResult = await runCli(["run", "create-expert", "hello"], { + timeout: LLM_TIMEOUT, + }) + const result = withEventParsing(cmdResult) + expect(result.exitCode).toBe(0) + expect(assertEventSequenceContains(result.events, ["startRun", "completeRun"]).passed).toBe( + true, + ) + }, + LLM_TIMEOUT, + ) +})