claudeers.
// MCP Servers

Agnostic-AI

Your AI coding harness, ported to every client you use. Capture Claude Code (or Codex) rules, hooks, skills, subagents, commands and MCP servers once; apply…

Actively maintained
100/100
last commit 16 days ago
last release about 1 month ago
releases 2
open issues 0

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up Agnostic-AI (git-clone project) into my current project.
Found on https://claudeers.com/agnostic-ai
Repo: https://github.com/ucsandman/Agnostic-AI
Homepage/docs: —
Detected install method: git-clone → git clone https://github.com/ucsandman/Agnostic-AI
Category: mcp-servers. Platforms: cli, api, web.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
active; community-verified: false. Confirm the source before running anything.
// or clone
git clone https://github.com/ucsandman/Agnostic-AI

// compatibility

Platformscli, api, web
Operating systems—
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguageJavaScript

Get your FREE $2.50 API credits to access TickAtlas financial data ↗

Agnostic AI

Your AI coding harness, ported to every client you use.

You spent months tuning Claude Code: a working agreement in CLAUDE.md, guard hooks that block secrets and destructive commands, skills, custom subagents, slash commands, MCP servers. Then you open Codex, or Cursor, or Gemini CLI, and none of it is there. Agnostic AI captures that harness once and applies it, identically, to every other client on the machine. Switch models and tools without switching how the agent behaves.

git clone https://github.com/ucsandman/Agnostic-AI.git && cd Agnostic-AI
npm run port

That is the whole install. No npm dependencies, no Python, nothing phones home. Node 18 or newer.

What gets ported

