open-agent-platform
AGENTS.md1.9k starsChanged 17 months agoMITArchived repositoryView on GitHub
Run ESLint to check for code quality issues using yarn lint or auto-fix issues with yarn lint:fix. The project enforces TypeScript strict rules, React hooks rules, and prohibits console.log (use console.warn or console.error instead). Follow the feature-based architecture pattern. When creating new functionality, organize code within the appropriate feature directory in src/features/ (agents, chat, rag, tools, auth). Each feature should contain its own components, hooks, providers, and utilities. Use shadcn/ui components for UI elements. The project is configured with the…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,439 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
The file
We split this AGENTS.md into the rules it gives an agent
8 rules. About 0 are common, 1 is distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 2
Always format code using Prettier before opening a pull request by running yarn format.
- Very specific: line 4
Run ESLint to check for code quality issues using yarn lint or auto-fix issues with yarn lint:fix.
- Very specific: line 6
Follow the feature-based architecture pattern.
- Distinctive: line 8
Use shadcn/ui components for UI elements.
- Very specific: line 10
Always use TypeScript with strict type checking.
- Very specific: line 12
Follow the established path alias conventions: @/components for UI components, @/lib for utilities, and @/hooks for hooks.
- Very specific: line 14
Use Zustand for config state management (not all state should be managed by Zustand!) and follow the existing patterns in providers like …
- Very specific: line 16
When creating new API routes, place them in src/app/api/ following Next.js App Router conventions.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
<general_rules>
Always format code using Prettier before opening a pull request by running yarn format. The project uses Prettier with Tailwind CSS plugin and single attribute per line configuration.
Run ESLint to check for code quality issues using yarn lint or auto-fix issues with yarn lint:fix. The project enforces TypeScript strict rules, React hooks rules, and prohibits console.log (use console.warn or console.error instead).
Follow the feature-based architecture pattern. When creating new functionality, organize code within the appropriate feature directory in src/features/ (agents, chat, rag, tools, auth). Each feature should contain its own components, hooks, providers, and utilities.
Use shadcn/ui components for UI elements. The project is configured with the "new-york" style variant and uses Radix UI primitives. Before creating custom UI components, check if a shadcn/ui component exists in src/components/ui/ or can be added via the shadcn CLI.
Always use TypeScript with strict type checking. Define types in src/types/ for shared interfaces or within feature directories for feature-specific types.
Follow the established path alias conventions: @/components for UI components, @/lib for utilities, and @/hooks for hooks.
Use Zustand for config state management (not all state should be managed by Zustand!) and follow the existing patterns in providers like src/providers/Agents.tsx and src/providers/Auth.tsx.
When creating new API routes, place them in src/app/api/ following Next.js App Router conventions.
</general_rules>
<repository_structure> This is a monorepo using Turbo (v2.5.0) for build orchestration and Yarn workspaces (v3.5.1) for dependency management.
The repository contains two main applications in the apps/ directory:
apps/web/: Next.js 15.3.1 application with TypeScript, the main web interfaceapps/docs/: Mintlify documentation site
The web application (apps/web/) follows Next.js App Router architecture with:
src/app/: App router with route groups(app)for main application routes and(auth)for authentication routessrc/features/: Feature-based organization containing domain-specific functionality:agents/: Agent management and templateschat/: Chat interface and thread managementrag/: Retrieval-Augmented Generation functionalitytools/: Tool management and playground- Authentication features (signin, signup, reset-password, etc.)
src/components/: Shared components across featuressrc/components/ui/: shadcn/ui components and UI primitivessrc/hooks/: Shared React hookssrc/lib/: Utility functions and shared logicsrc/providers/: React context providers for global statesrc/types/: TypeScript type definitionsscripts/: Utility scripts including MCP agent configuration scripts
Key configuration files:
components.json: shadcn/ui configuration with "new-york" styletailwind.config.js: Tailwind CSS configuration with custom utilitiestsconfig.json: TypeScript configuration with path aliaseseslint.config.js: ESLint configuration with TypeScript and React rulesprettier.config.js: Prettier configuration with Tailwind plugin </repository_structure>
<dependencies_and_installation>
The project uses Yarn 3.5.1 as the package manager (specified in packageManager field). Install dependencies by running yarn install from the root directory.
Turbo is used for build orchestration and task running. Available commands:
yarn dev: Start development servers for all appsyarn build: Build all applicationsyarn format: Format code with Prettier across all workspacesyarn lint: Run ESLint across all workspacesyarn lint:fix: Auto-fix ESLint issues across all workspaces
The monorepo follows the apps/* workspace pattern. Dependencies are managed at both the root level and individual app levels.
Key dependencies include:
- LangGraph SDK (
@langchain/langgraph-sdk) for agent functionality - MCP SDK (
@modelcontextprotocol/sdk) for Model Context Protocol integration - Shadcn UI (which wraps Radix UI) components for accessible UI primitives
- Supabase for authentication and database
- Tailwind CSS for styling
- Zustand for custom configuration state management
- Next.js 15.3.1 with App Router
Development dependencies include TypeScript 5.7.2, ESLint with TypeScript rules, and Prettier with Tailwind plugin. </dependencies_and_installation>
<testing_instructions> Currently, this repository does not have a testing framework configured. There are no test files, testing dependencies (Jest, Vitest, Cypress, Playwright), or test scripts in the package.json files.
The CI pipeline (.github/workflows/ci.yml) includes code quality checks (formatting, linting, spell checking) but does not execute tests.
Until testing is properly configured, rely on TypeScript type checking, ESLint rules, and manual testing for code quality assurance. </testing_instructions>
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

