Sync AI coding assistant configurations across Claude Code, Cursor, Codex, OpenCode, and Roo Code/Cline.
Rules - Agent instructions and guidelines
Commands - Custom slash commands
Skills - Reusable agent capabilities
Agents - Custom agent definitions
- Model Context Protocol configurations
🧴 Sync your AI agent configurations and rules across platforms with ease
2026-10-28
星數
—
工具
—
可用率
—
MCP Servers
Agent Hooks - Lifecycle hooks for Claude Code and Cursor
Settings Merge - Merge shared env/permissions into provider-native settings files
Why glooit?
Teams today use different AI coding assistants - some prefer Claude Code, others use Cursor, OpenCode, and CI/CD might run on Codex. Each tool has its own config format and location:
Claude Code reads CLAUDE.md, commands in .claude/commands/, skills in .claude/skills/
Cursor uses .cursor/rules/*.mdc with frontmatter, commands in .cursor/commands/
OpenCode expects AGENTS.md, commands in .opencode/command/, agents in .opencode/agent/
Codex expects AGENTS.md
Roo Code/Cline looks in .roo/rules/
glooit lets you write your rules once and sync them everywhere. Perfect for:
Multi-agent teams - Everyone uses their preferred AI assistant with consistent rules
Monorepos - Different rules for different packages, all managed centrally
CI/CD pipelines - Same rules in development and automation
Evolving tooling - Switch or add AI assistants without rewriting configs
Install
# Homebrew (macOS/Linux)
brew tap nikuscs/glooit https://github.com/nikuscs/glooit
brew install glooit
# npm
npm install -g glooit
# bun
bun install -g glooit
# pnpm
pnpm install -g glooit
Quick Start
glooit init # Create config
glooit sync # Sync rules to all agents
Configuration
Create .agents/main.md with your rules, then configure glooit.config.ts:
Legacy support: .glooit is still supported. If configDir is not set, glooit will use .agents when present, otherwise it falls back to .glooit.
merge defaults to true (set merge: false to overwrite instead of merge).
envFiles is optional; default lookup is ['.env.agents', '.env.local', '.env'].
For each key in settings.env, the first matching file in envFiles order wins.
.env.agents is checked first, giving you a dedicated file for agent-specific secrets.
If a key is not found in any env file, process.env is used as a fallback (useful for CI and shell-exported vars).
Safety guard: if env values would be written to git-tracked settings files (for claude/codex), sync fails with a warning to prevent committing secrets.
glooit init # Initialize configuration
glooit sync # Sync rules and MCPs
glooit link # Zero-config symlink sync (no config file needed)
glooit unlink # Replace symlinked outputs with real files
glooit validate # Validate configuration
glooit clean # Clean .gitignore entries
glooit reset --force # Remove all generated files
glooit upgrade # Upgrade glooit to latest version
glooit backup list # List available backups
glooit backup restore <timestamp> # Restore from backup
Link Command
The link command provides zero-config symlink-based syncing without requiring a config file:
glooit link # Auto-detect .agents/ or .glooit/ and sync to all agents
glooit link .my-rules # Use custom source directory
glooit link -t claude,cursor # Sync to specific agents only
It automatically discovers and symlinks:
CLAUDE.md → Claude Code
AGENTS.md → Codex, OpenCode, Factory
commands/ → All agents that support commands
skills/ → All agents that support skills
agents/ → All agents that support agents/droids
Upgrade
The upgrade command auto-detects your package manager and whether glooit is installed locally or globally:
glooit upgrade # Auto-detect and upgrade
glooit upgrade -g # Force global upgrade
glooit upgrade -l # Force local upgrade
# Install dependencies
bun install
# Run tests
bun run test
# Type check and lint
bun run check
# Build
bun run build
# Build local binary
bun run install:local
Releasing
bun run release
This runs checks, prompts for version bump, creates a git tag, and pushes. CI handles npm publish and GitHub release automatically.
Credits
Without these amazing projects, this project would not be possible.