Coding & Developmentπ€claudeβ¨οΈcursorπuniversal
glooit π§΄
π§΄glooit keeps your AI agent rules, MCP, Skills & Commands configurations in perfect sync across Claude Code, Cursor, Roo Code, and other AI development tools.
Quick Start
Install this Skill
npx skills add nikuscs/glooit# glooit π§΄
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
- **MCP Servers** - Model Context Protocol configurations
- **Agent Hooks** - Lifecycle hooks for Claude Code and Cursor
## 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
```bash
# 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
```bash
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`.
```typescript
import { defineRules } from 'glooit';
export default defineRules({
rules: [
{
file: '.agents/main.md',
to: './',
targets: ['claude', 'cursor', 'codex']
}
]
});
```
Run `glooit sync` (or `bunx glooit sync` / `npx glooit sync`) and it creates:
- `CLAUDE.md` for Claude Code
- `.cursor/rules/main.mdc` for Cursor
- `AGENTS.md` for Codex
## Supported Agents
| Agent | Output Path | Format |
|-------|-------------|--------|
| `claude` | `CLAUDE.md` | Markdown |
| `cursor` | `.cursor/rules/{name}.mdc` | Frontmatter |
| `codex` | `AGENTS.md` | Markdown |
| `opencode` | `AGENTS.md` | Markdown |
| `factory` | `AGENTS.md` | Markdown |
| `roocode` | `.roo/rules/{name}.md` | Markdown |
| `generic` | `{name}.md` | Markdown |
### Feature Support Matrix
| Feature | Claude | Cursor | OpenCode | Codex | Factory | Roo Code/Cline | Generic |
|-------------|--------|--------|----------|-------|---------|----------------|---------|
| Rules | β | β | β | β | β | β | β |
| Commands | β | β | β | β* | - | - | - |
| Skills | β | β | β** | β | β | - | - |
| Agents | β | β | β | - | β*** | - | - |
| MCP Servers | β | β | β | β | β | β | β |
| Hooks | β | β | - | - | β | - | - |
*Codex uses `.codex/prompts` for commands
**OpenCode uses Claude-compatible skills path (`.claude/skills/`)
***Factory uses "droids" (`.factory/droids/`) for agents
## Features
### Custom Paths
Override output locations per-agent:
```typescript
{
file: '.agents/backend.md',
to: './',
targets: [
'claude',
{ name: 'cursor', to: './backend/.cursor/rules/api.mdc' }
]
}
```
### Directory Sync
Sync commands, skills, and agents directories at the top level:
```typescript
export default defineRules({
rules: [...],
// Simple string path (defaults to claude, cursor, opencode)
commands: '.agents/commands',
// Or with explicit targets
skills: {
path: '.agents/skills',
targets: ['claude']
},
agents: {
path: '.agents/agents',
targets: ['claude', 'cursor']
}
});
```
Output mappings:
- `commands` β `.claude/commands`, `.cursor/commands`, `.opencode/command`, `.codex/prompts`
- `skills` β `.claude/skills`, `.cursor/skills`, `.codex/skills`, `.factory/skills` (OpenCode uses `.claude/skills`)
- `agents` β `.claude/agents`, `.cursor/agents`, `.opencode/agent`, `.factory/droids`
### Symlink Mode
Use symlinks instead of copying. This keeps your source of truth in `.agents` and updates targets instantly.
```typescript
export default defineRules({
mode: 'symlink', // or 'copy'
rules: [
{
file: '.agents/main.md',
to: './',
targets: ['claude', 'cursor']
},
{
file: '.agents/codex.md',
to: './',
mode: 'copy', // per-rule override
... (truncated)Related Skills
More coding & development skills you might like
Reticle
Coding & DevelopmentAI agents can generate code, but still struggle to understand what they build. Reticle brings Jev-style machine-native runtime perception to web & desktop applications.
π€claudeπuniversal
1.2k
190
View
agentscope-java
Coding & DevelopmentExpert Java developer skill for AgentScope Java framework - a reactive, message-driven multi-agent system built on Project Reactor. Use when working with reactive programming, LLM integration, agent orchestration, multi-agent systems, or when the user mentions AgentScope, ReActAgent, Mono/Flux, Project Reactor, or Java agent development. Specializes in non-blocking code, tool integration, hooks, pipelines, and production-ready agent applications.
πuniversal
6.0k
1.5k
View
ospec
Coding & DevelopmentDocument-driven OSpec workflow for initialization, change/goal routing, validation, archiving, and durable project knowledge.
β¨geminiπ€claudeπ¬gptπuniversal
524
34
View
misakanet-failure-memory
Coding & Developmentπ A zero-dependency, git-backed micro-lesson library for AI Agents to asynchronously share and search verified debugging experience. Python stdlib only. | https://misakanet.org
π€claudeβ¨οΈcursorπuniversal
424
158
View