ComponentFrom (Claude Code)To Codex CLITo Gemini CLITo CursorTo 16 others
Rules (CLAUDE.md, imports inlined)✓AGENTS.mdGEMINI.mdrules/*.mdceach client's rules file
Identity (SOUL.md)✓inlinedinlinedinlinedinlined or traits file
Hooks (settings.json)✓config.toml, pre-trustedsettings.json via shimhooks.json via shimwhere the client has hooks
Skills (skills/*/SKILL.md)✓linkedlinkedlinkedlinked
Subagents (agents/*.md)✓agents/*.toml, model ladder mapped–agents/*.mdwhere supported
Slash commands (commands/*.md)✓prompts/*.mdcommands/*.tomlcommands/*.mdwhere supported
MCP servers (.claude.json)✓[mcp_servers]mcpServersmcp.jsonwhere supported
Permissions✓rules/*.rules–––

Codex CLI works as the source too: the same eight components are read back from ~/.codex and written into Claude Code and the rest. The live matrix for your machine is npm run status; the generated per-client table is docs/targets.md.

Supported clients: Claude Code, Codex CLI, Gemini CLI, Antigravity CLI, Cursor, Windsurf, GitHub Copilot, Cline, Aider, OpenHands, Goose, Continue, Zed, OpenCode, Trae, Amazon Q, Sourcegraph Cody, OpenClaw, Hermes, and a generic system prompt for any local or API model.

How it works

capture  ~/.claude  ──▶  harness/  ──▶  apply  ~/.codex  ~/.gemini  ~/.cursor  ...
         (the client        (client-neutral        (each client's own dialect,
          you use)           bundle)                same guard scripts, same skills)
  1. Capture reads the client you use into a client-neutral bundle: markdown rules with every @import inlined, hooks in one canonical dialect, the list of skills, agents, commands, MCP servers and permissions. A credential never enters the bundle: an env value that looks like a token is replaced with ${NAME} and you are told which variable to export.
  2. Apply renders the bundle into every other installed client, in that client's dialect. Hooks are not copied; each client is pointed at the same scripts, wrapped in a shim where the client speaks another payload format. Codex gets its hook trust hashes pre-computed so nothing asks for a /hooks review. Skills are linked, not copied, so an edit is live everywhere at once.
  3. Nothing is destroyed. Generated files carry a header that marks them as the port's; user-owned files (config.toml, settings.json, mcp.json) get a marked region or per-key ownership and are otherwise preserved byte for byte. Every overwrite is backed up first. --check exits 1 on drift.
  4. Every drop is explained. A hook that only makes sense in one client, a skill that needs a tool only one client has, an MCP server bound to one OAuth grant: each is listed by npm run explain with its reason, and the list lives in core/port.json where you can change it.

Details, dialect tables and the not-ported list: docs/porting.md.

Commands

CommandWhat
npm run portCapture the source client and apply to every other installed client. The everyday command.
npm run port:checkSame, writes nothing; exit 1 if anything drifted. Put it in a nightly job.
npm run status / npm run status:openPer-client, per-component matrix, in the terminal or as a page.
npm run explainEverything that was not ported, with reasons.
npm run parityThe status page as a local server with a "Port now" button (127.0.0.1 only).
npm run capture / npm run applyThe two halves separately.
npm run setup:defaultFirst-run onboarding: harvest past lessons, consolidate skills, port, install the shipped guards into your primary client.
npm run launchSetup check, port check, engine tests, then the command center.

Flags: --from claude|codex, --to codex,gemini, --check, --dry-run, --force, --home <dir>, --json. Full list: docs/configuration.md.

Also in the box

  • Safety policy. core/safety/guards.json is one file read by the shipped guards (secret-guard, dashclaw-guard) and the dashboard simulator. Secret paths are always blocked; hard-stop commands need a human; a missing or unreachable policy fails closed. npm run setup:default installs the guards into your primary client, and the port carries them everywhere else.
  • A learning loop. npm run harvest collects errors and corrections from local agent logs into candidate rules; npm run distill runs a promotion ladder (observation, fact, rule) and writes a proposal; you approve from the dashboard and the rule lands in your working agreement.
  • Authoring mode. Prefer to keep the working agreement in this repo? Write core/rules/global-rules.md, run npm run sync to compile it into your primary client, then npm run port.
  • Human surfaces. npm run dashboard (command center: candidates, rules, skills matrix, project recommendations, DashClaw settings, guard simulator), npm run recall (search rules and memory), npm run parity (port status). All bind 127.0.0.1; mutating routes need a per-process token and a loopback origin.
  • Governed autonomy (optional). Point DASHCLAW_BASE_URL at a DashClaw instance and risky calls are held for remote approval.

Documentation

docs/porting.mdWhat each component is, how it maps per client, the hook shim, what is deliberately not ported, ownership and secrets.
docs/targets.mdThe generated per-client table: home, rules file, hook config, skills, agents, commands, MCP.
docs/architecture.mdHow capture, apply, the shim, harvest and distill fit together; storage layout.
docs/configuration.mdcore/port.json, every command and flag, env vars, scheduled jobs, uninstall.
engine/harness/README.mdThe adapter contract: add a client in one file.
CONTRIBUTING.mdSetup, tests, where things live, rules for a change.
SECURITY.mdScope, reporting, what the guard is not.
CHANGELOG.mdRelease notes.

Repository layout

engine/harness/   capture.cjs, apply.cjs, status.cjs, cli.cjs, bundle.cjs, toml.cjs, common.cjs
                  sources/ (claude, codex)   targets/ (codex, claude, gemini, agy, cursor, generic)
engine/hooks/     shim.cjs (dialect translation), universal-adapter.cjs, secret-guard, dashclaw-guard,
                  fable-delegate-guard, capability-graph-guard, correction-tracker
engine/           sync/ (authoring mode), harvest/, distill/, ingest/, skills/, audit/, setup/, docs/, tests/
core/             port.json (policy), templates/targets.json (registry), safety/guards.json,
                  rules/ + traits/ (authoring mode), examples/
tools/            Local web UIs: sync/ (port status), dashboard/, recall/
harness/          Your captured bundle (gitignored; holds machine paths, never secrets)
storage/          Runtime state (gitignored): ownership, reports, backups of every overwritten file
jobs/             PowerShell wrappers for a scheduled port and the nightly distill

Development

npm test               # engine suite + sync, hook, wire-protocol and port regressions
npm run docs:check     # generated docs are current

Every test builds a throwaway home directory; nothing in the suite touches yours. CI runs on Ubuntu (Node 18 and 22) and Windows (Node 22). See CONTRIBUTING.md.

Using this repository as a template

Click Use this template on GitHub, clone your copy, run npm run port. Edit core/port.json to change the source client, restrict the targets, or exclude a hook, skill or MCP server with a reason. To version your harness, remove the harness/ line from .gitignore; the bundle is plain markdown and JSON and the save refuses anything that looks like a secret.

  • agnostic-agent: the terminal coding agent that used to live in this repo. Local or hosted models, subagents, the same safety policy.
  • DashClaw: remote approvals and execution evidence for unattended agents.
  • agent-capsule: move a whole Claude Code harness onto a fresh Linux box.

License

MIT. See LICENSE.

// faq

What is Agnostic-AI?

Your AI coding harness, ported to every client you use. Capture Claude Code (or Codex) rules, hooks, skills, subagents, commands and MCP servers once; apply them identically to Codex, Gemini CLI, Cursor and 16 more. Zero-dependency Node.. It is open-source on GitHub.

Is Agnostic-AI free to use?

Agnostic-AI is open-source under the MIT license, so it is free to use.

What category does Agnostic-AI belong to?

Agnostic-AI is listed under mcp-servers in the Claudeers registry of Claude-compatible tools.

4 views
★ 21 stars
unclaimed
updated 24 days ago

// embed badge

Agnostic-AI on Claudeers
[![Claudeers](https://claudeers.com/api/badge/agnostic-ai.svg)](https://claudeers.com/agnostic-ai)

// retro hit counter

Agnostic-AI hit counter
[![Hits](https://claudeers.com/api/counter/agnostic-ai.svg)](https://claudeers.com/agnostic-ai)

// reviews

// guestbook

0/500

// related in MCP Servers

🔓

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete…

// mcp-serversf/⟨HTML⟩★ 171,127◷ NOASSERTION[ claude ]
🔓

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io

// mcp-serversfarion1231/⟨Rust⟩★ 136,484◷ MIT[ claude ]
🔓

🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

// mcp-serversJuliusBrussee/⟨JavaScript⟩★ 107,719◷ MIT[ claude ]
🔓

An open-source AI agent that brings the power of Gemini directly into your terminal.

// mcp-serversgoogle-gemini/⟨TypeScript⟩★ 107,167◷ Apache-2.0[ claude ]
→ see how Agnostic-AI connects across the ecosystem