From a49aaa858e8cc2c35643ba4eefad7b2611efb3e2 Mon Sep 17 00:00:00 2001 From: Travis Fischer Date: Mon, 30 Jun 2025 07:05:09 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CLAUDE.md | 4 +-- contributing.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++ readme.md | 54 +++++++++++++++++++++++++++++++---- 3 files changed, 127 insertions(+), 7 deletions(-) create mode 100644 contributing.md diff --git a/CLAUDE.md b/CLAUDE.md index 64920efd..064db548 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -17,14 +17,14 @@ The platform consists of: - **Shared Packages** (`packages/`) - Common utilities, types, validators, and config - **StdLib Packages** (`stdlib/`) - TS AI SDK adapters -The gateway accepts requests at `https://gateway.agentic.so/deploymentIdentifier/tool-ame` for HTTP requests or `https://gateway.agentic.so/deploymentIdentifier/mcp` for MCP. +The gateway accepts HTTP requests at `https://gateway.agentic.so/deploymentIdentifier/tool-name` or `https://gateway.agentic.so/deploymentIdentifier/mcp` for MCP. ### Development Commands **Main development workflow:** - `pnpm dev` - Start all services in development mode -- `pnpm build` - Build all packages and apps +- `pnpm build` - Build all packages and apps (except for the website) - `pnpm test` - Run all tests (format, lint, typecheck, unit, but not e2e tests) - `pnpm clean` - Clean all build artifacts diff --git a/contributing.md b/contributing.md new file mode 100644 index 00000000..af78767f --- /dev/null +++ b/contributing.md @@ -0,0 +1,76 @@ +# Contributing + +## Project Overview + +This is a monorepo for Agentic - a platform that provides API gateway services for MCP (Model Context Protocol) and OpenAPI integrations. + +### Development Prequisites + +- `node >= 22` +- `pnpm >= 10.12.4` +- `apps/api` requires a postgres database (can be a local one) with connection URL stored in `DATABASE_URL` + - You'll need to initialize the database running `pnpm drizzle-kit push` from the `apps/api` directory + +### Core Architecture + +The platform consists of: + +- **API Service** (`apps/api/`) - Platform backend API with authentication, billing, and resource management +- **Gateway Service** (`apps/gateway/`) - Cloudflare Worker that proxies requests to origin MCP/OpenAPI services +- **Website** (`apps/web/`) - Next.js site for both the marketing site and authenticated webapp +- **E2E Tests** (`apps/e2e/`) - End-to-end test suite for HTTP and MCP gateway requests +- **Shared Packages** (`packages/`) - Common utilities, types, validators, and config +- **StdLib Packages** (`stdlib/`) - TS AI SDK adapters + +The gateway accepts HTTP requests at `https://gateway.agentic.so/deploymentIdentifier/tool-name` or `https://gateway.agentic.so/deploymentIdentifier/mcp` for MCP. + +### Development Commands + +**Main development workflow:** + +- `pnpm dev` - Start all services in development mode +- `pnpm build` - Build all packages and apps (except for the website) +- `pnpm test` - Run all tests (build, format, lint, typecheck, unit, but not e2e tests) +- `pnpm clean` - Clean all build artifacts +- `pnpm run docs` - Run the local mintlify docs server +- `pnpm release` - Bump all public packages and publish them to npm + +**Individual test commands:** + +- `pnpm test:format` - Check code formatting with Prettier +- `pnpm test:lint` - Run ESLint across all packages +- `pnpm test:typecheck` - Run TypeScript type checking +- `pnpm test:unit` - Run unit tests with Vitest + +**Code quality:** + +- `pnpm fix` - Auto-fix formatting and linting issues +- `pnpm knip` - Check for unused dependencies + +**E2E testing:** + +- (from the `apps/e2e` directory) +- `pnpm e2e` - Run all E2E tests +- `pnpm e2e-http` - Run HTTP edge E2E tests +- `pnpm e2e-mcp` - Run MCP edge E2E tests + +### Key Database Models + +The system uses Drizzle ORM with PostgreSQL. Core entities: + +- **User** - Platform users +- **Team** - Organizations with members and billing +- **Project** - Namespace API products comprised of immutable Deployments +- **Deployment** - Immutable instances of MCP/OpenAPI services, including gateway and pricing config +- **Consumer** - Customer subscription tracking usage and billing + +### Environment Variables + +Every app has a `.env.example` file, which documents required environment variables. + +To run the backend API and other apps, you'll need to set up: + +- Stripe +- GitHub app with OAuth credentials +- Resend +- Sentry diff --git a/readme.md b/readme.md index 97b6c9b7..f6db92f5 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,3 @@ -> [!IMPORTANT] -> (_June 28, 2025_) As part of an upcoming major Agentic 2.0 release, our site, docs, and readme will be undergoing some breaking changes over the next few days. Please be patient if the site / docs don't load correctly until the transition is complete. Thank you && really excited to share more about Agentic's new direction soon!! 🙏 -

