lnai — One Config, All AI Tools
The Problem
Every AI coding tool has its own config format:
- Claude Code →
.claude/ - Cursor →
.cursor/ - GitHub Copilot →
.github/copilot-instructions.md - Gemini CLI →
.gemini/ - Windsurf →
.windsurf/
Maintaining separate configs for each tool is tedious and error-prone.
The Solution
lnai creates a single .ai/ directory as your source of truth:
.ai/
├── instructions.md # Shared coding instructions
├── rules/ # Coding rules (applied to all tools)
└── config.yaml # Tool-specific overridesThen lnai sync generates native config files for all supported tools.
Supported Tools
| Tool | Config Directory | Status |
|---|---|---|
| Claude Code | .claude/ |
✅ |
| Codex | .codex/ |
✅ |
| Cursor | .cursor/ |
✅ |
| Gemini CLI | .gemini/ |
✅ |
| GitHub Copilot | .github/copilot-instructions.md |
✅ |
| OpenCode | .opencode/ |
✅ |
| Windsurf | .windsurf/ |
✅ |
Commands
lnai init # Create .ai/ configuration structure
lnai validate # Check configs for errors
lnai sync # Export to all native tool formats
lnai clean # Remove orphaned config filesFAQ
Q: What is lnai?
A: lnai is a CLI tool that manages AI coding configurations from a single .ai/ directory and syncs them to 7+ tools including Claude Code, Cursor, and GitHub Copilot.
Q: Is lnai free? A: Yes, lnai is free and open source under the MIT license.
Q: How do I install lnai?
A: Run npm install -g lnai, then lnai init in your project to create the .ai/ config directory.