One config.
Every AI tool.

Write your rules, skills, and agents once — generate correct configs for Claude Code, Cursor, Codex, and GitHub Copilot automatically.

5 Tools supported
1 Config source
0 Drift

Everything you need to manage AI configs

┌────────┐
│ ◉ .ai/ │
│ ◉ yaml │
└────────┘

Source of Truth

Define directives, skills, agents, MCP servers, hooks, and permissions in one .ai/ directory.

  .ai/  
   │    
 ┌─┼─┐  
 ▼ ▼ ▼  

Multi-Tool Sync

One command generates correct files for Claude Code, Cursor, Codex, Copilot, OpenCode, and Antigravity simultaneously.

┌──┐ ┌──┐
│░░│≠│▓▓│
└──┘ └──┘
  ⚠ diff 

Conflict Detection

Content hashing detects manually edited files. Never accidentally overwrite your changes.

CLAUDE.md
   ↓    
 scanner 
   ↓    

Import Existing

Already have configs? dotai import scans and converts Claude, Cursor, Codex, or Copilot configs into .ai/ format.

[✓] yaml  
[✓] refs  
[✓] paths 
[✓] valid 

Validation

dotai check validates your config against the schema before syncing, catching errors early.

+ skill/ 
+ agent  
+ hook   
= config 

Extensible

Markdown directives, skill folders, agent configs — add what you need, skip what you don't.

Three steps to unified configs

01

Define

Write your AI config once in .ai/config.yaml with directives, skills, and agents.

02

Sync

Run dotai sync to generate tool-specific config files from your single source.

03

Ship

Commit the generated files. Your whole team gets consistent AI tool configs.

config.yaml
version: 1 tools: - claude - cursor - codex - copilot - antigravity directives: - directives/*.md skills: - skills/*/SKILL.md mcp_servers: github: command: npx @modelcontextprotocol/server-github

One source, multiple outputs

Each tool gets exactly the files it expects, generated from your single .ai/ directory.

Claude Code

  • CLAUDE.md
  • .claude/settings.json
  • .mcp.json

Cursor

  • .cursor/rules/*.mdc
  • .cursor/mcp.json
  • .cursorignore

Codex

  • AGENTS.md
  • .codex/config.toml

GitHub Copilot

  • .github/copilot-instructions.md
  • .github/agents/*.agent.md
  • .vscode/mcp.json

OpenCode

  • .opencode/instructions/*.md
  • .opencode/agents/*.md
  • opencode.json

Antigravity

  • .agent/rules/*.md
  • .agent/skills/*/SKILL.md
  • mcp_config.json

Built for developers,
by developers.

A CLI tool that fits into your existing workflow. No cloud, no accounts — just your repo.

YAML-first Human-readable config, version-controllable
Zero lock-in Standard markdown + YAML, no proprietary formats
Conflict-aware Hash-based change detection, safe syncing
Extensible Skills, agents, hooks — add what you need
version: 1 tools: - claude - cursor - codex - copilot - antigravity directives: - directives/*.md permissions: allow: - Bash(npm test) - Bash(npm run build) deny: - Bash(rm -rf *)
# Initialize a new .ai/ directory $ dotai init # Sync configs to all tools $ dotai sync # Check config validity $ dotai check # View sync status $ dotai status # Import existing configs $ dotai import
--- description: Code style rules globs: src/**/*.ts --- # TypeScript Style Guide - Use strict mode - Prefer const over let - Use explicit return types - No any — prefer unknown - Tabs for indentation

Ready to unify your AI configs?

Stop maintaining separate config files. Start with one command.

Get Started →
$ npx dotai init