diff --git a/packages/api-client/readme.md b/packages/api-client/readme.md
new file mode 100644
index 00000000..7361b9cd
--- /dev/null
+++ b/packages/api-client/readme.md
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/platform-api-client
+
+> TypeScript API client for the Agentic platform.
+
+- [Website](https://agentic.so/publishing)
+- [Docs](https://docs.agentic.so)
+
+> [!TIP]
+> You likely don't need this package directly. See [@agentic/cli](https://github.com/transitive-bullshit/agentic/tree/main/packages/cli), [@agentic/platform](https://github.com/transitive-bullshit/agentic/tree/main/packages/platform), and [@agentic/platform-tool-client](https://github.com/transitive-bullshit/agentic/tree/main/packages/platform-tool-client) for more public-facing packages.
+
+## Install
+
+```bash
+npm i @agentic/platform-api-client
+```
+
+## Usage
+
+```ts
+import { AgenticApiClient } from '@agentic/platform-api-client'
+
+// Takes an optional `apiKey`
+const agenticApiClient = new AgenticApiClient()
+
+const searchProject = await agenticApiClient.getPublicProjectByIdentifier({
+ projectIdentifier: '@agentic/search'
+})
+console.log(searchProject)
+```
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/packages/cli/readme.md b/packages/cli/readme.md
new file mode 100644
index 00000000..00373392
--- /dev/null
+++ b/packages/cli/readme.md
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/cli
+
+> CLI for the Agentic platform.
+
+- [Website](https://agentic.so/publishing)
+- [Docs](https://docs.agentic.so/publishing)
+
+## Install
+
+```bash
+npm i -g @agentic/cli
+```
+
+## Usage
+
+```sh
+Usage: agentic [options] [command]
+
+Options:
+ -j, --json Print output as JSON
+ -V, --version output the version number
+ -h, --help display help for command
+
+Commands:
+ login|signin [options] Signs in to Agentic. If no credentials are provided, uses GitHub auth.
+ signup [options] Creates a new account for Agentic. If no credentials are provided, uses
+ GitHub auth.
+ whoami Displays info about the current user.
+ logout|signout Signs the current user out.
+ deploy [options] Creates a new deployment.
+ publish [options] [deploymentIdentifier] Publishes a deployment. Defaults to the most recent deployment for the
+ project in the target directory. If a deployment identifier is provided, it
+ will be used instead.
+ get Gets details for a specific deployment.
+ list|ls [options] [identifier] Lists deployments.
+ debug [options] Prints config for a local project.
+ help [command] display help for command
+```
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/packages/emails/readme.md b/packages/emails/readme.md
new file mode 100644
index 00000000..94f7813f
--- /dev/null
+++ b/packages/emails/readme.md
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/platform-emails
+
+> Internal email templates for the Agentic platform.
+
+- [Website](https://agentic.so/publishing)
+- [Docs](https://docs.agentic.so)
+
+> [!TIP]
+> You likely don't need this **private** package unless you are contributing to Agentic directly.
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/packages/hono/readme.md b/packages/hono/readme.md
new file mode 100644
index 00000000..ae040832
--- /dev/null
+++ b/packages/hono/readme.md
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/platform-hono
+
+> Internal Hono utilities for the Agentic platform.
+
+- [Website](https://agentic.so/publishing)
+- [Docs](https://docs.agentic.so)
+
+> [!TIP]
+> You likely don't need this **private** package unless you are contributing to Agentic directly.
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/packages/json-schema/readme.md b/packages/json-schema/readme.md
index 60f0b912..091910bc 100644
--- a/packages/json-schema/readme.md
+++ b/packages/json-schema/readme.md
@@ -1,5 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
> [!NOTE]
-> This package is a fork of [@cfworker/json-schema](https://github.com/cfworker/cfworker) which adds [ajv-style coercion](https://ajv.js.org/coercion.html). Coercion can be enabled with a boolean flag.
+> This package is a fork of [@cfworker/json-schema](https://github.com/cfworker/cfworker) which adds support for [ajv-style type coercion](https://ajv.js.org/coercion.html). Coercion is disabled by default, but can be enabled with a boolean flag.
# @agentic/json-schema
diff --git a/packages/openapi-utils/readme.md b/packages/openapi-utils/readme.md
new file mode 100644
index 00000000..4e70ed05
--- /dev/null
+++ b/packages/openapi-utils/readme.md
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/platform-openapi-utils
+
+> OpenAPI utilities used by the Agentic platform.
+
+- [Website](https://agentic.so/publishing)
+- [Docs](https://docs.agentic.so)
+
+> [!TIP]
+> You likely don't need this package directly. See [@agentic/cli](https://github.com/transitive-bullshit/agentic/tree/main/packages/cli), [@agentic/platform](https://github.com/transitive-bullshit/agentic/tree/main/packages/platform), and [@agentic/platform-tool-client](https://github.com/transitive-bullshit/agentic/tree/main/packages/platform-tool-client) for more public-facing packages.
+
+## Install
+
+```bash
+npm i @agentic/platform-openapi-utils
+```
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/packages/platform-core/package.json b/packages/platform-core/package.json
index ec990823..e202011a 100644
--- a/packages/platform-core/package.json
+++ b/packages/platform-core/package.json
@@ -1,7 +1,7 @@
{
"name": "@agentic/platform-core",
"version": "8.1.1",
- "description": "Core utilities for the Agentic platform.",
+ "description": "Core utilities shared across the Agentic platform.",
"author": "Travis Fischer ",
"license": "AGPL-3.0",
"repository": {
diff --git a/packages/platform-core/readme.md b/packages/platform-core/readme.md
new file mode 100644
index 00000000..02b545ab
--- /dev/null
+++ b/packages/platform-core/readme.md
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/platform-core
+
+> Core utilities shared across the Agentic platform.
+
+- [Website](https://agentic.so/publishing)
+- [Docs](https://docs.agentic.so)
+
+> [!TIP]
+> You likely don't need this package directly. See [@agentic/cli](https://github.com/transitive-bullshit/agentic/tree/main/packages/cli), [@agentic/platform](https://github.com/transitive-bullshit/agentic/tree/main/packages/platform), and [@agentic/platform-tool-client](https://github.com/transitive-bullshit/agentic/tree/main/packages/platform-tool-client) for more public-facing packages.
+
+## Install
+
+```bash
+npm i @agentic/platform-core
+```
+
+## Usage
+
+```ts
+import {
+ assert,
+ omit,
+ pick,
+ parseJson,
+ parseZodSchema,
+ sha256,
+ getEnv,
+ sanitizeSearchParams,
+ pruneUndefined,
+ slugify
+ // etc...
+} from '@agentic/platform-core'
+```
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/packages/tool-client/package.json b/packages/tool-client/package.json
index a9182263..dab282de 100644
--- a/packages/tool-client/package.json
+++ b/packages/tool-client/package.json
@@ -1,7 +1,7 @@
{
"name": "@agentic/platform-tool-client",
"version": "8.1.1",
- "description": "Client for working with LLM tools hosted on the Agentic platform.",
+ "description": "Main client for working with LLM tools hosted on the Agentic platform.",
"author": "Travis Fischer ",
"license": "AGPL-3.0",
"repository": {
diff --git a/packages/tool-client/readme.md b/packages/tool-client/readme.md
index 825448a6..04be03ef 100644
--- a/packages/tool-client/readme.md
+++ b/packages/tool-client/readme.md
@@ -1,23 +1,75 @@
-## Project Identifier
+
+
+
+
+
-`@namespace/project-slug`
+
+
+
+
+
-## Deployment Identifier
+# @agentic/platform-tool-client
-`${projectIdentifier}` => `${projectIdentifier}@latest`
-`${projectIdentifier}@latest`
-`${projectIdentifier}@dev`
-`${projectIdentifier}@deploymentHash`
-`${projectIdentifier}@version`
+> Main client for working with LLM tools hosted on the Agentic platform.
-## Tool Identifier
+The purpose of this package is to connect TypeScript LLM SDKs to Agentic's hosted tools via the `AgenticToolClient.fromIdentifier(...)` method.
-`${deploymentIdentifier}/tool_name`
+- [Website](https://agentic.so/publishing)
+- [Docs](https://docs.agentic.so)
-## Tool Names
+## Install
-- Must start with a letter or underscore
-- Can include only letters, numbers, and underscores
-- Use either camelCase or snake_case consistently across all tools
+```bash
+npm i @agentic/platform-tool-client
+```
-[OpenAI vs Anthropic vs Google vs MCP tool name restrictions](https://chatgpt.com/share/68419382-73a0-8007-afce-0ded7d9f05e7)
+## Usage
+
+This example uses the [Vercel AI SDK](https://ai-sdk.dev) and the [`@agentic/search`](https://agentic.so/marketplace/projects/@agentic/search) tool.
+
+```ts
+import 'dotenv/config'
+
+import { createAISDKTools } from '@agentic/ai-sdk'
+import { AgenticToolClient } from '@agentic/platform-tool-client'
+import { createOpenAI } from '@ai-sdk/openai'
+import { generateText } from 'ai'
+
+async function main() {
+ const searchTool = await AgenticToolClient.fromIdentifier('@agentic/search')
+ const openai = createOpenAI({ compatibility: 'strict' })
+
+ const result = await generateText({
+ model: openai('gpt-4o-mini'),
+ tools: createAISDKTools(searchTool),
+ toolChoice: 'required',
+ temperature: 0,
+ system: 'You are a helpful assistant. Be as concise as possible.',
+ prompt: 'What is the weather in San Francisco?'
+ })
+
+ console.log(JSON.stringify(result.toolResults[0], null, 2))
+}
+
+await main()
+```
+
+If you have a subscription to the Agentic project, you can specify your API key either by using the `AGENTIC_API_KEY` environment variable, or by passing it explicitly:
+
+```ts
+const searchTool = await AgenticToolClient.fromIdentifier('@agentic/search', {
+ apiKey: process.env.AGENTIC_API_KEY
+})
+```
+
+Now all tool calls will be associated with your subscription for usage-tracking and billing purposes.
+
+## Docs
+
+See the [Agentic Quick Start](https://docs.agentic.so/marketplace) for more details on how to use Agentic tools with other TS LLM SDKs, MCP clients, and simple HTTP usage.
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/packages/types/readme.md b/packages/types/readme.md
new file mode 100644
index 00000000..6f7bb0a5
--- /dev/null
+++ b/packages/types/readme.md
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/platform-types
+
+> Core schemas and types shared across the Agentic platform.
+
+- [Website](https://agentic.so/publishing)
+- [Docs](https://docs.agentic.so)
+
+> [!TIP]
+> You likely don't need this package directly. See [@agentic/cli](https://github.com/transitive-bullshit/agentic/tree/main/packages/cli), [@agentic/platform](https://github.com/transitive-bullshit/agentic/tree/main/packages/platform), and [@agentic/platform-tool-client](https://github.com/transitive-bullshit/agentic/tree/main/packages/platform-tool-client) for more public-facing packages.
+
+## Install
+
+```bash
+npm i @agentic/platform-types
+```
+
+## Usage
+
+```ts
+import {
+ agenticProjectConfigSchema,
+ type AgenticProjectConfigInput,
+ resolvedAgenticProjectConfigSchema,
+ type ResolvedAgenticProjectConfig,
+ type User,
+ type Project,
+ type Deployment,
+ type Consumer,
+ type AdminMcpRequestMetadata
+ // etc...
+} from '@agentic/platform-types'
+```
+
+## Notes
+
+Some types are raw TS, some are derived from zod schemas, and most of the core database models are inferred from a generated OpenAPI spec exposed by Agentic's backend API.
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/packages/validators/readme.md b/packages/validators/readme.md
index 825448a6..ac73ee54 100644
--- a/packages/validators/readme.md
+++ b/packages/validators/readme.md
@@ -1,23 +1,82 @@
-## Project Identifier
+
+
+
+
+
-`@namespace/project-slug`
+
+
+
+
+
-## Deployment Identifier
+# @agentic/platform-validators
-`${projectIdentifier}` => `${projectIdentifier}@latest`
-`${projectIdentifier}@latest`
-`${projectIdentifier}@dev`
-`${projectIdentifier}@deploymentHash`
-`${projectIdentifier}@version`
+> Core schemas and validators shared across the Agentic platform.
-## Tool Identifier
+- [Website](https://agentic.so/publishing)
+- [Docs](https://docs.agentic.so)
-`${deploymentIdentifier}/tool_name`
+> [!TIP]
+> You likely don't need this package directly. See [@agentic/cli](https://github.com/transitive-bullshit/agentic/tree/main/packages/cli), [@agentic/platform](https://github.com/transitive-bullshit/agentic/tree/main/packages/platform), and [@agentic/platform-tool-client](https://github.com/transitive-bullshit/agentic/tree/main/packages/platform-tool-client) for more public-facing packages.
-## Tool Names
+## Install
+
+```bash
+npm i @agentic/platform-validators
+```
+
+## Usage
+
+```ts
+import { parseProjectIdentifier } from '@agentic/platform-validators'
+
+const parsedProjectIdentifier = parseProjectIdentifier('@agentic/search')
+```
+
+## Identifiers
+
+### Project Identifier
+
+- `@username/project-slug`
+- `@team-slug/project-slug`
+
+**Examples:**
+
+- `@agentic/search`
+
+### Deployment Identifier
+
+- `${projectIdentifier}` will implicitly use `${projectIdentifier}@latest`
+- `${projectIdentifier}@latest` (the most recently published deployment)
+- `${projectIdentifier}@dev` (the most recently pushed deployment)
+- `${projectIdentifier}@deploymentHash` (a specific deployment)
+- `${projectIdentifier}@version` (a specific published deployment specified via `semver`)
+
+**Examples:**
+
+- `@agentic/search`
+- `@agentic/search@latest`
+- `@agentic/search@1.0.0`
+
+### Tool Identifier
+
+- `${deploymentIdentifier}/tool_name`
+
+**Examples:**
+
+- `@agentic/search/search`
+- `@agentic/search@latest/search`
+- `@agentic/search@1.0.0/search`
+
+### Tool Names
- Must start with a letter or underscore
- Can include only letters, numbers, and underscores
- Use either camelCase or snake_case consistently across all tools
[OpenAI vs Anthropic vs Google vs MCP tool name restrictions](https://chatgpt.com/share/68419382-73a0-8007-afce-0ded7d9f05e7)
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/stdlib/ai-sdk/readme.md b/stdlib/ai-sdk/readme.md
new file mode 100644
index 00000000..3f3e714d
--- /dev/null
+++ b/stdlib/ai-sdk/readme.md
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/ai-sdk
+
+> Agentic adapter for the Vercel AI SDK.
+
+- [Website](https://agentic.so)
+- [Docs](https://docs.agentic.so/marketplace/ts-sdks/ai-sdk)
+
+## Install
+
+```bash
+npm i @agentic/ai-sdk zod ai
+```
+
+## Usage
+
+See https://docs.agentic.so/marketplace/ts-sdks/ai-sdk
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/stdlib/core/openai-zod-to-json-schema b/stdlib/core/openai-zod-to-json-schema
deleted file mode 100644
index a5ef201c..00000000
--- a/stdlib/core/openai-zod-to-json-schema
+++ /dev/null
@@ -1,2 +0,0 @@
-../.. | WARN `node_modules` is present. Lockfile only installation will make it out-of-date
-../.. | Progress: resolved 1, reused 0, downloaded 0, added 0
diff --git a/stdlib/core/readme.md b/stdlib/core/readme.md
new file mode 100644
index 00000000..53729636
--- /dev/null
+++ b/stdlib/core/readme.md
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/core
+
+> Agentic AI utils which work with any LLM and TypeScript AI SDK.
+
+- [Website](https://agentic.so)
+- [Docs](https://docs.agentic.so)
+
+## Install
+
+```bash
+npm i @agentic/core zod
+```
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/stdlib/genkit/readme.md b/stdlib/genkit/readme.md
new file mode 100644
index 00000000..30e3bb7e
--- /dev/null
+++ b/stdlib/genkit/readme.md
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/genkit
+
+> Agentic adapter for the Firebase Genkit AI SDK.
+
+- [Website](https://agentic.so)
+- [Docs](https://docs.agentic.so/marketplace/ts-sdks/genkit)
+
+## Install
+
+```bash
+npm i @agentic/genkit zod
+```
+
+## Usage
+
+See https://docs.agentic.so/marketplace/ts-sdks/genkit
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/stdlib/langchain/package.json b/stdlib/langchain/package.json
index 359782ee..5990ff7d 100644
--- a/stdlib/langchain/package.json
+++ b/stdlib/langchain/package.json
@@ -1,7 +1,7 @@
{
"name": "@agentic/langchain",
"version": "8.1.1",
- "description": "Agentic adapter for the LangChain AI SDK.",
+ "description": "Agentic adapter for the LangChain TS SDK.",
"author": "Travis Fischer ",
"license": "MIT",
"repository": {
diff --git a/stdlib/langchain/readme.md b/stdlib/langchain/readme.md
new file mode 100644
index 00000000..c397bce5
--- /dev/null
+++ b/stdlib/langchain/readme.md
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/langchain
+
+> Agentic adapter for the LangChain TS SDK.
+
+- [Website](https://agentic.so)
+- [Docs](https://docs.agentic.so/marketplace/ts-sdks/llamaindex)
+
+## Install
+
+```bash
+npm i @agentic/langchain zod @langchain/core
+```
+
+## Usage
+
+See https://docs.agentic.so/marketplace/ts-sdks/llamaindex
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/stdlib/llamaindex/readme.md b/stdlib/llamaindex/readme.md
new file mode 100644
index 00000000..b99d2ccc
--- /dev/null
+++ b/stdlib/llamaindex/readme.md
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/llamaindex
+
+> Agentic adapter for the LlamaIndex TS SDK.
+
+- [Website](https://agentic.so)
+- [Docs](https://docs.agentic.so/marketplace/ts-sdks/llamaindex)
+
+## Install
+
+```bash
+npm i @agentic/llamaindex zod llamaindex
+```
+
+## Usage
+
+See https://docs.agentic.so/marketplace/ts-sdks/llamaindex
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/stdlib/mastra/readme.md b/stdlib/mastra/readme.md
new file mode 100644
index 00000000..12b822b7
--- /dev/null
+++ b/stdlib/mastra/readme.md
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/mastra
+
+> Agentic adapter for the Mastra AI Agent SDK.
+
+- [Website](https://agentic.so)
+- [Docs](https://docs.agentic.so/marketplace/ts-sdks/mastra)
+
+## Install
+
+```bash
+npm i @agentic/mastra zod @mastra/core
+```
+
+## Usage
+
+See https://docs.agentic.so/marketplace/ts-sdks/mastra
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/stdlib/serpapi/readme.md b/stdlib/serpapi/readme.md
new file mode 100644
index 00000000..5041be12
--- /dev/null
+++ b/stdlib/serpapi/readme.md
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/serpapi
+
+> Agentic SDK for [SerpAPI](https://serpapi.com) Google Search.
+
+- [Website](https://agentic.so)
+- [Docs](https://docs.agentic.so)
+
+## Install
+
+```bash
+npm i @agentic/serpapi zod
+```
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/stdlib/serper/package.json b/stdlib/serper/package.json
index 863b31ec..88198b78 100644
--- a/stdlib/serper/package.json
+++ b/stdlib/serper/package.json
@@ -1,7 +1,7 @@
{
"name": "@agentic/serper",
"version": "8.1.1",
- "description": "Agentic SDK for Serper Google Search.",
+ "description": "Agentic SDK for the Serper Google Search API.",
"author": "Travis Fischer ",
"license": "MIT",
"repository": {
diff --git a/stdlib/serper/readme.md b/stdlib/serper/readme.md
new file mode 100644
index 00000000..add0f0d7
--- /dev/null
+++ b/stdlib/serper/readme.md
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+# @agentic/serper
+
+> Agentic SDK for the [Serper](https://serper.dev) Google Search API.
+
+- [Website](https://agentic.so)
+- [Docs](https://docs.agentic.so)
+
+## Install
+
+```bash
+npm i @agentic/serper zod
+```
+
+## License
+
+[GNU AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/)
diff --git a/todo.md b/todo.md
index 5a1db40f..7ab06e49 100644
--- a/todo.md
+++ b/todo.md
@@ -15,14 +15,10 @@
- add example usage to project detail pages
- import react example usage component into docs
- replace json project and components with actual designs
-- docs
- - sub readmes (https://www.npmjs.com/package/@agentic/cli)
- double-check free-tier rate-limits for `@agentic/search`
- create agentic products for select legacy tools
-- add support for [`@google/genai`](https://github.com/googleapis/js-genai) tools adapter
- add feature about optimized context to docs
- add ts sdk examples to e2e tests
-- fix weird git state and github actions marked as failing
- add scroll appearance motion to hero animation
- replace how-it-works diagram with better version
@@ -115,3 +111,5 @@
- mcp tool inputSchemas may not support openai strict mode either
- maybe default `strict` to `false` in `createAIFunction` for now?
- also add `@agentic/json-schema` to `createJsonSchema` parsing instead of current no-op
+- add support for [`@google/genai`](https://github.com/googleapis/js-genai) tools adapter
+ - currently difficult due to their use of non-standard json schemas