Type to search the docs and updates.

One setup
Every AI CLI

Keep agents, skills, rules, hooks, and MCP servers in one portable source. agnostic-ai writes each tool's native files and checks them for drift.

Recommended installerAll install options

curl -fsSL https://raw.githubusercontent.com/Chemaclass/agnostic-ai/main/scripts/install.sh | bash

25 targets. 10 portable spec kinds. Byte-stable output.

Set up agnostic-ai with a coding agent

Your setup outlives the tool you picked.

Every AI coding tool ships its own config file. Adopt three and your instructions live in three places, drifting apart. agnostic-ai keeps one source in your repository and writes the rest.

You own the source

Plain Markdown and YAML in your repo. No account, no service. import brings an existing setup in.

Generated files are outputs

Same input, same bytes, so they diff cleanly. sync --check fails CI when they drift.

No tool is privileged

Adding a target never changes what the others get. One rule routes to every native path and scope syntax.

A sync layer, not a platform

Easy to stop using. The generated files are yours, and they keep working.

Why not just symlink one file? Each tool reads a different format at a different path. A symlink shares bytes. It cannot translate them. See how the formats diverge

Write it once. Every tool reads it natively.

Everything lives in .agnostic-ai/, next to agnostic-ai.yaml, which picks your targets. Pick an entry to see a source file and the native files sync writes from it, each in its own tool's format.

.agnostic-ai/

Also commands/, reviews/, environments/, and ignore/. See every spec kind.

Subagents with a role, their tools, and a model per tool.

.agnostic-ai/agents/test-writer.md
---
name: test-writer
description: Writes a failing test for a bug.
tools: [Read, Grep, Edit]
model:
  claude: claude-sonnet-5
  codex: gpt-6-sol
effort: medium
---

Reproduce the bug in a failing test. Do not touch production code.

sync

.codex/agents/test-writer.toml
name = "test-writer"
description = "Writes a failing test for a bug."
model = "gpt-6-sol"
model_reasoning_effort = "medium"
developer_instructions = """
Reproduce the bug in a failing test. Do not touch production code.
"""
Docs: Agents

Four commands. Install, import, preview, sync.

Install

npm install -g agnostic-ai

Node 18 or newer, from your project root.

Start or import

agnostic-ai init --from all

Import existing AI tool files first.

Review the output

agnostic-ai sync --plan

Review the planned changes before writing them.

Write the files

agnostic-ai sync

Write every native file for the targets you chose.

Keep the setup current. Know what changed.

What shipped in agnostic-ai, and what changed upstream in the tools it targets.

Bring your existing setup.
Keep every target in sync.

agnostic-ai init --from all