Add a new AI provider to agentconfig.org's comparison system...
Add a new AI coding assistant provider to agentconfig.org's provider comparison system.
Adding a provider requires coordinated work across 6 parallel work streams:
| Stream | Work | Duration | Dependencies |
|---|---|---|---|
| 1. Type System | Add provider to union types | 2-4 hrs | None |
| 2. Data Layer | Add implementations for all 13 primitives | 4-6 hrs | Stream 1 |
| 3. UI Components | Update comparison table | 4-8 hrs | Streams 1-2 |
| 4. Testing | Update E2E tests | 3-4 hrs | Stream 3 |
| 5. App Integration | Update site copy & docs | 1-2 hrs | Streams 1-3 |
| 6. LLMs Generation | Regenerate machine-readable files | 1-2 hrs | All streams |
Total effort: ~2-3 hours with parallelization
Use this skill when:
Before starting, gather:
primitives.ts and comparison.ts share one SupportLevel type: full (native), partial (workarounds), diy (custom setup or not achievable) β one vocabulary, no separate none valueEvery provider must map to all 13 primitives across the 8 layers below (layers are not 1:1 with primitives β Instructions has three, Memory & State currently has none); see categories in site/src/data/primitives.ts for the full layer list and scopeModel for the separate where-it-applies vocabulary β scopes are not primitives:
| Layer | Primitives |
|---|---|
| Instructions | Persistent Instructions, User Scope Instructions, Directory / Path Scope Instructions |
| Procedures | Skills / Workflows, Slash Commands |
| Tools & Context | Tool Integrations (MCP) |
| Delegation | Agent Mode, Custom Agents |
| Control & Approval | Permissions & Guardrails, Lifecycle Hooks, Runtime Sandbox |
| Memory & State | (reserved β no primitive is modeled here yet; do not add one without genuinely distinct memory/state semantics) |
| Distribution | Configuration Distribution |
| Verification & Observability | Verification / Evals |
π Research the provider β See RESEARCH-GUIDE.md for capability audit template
π Read the detailed process β See PROCESS.md for step-by-step instructions for all 6 streams
π Review code examples β See EXAMPLES.md for copy-paste templates for each stream
π¨ Understand patterns β See PATTERNS.md for support levels and naming conventions
π Handle errors β See ERRORS.md for solutions to common issues (including critical generation script updates)
β Verify completion β See CHECKLIST.md for verification steps (includes pre-implementation checklist)
Stream 1: Type System (Add provider to union types)
β
Stream 2: Data Layer (Add implementations for all 13 primitives)
ββ Stream 3: UI Components (Update comparison table)
β β
β Stream 4: Testing (Update E2E tests)
β β
ββ Stream 5: App Integration (Update site copy/docs) [can run in parallel with 3-4]
β
Stream 6: LLMs Generation (Regenerate machine-readable files)
Parallel execution: Start Stream 5 while Streams 3-4 complete. Stream 1-2 are sequential. Stream 6 must run last.
| Stream | Files |
|---|---|
| 1 | site/src/data/primitives.ts, site/src/data/fileTree.ts, site/src/data/comparison.ts (interface + comparisonData mapping call only, not per-row data), site/src/components/PrimitiveCards/PrimitiveCard.tsx |
| 2 | site/src/data/primitives.ts (all 13 implementations for the new provider), site/src/data/fileTree.ts |
| 3 | site/src/components/ProviderComparison/ComparisonTable.tsx |
| 4 | site/tests/e2e/comparison.spec.ts |
| 5 | site/src/App.tsx, site/src/components/Hero/Hero.tsx, README.md |
| 6 | .github/skills/generate-llms/scripts/generate-llms-full.ts (if needed), site/public/llms-full.txt |
Add a new provider from scratch:
Use the add-provider skill to add Cursor as a provider to agentconfig.org.
Research Cursor's implementation of all 13 primitives first, then follow all 6 streams.
Skip to a specific stream:
I've completed Stream 1 (types). Now execute Stream 2 (data layer) to add cursor implementations.
Update existing provider data:
Update Cursor's support level from partial to full for Tool Integrations in primitives.ts.
β Provider added to all type definitions β All 13 primitives have provider implementation data β Comparison table renders with provider column β All E2E tests pass β No TypeScript errors β Production build succeeds β llms-full.txt includes provider data β Responsive design works β Dark mode works
When opening your pull request, keep it crisp and focused:
What to include:
What to avoid:
Example: See Cursor provider PR for a reference implementation.
For detailed information, see: