From f461ee2f5bf73535182ca47edc6deecc54042a8c Mon Sep 17 00:00:00 2001 From: Suleiman Shahbari Date: Sun, 5 Jul 2026 23:31:06 +0300 Subject: [PATCH] docs: list @gemstack/framework in the root README; document domain presets in ai-autopilot --- README.md | 2 ++ packages/ai-autopilot/README.md | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/README.md b/README.md index 17f6543..eab5fd9 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ Full documentation lives in [`docs/`](./docs/guide/index.md) (a hosted site is o | [`ai‑sdk`](./packages/ai-sdk) | The agent runtime: providers, the agent loop, tools, streaming, middleware, structured output, memory, and evals. The engine the rest of the AI family builds on. | [Guide](./docs/packages/ai-sdk/index.md) | [![npm](https://img.shields.io/npm/v/@gemstack/ai-sdk)](https://www.npmjs.com/package/@gemstack/ai-sdk) | | [`ai‑skills`](./packages/ai-skills) | Portable capability bundles: load `SKILL.md` skills (instructions + tools + resources) and compose them onto an agent on demand. | [Guide](./docs/packages/ai-skills.md) | [![npm](https://img.shields.io/npm/v/@gemstack/ai-skills)](https://www.npmjs.com/package/@gemstack/ai-skills) | | [`ai‑autopilot`](./packages/ai-autopilot) | The AI‑building framework: a Supervisor (plan → dispatch → synthesize) plus stack‑aware personas, a runner sandbox, surfaces, a decisions ledger, an event‑triggered review/QA loop with a built‑in prompt library, framework presets (Vike/Next), and a bootstrap flow that takes an app from nothing to production‑grade. | [Guide](./docs/packages/ai-autopilot.md) | [![npm](https://img.shields.io/npm/v/@gemstack/ai-autopilot)](https://www.npmjs.com/package/@gemstack/ai-autopilot) | +| [`framework`](./packages/framework) | **The (AI) Framework**: turnkey, zero‑config orchestration built on `ai-autopilot`. Wraps a coding‑agent CLI (Claude Code) as a black box and takes an idea to a running app, with a live dashboard, Open Loop domain presets, an optional Docker sandbox, and a run relay for shared sessions. | [README](./packages/framework/README.md) | [![npm](https://img.shields.io/npm/v/@gemstack/framework)](https://www.npmjs.com/package/@gemstack/framework) | | [`ai‑mcp`](./packages/ai-mcp) | The agent/MCP bridge: consume a remote MCP server's tools as agent tools, and expose an agent as an MCP server. | [Guide](./docs/packages/ai-mcp.md) | [![npm](https://img.shields.io/npm/v/@gemstack/ai-mcp)](https://www.npmjs.com/package/@gemstack/ai-mcp) | | [`mcp`](./packages/mcp) | A standalone framework for *authoring* MCP servers: tools, resources, prompts, decorators, OAuth 2.1, a framework-neutral HTTP handler, and a test client. Agent-agnostic. | [Guide](./docs/packages/mcp.md) | [![npm](https://img.shields.io/npm/v/@gemstack/mcp)](https://www.npmjs.com/package/@gemstack/mcp) | | [`mcp‑connectors`](./packages/mcp-connectors) | The connector contract: define a tool connector to an external service once with `defineConnector`, and compose any number into a single MCP server with `mountConnectors`. Built on `@gemstack/mcp`; agent-agnostic. | [Guide](./docs/packages/mcp-connectors.md) | [![npm](https://img.shields.io/npm/v/@gemstack/mcp-connectors)](https://www.npmjs.com/package/@gemstack/mcp-connectors) | @@ -32,6 +33,7 @@ graph TD subgraph fam["AI family · depends on the agent runtime"] skills["ai-skills
capability bundles"] --> sdk["ai-sdk
agent runtime"] autopilot["ai-autopilot
orchestration"] --> sdk + framework["framework
turnkey app builder"] --> autopilot aimcp["ai-mcp
agent ↔ MCP bridge"] --> sdk end subgraph agn["Agent-agnostic · not ai-*"] diff --git a/packages/ai-autopilot/README.md b/packages/ai-autopilot/README.md index c5bc1a5..debe31f 100644 --- a/packages/ai-autopilot/README.md +++ b/packages/ai-autopilot/README.md @@ -298,6 +298,29 @@ own bodies from a directory with `loadPromptsFrom(dir)`, or add one to a library with `library.add(...)`. The bodies are the main open-source contribution surface; PRs that sharpen them are welcome. +## Domain presets — a loop + prompts + skills bundled per domain + +A **domain preset** packages a domain's review loops, prompt bodies, and skill +pointers as one `{ loops, prompts, skills }` unit, so a run is framed for a *kind* +of work (software, web, data, product, science) instead of the generic default. +Each preset is a directory of markdown under `presets/` — a `preset.md` manifest +plus `loops/`, `prompts/`, and `skills/` — so a contributor adds one by writing +files, not code. + +```ts +import { builtinDomainPresets, selectPreset } from '@gemstack/ai-autopilot' + +const presets = await builtinDomainPresets() // discovers every shipped preset +const sw = selectPreset(presets, 'software-development') // sw.loops / sw.prompts / sw.skills +``` + +Five ship built in (`software-development`, `web-development`, `data-science`, +`product-management`, `biological-science`). Load your own with +`loadDomainPreset(dir)`, and merge several with `composeDomainPresets(...)` +(presets-of-presets). A mode variant (a `stem..md` sibling carrying +`metadata.conditions`) swaps in a leaner loop under a mode like `technical`. +`@gemstack/framework` surfaces these to end users as `--preset`. + ## Guardrails - **`concurrency`** (optional, default 4) — max workers in flight; positive integer.