crestreach / cyncia
Author your AI-assistant config once, sync it to every tool.
Cyncia takes a single, tool-agnostic source tree (guidelines, agents, skills, rules, MCP servers) and generates the per-tool layouts that Cursor, Claude Code, GitHub Copilot, VS Code, and JetBrains Junie expect.
Supported tools
- Cursor
- Claude Code
- GitHub Copilot
- VS Code
- JetBrains Junie
Source tree content is translated into each tool’s expected paths, formats, and frontmatter keys.
Overview
You author a single source tree under .agent-config/. Cyncia generates the
per-tool layouts for each supported assistant/tool.
You write this once
.agent-config/
├── AGENTS.md # project-wide guidelines
├── agents/<name>.md # one subagent per file
├── skills/<name>/SKILL.md # one skill per folder
├── rules/<name>.md # one rule per file
└── mcp-servers/<name>.json # one MCP server per file
…and Cyncia generates
- Tool-specific file paths and layouts
- Tool-specific file formats
- Tool-specific frontmatter keys
For the full reference (formats, frontmatter, MCP secret tokens, per-tool field map,
edge cases), see cyncia.md in the repo.
How it works
Cyncia maps a generic source layout into each tool’s expected destination layout.
| Source | Cursor | Claude Code | GitHub Copilot | VS Code | JetBrains Junie |
|---|---|---|---|---|---|
AGENTS.md |
AGENTS.md |
CLAUDE.md |
.github/copilot-instructions.md |
— | .junie/AGENTS.md |
agents/<n>.md |
.cursor/agents/<n>.md |
.claude/agents/<n>.md |
.github/agents/<n>.md |
— | .junie/agents/<n>.md |
skills/<n>/ |
.cursor/skills/<n>/ |
.claude/skills/<n>/ |
.github/skills/<n>/ |
— | .junie/skills/<n>/ |
rules/<n>.md |
.cursor/rules/<n>.mdc |
merged into CLAUDE.md |
.github/instructions/<n>.instructions.md |
— | merged into .junie/AGENTS.md |
mcp-servers/<n>.json |
.cursor/mcp.json |
.mcp.json |
(uses VS Code’s .vscode/mcp.json) |
.vscode/mcp.json |
stdout snippet |
Install
From your project root, run the installer.
curl -fsSL https://raw.githubusercontent.com/crestreach/cyncia/main/install/install.sh | bash
The installer creates .agent-config/, downloads a snapshot into
.cyncia/, and can copy bundled skills and run sync-all.
Dependencies
- Bash 4+ (macOS/Linux/WSL/Git Bash)
- PowerShell 5.1+ or PowerShell 7+ (Windows / cross-platform)
- jq 1.6+ (required only by the MCP sync and MCP step of
sync-all) - Git (not required by the installer or by sync time)
- Standard POSIX utilities (
sed,awk,grep,find)
Common installer flags
--config-dir.agent-config--cyncia-dir.cyncia--refmain--repocrestreach/cyncia--bootstrapAnswer “yes” to prompts--no-bootstrapAnswer “no” to prompts
Usage
Once the agent-conf-sync skill is installed, you can ask your AI assistant
to run syncs in plain language, or call the scripts directly.
Ask your assistant
- "sync agent config"
- "regenerate Cursor rules"
- "clean sync for Copilot only"
- "sync delegate-to-aside for Cursor and Claude"
Run scripts directly
# Sync everything for every supported tool
.cyncia/scripts/sync-all.sh -i .agent-config -o .
# Only some tools
.cyncia/scripts/sync-all.sh -i .agent-config -o . --tools cursor,claude
# Only some items (by name); --clean removes stale generated files
.cyncia/scripts/sync-all.sh -i .agent-config -o . --items delegate-to-aside --clean
# Windows / PowerShell
.\.cyncia\scripts\sync-all.ps1 -InputRoot .agent-config -OutputRoot $PWD
Default layout
A default directory layout is documented in the repository README.
your-repo/
├── .agent-config/ # source of truth (you author these)
│ ├── AGENTS.md
│ ├── agents/
│ ├── skills/
│ ├── rules/
│ └── mcp-servers/
├── .cyncia/ # cyncia checkout (submodule / subtree / sparse clone)
│ ├── scripts/
│ └── skills/
├── .cursor/ # generated
├── .claude/ # generated
├── .github/ # generated
├── .junie/ # generated
├── .vscode/mcp.json # generated (when mcp-servers/ exists)
├── AGENTS.md # generated (copy of .agent-config/AGENTS.md)
└── CLAUDE.md # generated
Links
Repository resources referenced in the README.
Contact
License
MIT.