Agentic @@ -14,9 +11,56 @@ # Agentic +Agentic is an open source, marketplace of curated LLM tools that work with every major LLM SDK and MCP client. + +Developers can deploy their own APIs to Agentic's MCP Gateway and offer world-class MCP products in minutes. + +You can think of Agentic as **RapidAPI for MCP servers**. + - [website](https://agentic.so) - [docs](https://docs.agentic.so) -## Connect +## Key features -To stay up to date or learn more, follow [@transitive_bs](https://x.com/transitive_bs) on Twitter. +- **Highly Curated Tools**: All Agentic tools have been manually chosen to keep an extremely high quality bar. +- **Agentic UX**: All Agentic tools have been hand-crafted specifically for LLM tool use. We call this Agentic UX, and it's at the heart of why Agentic tools work better for LLM & MCP use cases than legacy APIs. +- **Production-Ready MCPs**: Forget random GitHub repos and gluing local MCP servers together. Agentic tools are all battle-tested in production and come with real SLAs. +- **World-Class TypeScript DX**: Agentic is written in TypeScript and strives for a Vercel-like DX, including one-line tool integrations all of the popular TS LLM SDKs: [**Vercel AI SDK**](https://docs.agentic.so/marketplace/ts-sdks/ai-sdk), [**OpenAI** Chat](https://docs.agentic.so/marketplace/ts-sdks/openai-chat) and [Responses](https://docs.agentic.so/marketplace/ts-sdks/openai-responses), [**LangChain**](https://docs.agentic.so/marketplace/ts-sdks/langchain), etc. +- **Stripe Billing**: Agentic uses Stripe for billing, and most tools are \_usage-based, so you'll only pay for what you (and your agents) actually use. +- **Blazing Fast MCP Gateway**: Agentic's MCP gateway is powered by _Cloudflare's global edge network_. Tools come with customizable caching and rate-limits, so you can REST assured that your agents will always have a fast and reliable experience. +- **Semver**: All Agentic tools are versioned using semver, so you can choose how to handle breaking changes. + +## Getting started + +- [MCP Marketplace](https://docs.agentic.so/marketplace) +- [MCP Publishing](https://docs.agentic.so/publishing/quickstart) + +### TypeScript AI SDKs + +- [Vercel AI SDK](https://docs.agentic.so/marketplace/ts-sdks/ai-sdk) +- [OpenAI](https://docs.agentic.so/marketplace/ts-sdks/openai-chat) +- [LangChain](https://docs.agentic.so/marketplace/ts-sdks/langchain) +- [LlamaIndex](https://docs.agentic.so/marketplace/ts-sdks/llamaindex) +- [Firebase Genkit](https://docs.agentic.so/marketplace/ts-sdks/genkit) +- [Mastra](https://docs.agentic.so/marketplace/ts-sdks/mastra) + +## Publish your own MCP products + +

+ + Agentic + +

+ +- [Learn more about publishing your own MCP products](https://agentic.so/publishing) +- [Publish an existing MCP server to Agentic](https://docs.agentic.so/publishing/guides/existing-mcp-server) +- [Publish an existing OpenAPI service to Agentic](https://docs.agentic.so/publishing/guides/existing-openapi-service) + +## Join the community + +- Follow us on [Twitter](https://x.com/transitive_bs) +- Read more in our [docs](https://docs.agentic.so) + +## Contributing + +Interested in contributing or building agentic from scratch? See [contributing.md](./contributing.md).