Give your web app a stable, machine-readable interface for AI agents.
Stop letting AI agents guess. Give them something real to work with.
You know how AI assistants like Claude, Cursor, or Copilot sometimes try to operate your web app β and they click the wrong button, fill in the wrong field, or fail completely? That's not entirely the AI's fault.
The real problem: web apps are built for human eyes, not machine understanding. An AI agent looking at your app sees the same thing a blindfolded person feels when touching a wall β it can sense something is there, but has no idea what it means.
Today, agents rely on:
- π² Brittle CSS selectors β break whenever the UI changes
- ποΈ Screenshots β the agent reads pixels and guesses
- π Button text matching β "the thing that says Submit"
- π’ Coordinate clicks β literally clicking at X, Y on screen
These approaches fail unpredictably. They retry wrong elements, misfire modals, and guess at risky actions without knowing the stakes.
AIC is the fix. It gives your app a way to publish what each control means β its identity, its purpose, its risk level, what workflow it belongs to β so agents can operate it reliably instead of guessing.
π‘ The key idea: expose what the page means, not just what it looks like.
AIC adds a thin layer of explicit semantics to your app. Think of it as giving every important control a name tag, a job description, and a risk rating β in a format that agents can read directly.
// Before AIC β an agent has to guess what this does
<button onClick={handleDelete}>Delete</button>
// After AIC β the agent knows exactly what this is
<button
onClick={handleDelete}
agentId="order.delete"
agentAction="submit"
agentDescription="Permanently deletes the selected order"
agentRisk="critical"
agentRequiresConfirmation
agentConfirmation={{
type: "human_review",
prompt_template: "Delete the selected order. This cannot be undone."
}}
>
Delete
</button>Run one command and AIC generates a suite of artifacts:
/.well-known/agent.json β app identity & capabilities
/.well-known/agent/ui β live UI manifest (what's on screen right now)
/.well-known/agent/actions β semantic action contracts
agent-permissions.json β who can do what
agent-workflows.json β multi-step flow definitions
operate.txt β plain-English operation guide
Instead of scraping the DOM, an agent queries the AIC manifest, finds order.delete, reads its risk level and confirmation requirements, and executes it correctly β every time.
Agent: "Which element deletes an order?"
AIC: "agentId=order.delete, risk=critical, confirmation required"
Agent: β
Executes safely
If you already have a React, Next.js, or Vite app, start here:
{
"mcpServers": {
"aic": {
"command": "npx",
"args": ["-y", "@aicorg/mcp-server"]
}
}
}That's it. Your agent now has 6 read-only tools to discover app capabilities, inspect elements, filter by risk/role/entity, read permissions and workflows, and understand semantic action contracts.
npx @aicorg/cli init ./my-appThen annotate your important controls using the React SDK:
npm install @aicorg/sdk-reactimport { useAICElement } from '@aicorg/sdk-react';
const { attributes } = useAICElement({
agentId: 'checkout.submit',
agentAction: 'submit',
agentDescription: 'Completes the purchase',
agentRisk: 'high',
});
<button {...attributes} onClick={handleCheckout}>
Complete Purchase
</button>| Package | What It Does |
|---|---|
ποΈ @aicorg/spec |
JSON schemas & manifest shapes β the contract |
π§ @aicorg/runtime |
In-browser registry, live manifest serialization |
βοΈ @aicorg/sdk-react |
React hooks & components for agent* props |
βοΈ @aicorg/cli |
scan, generate, init, doctor, diff, apply |
π @aicorg/plugin-next |
Next.js artifact generation |
π @aicorg/plugin-vite |
Vite artifact generation |
π₯οΈ @aicorg/mcp-server |
MCP server for Claude Desktop, Cursor & friends |
π¬ @aicorg/devtools |
Browser inspector overlay + DevTools panel |
π€ @aicorg/ai-bootstrap |
Playwright-backed capture β model-generated suggestions |
π @aicorg/ai-bootstrap-openai |
OpenAI adapter for bootstrap generation |
π¨ @aicorg/integrations-radix |
Radix UI adapter (dialog, dropdown, select...) |
π¨ @aicorg/integrations-shadcn |
shadcn/ui adapter |
π§ @aicorg/automation-core |
Scanning, diagnostics, artifact generation internals |
Alpha packages are live on npm. Install via
npm install @aicorg/cli@alpha.
See npm-packages.md for the full matrix and install commands.
| I want to⦠| Go here |
|---|---|
| π§© Adopt AIC in an existing app | Adopt AIC In An Existing App |
| π Add Auth0 to an agent-enabled app | Auth0 For AI Agents With AIC |
| π Try AIC in 15 minutes | Next.js Checkout Example |
| π Try AIC in 15 minutes with Vite | Vite CRM Example |
| π€ Connect Claude Desktop or Cursor | MCP Server Setup |
| βοΈ Instrument a React/Next.js app | Next.js Checkout Example |
| β‘ Instrument a Vite/React app | Vite CRM Example |
| π Read case studies and benchmark proof | AIC Case Studies |
| π§ͺ See the real-app Twenty benchmark | Twenty Official Benchmark Report |
| π§ͺ Plan a real-app adoption benchmark | Twenty Adoption Benchmark |
| π§© See the real Twenty integration map | Twenty Instrumentation Plan |
| π οΈ Patch a real Twenty fork | Twenty Local Integration Notes |
| π§ͺ See a TodoMVC MCP benchmark | TodoMVC Example |
| π€ Use AI to bootstrap annotations | Bootstrap Example |
| π£ Read launch/adoption/proof posts | AIC Updates |
| π©βπ» Onboard a coding agent (Claude, Gemini, Copilot) | Coding Agent Onboarding |
| π¦ Browse all packages | npm Packages |
| π¬ See what's currently supported | Supported Today |
Inside this repo, use the local CLI wrapper:
pnpm aic --help
pnpm --dir examples/nextjs-checkout-demo run aic:doctor
pnpm --dir examples/nextjs-checkout-demo run aic:generate
pnpm --dir examples/react-basic run aic:doctor
pnpm smoke:init
pnpm smoke:adoption
pnpm smoke:mcp
pnpm smoke:mcp:stdioOutside this repo, use the published alpha CLI:
npx @aicorg/cli@alpha init ./my-app
npx @aicorg/cli@alpha doctor ./my-app
npx @aicorg/cli@alpha generate project ./my-app/aic.project.json --out-dir ./my-app/publicWhen those commands pass, you have the minimum AIC adoption loop working:
- instrumentation in source
- onboarding files for coding agents
- generated discovery/UI/permissions/workflow artifacts
- a doctor report with no blocking errors
What you should have after the first pass:
aic.project.json- onboarding files like
AGENTS.md,CLAUDE.md, andGEMINI.md - generated discovery, UI, permissions, and workflow artifacts
- an app contract that an MCP-compatible agent can read without guessing
For the copyable app-integration path, use Adopt AIC In An Existing App.
If you want proof before adoption, start with these:
We ran a real browser agent benchmark on the TailAdmin dashboard using Claude Sonnet 4.6.
| Metric | Baseline Agent | AIC-Powered Agent | Improvement |
|---|---|---|---|
| β Success Rate | 33.3% | 100% | +66.7pp |
| β±οΈ Median Time | 134s | 64s | 52% faster |
| π±οΈ Median Steps | 12 | 3 | 75% fewer |
| π Retries | 2 | 0 | 100% reduction |
| Metric | Baseline Agent | AIC-Powered Agent | Improvement |
|---|---|---|---|
| β Success Rate | 100% | 100% | maintained |
| β±οΈ Median Time | 99s | 70s | 29% faster |
| π±οΈ Median Steps | 20 | 6 | 70% fewer |
These are real browser-agent runs. The agent opened a browser, navigated the UI, filled forms, and verified results.
We also ran a real-app adoption benchmark on a patched local fork of Twenty CRM. The current official measured slice is green on detail navigation, destructive safety, record-scoped note creation, record-scoped task creation, list sort plus record open, list filter plus record open, record-level stage mutation, and active filter clear. Twenty report β
pnpm aic init ./my-app # scaffold config + onboarding files
pnpm aic doctor ./my-app # audit coverage gaps before generating
pnpm aic scan ./my-app/src # preview what was extracted
pnpm aic generate project aic.project.json \ # emit all manifests
--out-dir ./public
pnpm aic diff ui before.json after.json # review changes before committing# Capture your app with Playwright
# Feed captures to a model (OpenAI, any HTTP provider)
# Get back reviewed, human-approved annotation suggestions
pnpm aic bootstrap <url> \
--captures-file captures.json \
--provider-kind openai \
--provider-model gpt-4o
pnpm aic generate authoring-plan runtime-snapshot.json \
--report public/report.json \
--bootstrap-review bootstrap-review.json
pnpm aic apply authoring-plan aic-authoring-plan.json \
--project-root ./my-app --write- Mount
AICDevtoolsBridgenext toAICProviderin dev - Use
AICDevtoolsOverlayfor quick visual checks - Open the browser DevTools panel for full filtering, diffing, and patch-plan export
- Run
pnpm aic apply authoring-plan <plan.json> --project-root ./app --writeto commit edits
For developers building AI-powered or agent-operated apps: AIC gives you control over how agents interact with your app. You define the contract, agents respect it. No more hoping the AI clicks the right button.
For teams building AI agents and tooling: AIC-instrumented apps are dramatically faster and more reliable to operate autonomously. Less DOM scraping, fewer retries, zero guessing on risky actions.
For product/non-dev readers: Imagine hiring a new employee to use your software. Without documentation, they'd click around guessing. AIC is the documentation your app publishes for AI agents β telling them where everything is, what it does, and how dangerous it is to touch.
| Doc | What It Covers |
|---|---|
| architecture.md | Full system architecture diagram β packages, data flows, manifests, CLI, MCP |
| manifest-spec.md | Full manifest shape reference |
| sdk-api.md | React SDK hooks and props |
| mcp-server.md | MCP server setup and tool reference |
| release-status.md | What is ready to evaluate right now |
| release-checklist.md | Verification and release gates |
| coding-agents.md | Agent onboarding templates |
| npm-packages.md | Published package matrix |
| supported-today.md | Implementation boundaries |
| threat-model.md | Security and trust model |
| implementation-phases.md | Roadmap phases |
| reference-consumer.test.mjs | End-to-end contract consumer reference test |
JSON Schemas live under schemas/.
- β Public GitHub launch ready
- β
First-wave
@aicorg/*packages published to npm underalphatag - β
@aicorg/devtoolsincluded in the publishable alpha package surface - β MCP server live and MCP-compatible with Claude Desktop, Cursor, and others
- β TailAdmin benchmark validates real agent improvement with AIC semantics
- β Release and evaluator docs now reflect the current alpha surface
- π Further package releases go through the GitHub publish workflow
- π Apache-2.0 for the repo and all publishable packages
AIC is free and open under Apache-2.0 β commercial and non-commercial use included.
The project earns through services, not software locks:
- Implementation and onboarding support
- MCP integration and custom agent work
- Future hosted capabilities and ecosystem value
See SERVICES.md for the voluntary attribution request and CONTRIBUTOR-LICENSING.md for the outside contribution policy.
AIC is in alpha. Here's what isn't ready yet:
- β Arbitrary third-party or unknown sites β AIC is for owned apps you instrument
- β Zero-touch onboarding of dynamic codebases β annotation is still a human decision
- β Non-React production coverage β React/Next/Vite is the current supported surface
- β Stable npm GA β still
alphatagged; breaking changes are possible β οΈ Live Playwright capture depends on local browser/sandbox environmentβ οΈ Extraction is deterministic only β string literals, template literals, same-file const chains. Dynamic JSX expressions produce diagnostics, not guesses.
pnpm check # typecheck every workspace package and example
pnpm build # build all packages and apps
pnpm test # full contract test suite
pnpm test:goldens # verify checked-in golden artifacts
pnpm test:update-goldens # regenerate goldens after intentional changes1. Update source annotations, generators, or fixtures
2. pnpm test:update-goldens
3. Inspect manifest diffs under tests/fixtures/**/expected
4. pnpm test:goldens
5. pnpm test
This repo ships onboarding templates for all major coding agents:
| Agent | File |
|---|---|
| Claude | CLAUDE.md |
| Gemini / Antigravity | GEMINI.md |
| GitHub Copilot | .github/copilot-instructions.md |
| Cursor | .cursor/rules/aic.mdc |
| All agents (canonical) | AGENTS.md |
pnpm aic init [project-root] # scaffold aic.project.json + onboarding files
pnpm aic doctor [project-root] # audit config, coverage, diagnostics β no mutationsAIC is pre-series-A, early-stage, and moving fast.
Stars, feedback, and real-world adoption reports are extremely welcome. π

