Skip to content

Commit 894fa63

Browse files
Merge pull request #1109 from r1bilski/codex-local-mcp
feat(mcp): Add local mode support for Codex CLI
2 parents 7058464 + cc098b2 commit 894fa63

11 files changed

Lines changed: 180 additions & 111 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,7 @@ docs/.vitepress/cache
239239
**/.codex/memories/
240240
**/.codex/skills/
241241
**/.codex/agents/
242+
**/.codex/config.toml
242243
**/.cursor/
243244
**/.cursorignore
244245
**/.factory/rules/

README.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -62,30 +62,30 @@ See [Quick Start guide](https://dyoshikawa.github.io/rulesync/getting-started/qu
6262

6363
## Supported Tools and Features
6464

65-
| Tool | --targets | rules | ignore | mcp | commands | subagents | skills | hooks |
66-
| ------------------ | ------------ | :---: | :----: | :---: | :------: | :-------: | :----: | :---: |
67-
| AGENTS.md | agentsmd || | | 🎮 | 🎮 | 🎮 | |
68-
| AgentsSkills | agentsskills | | | | | || |
69-
| Claude Code | claudecode | ✅ 🌏 || ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
70-
| Codex CLI | codexcli | ✅ 🌏 | | 🌏 🔧 | 🌏 || ✅ 🌏 | |
71-
| Gemini CLI | geminicli | ✅ 🌏 || ✅ 🌏 | ✅ 🌏 | 🎮 | ✅ 🌏 | |
72-
| Goose | goose | ✅ 🌏 | | | | | | |
73-
| GitHub Copilot | copilot | ✅ 🌏 | | |||| |
74-
| Cursor | cursor ||| | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
75-
| Factory Droid | factorydroid | ✅ 🌏 | | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | |
76-
| OpenCode | opencode | ✅ 🌏 | | ✅ 🔧 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 |
77-
| Cline | cline ||| | ✅ 🌏 | | | |
78-
| Kilo Code | kilo | ✅ 🌏 || | ✅ 🌏 | | ✅ 🌏 | |
79-
| Roo Code | roo ||| || 🎮 | ✅ 🌏 | |
80-
| Qwen Code | qwencode ||| | | | | |
81-
| Kiro | kiro ||| |||| |
82-
| Google Antigravity | antigravity || | || | ✅ 🌏 | |
83-
| JetBrains Junie | junie ||| | | | | |
84-
| AugmentCode | augmentcode ||| | | | | |
85-
| Windsurf | windsurf ||| | | | | |
86-
| Warp | warp || | | | | | |
87-
| Replit | replit || | | | || |
88-
| Zed | zed | || | | | | |
65+
| Tool | --targets | rules | ignore | mcp | commands | subagents | skills | hooks |
66+
| ------------------ | ------------ | :---: | :----: | :------: | :------: | :-------: | :----: | :---: |
67+
| AGENTS.md | agentsmd || | | 🎮 | 🎮 | 🎮 | |
68+
| AgentsSkills | agentsskills | | | | | || |
69+
| Claude Code | claudecode | ✅ 🌏 || ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
70+
| Codex CLI | codexcli | ✅ 🌏 | | 🌏 🔧 | 🌏 || ✅ 🌏 | |
71+
| Gemini CLI | geminicli | ✅ 🌏 || ✅ 🌏 | ✅ 🌏 | 🎮 | ✅ 🌏 | |
72+
| Goose | goose | ✅ 🌏 | | | | | | |
73+
| GitHub Copilot | copilot | ✅ 🌏 | | |||| |
74+
| Cursor | cursor ||| | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
75+
| Factory Droid | factorydroid | ✅ 🌏 | | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | |
76+
| OpenCode | opencode | ✅ 🌏 | | ✅ 🔧 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 |
77+
| Cline | cline ||| | ✅ 🌏 | | | |
78+
| Kilo Code | kilo | ✅ 🌏 || | ✅ 🌏 | | ✅ 🌏 | |
79+
| Roo Code | roo ||| || 🎮 | ✅ 🌏 | |
80+
| Qwen Code | qwencode ||| | | | | |
81+
| Kiro | kiro ||| |||| |
82+
| Google Antigravity | antigravity || | || | ✅ 🌏 | |
83+
| JetBrains Junie | junie ||| | | | | |
84+
| AugmentCode | augmentcode ||| | | | | |
85+
| Windsurf | windsurf ||| | | | | |
86+
| Warp | warp || | | | | | |
87+
| Replit | replit || | | | || |
88+
| Zed | zed | || | | | | |
8989

9090
- ✅: Supports project mode
9191
- 🌏: Supports global mode

docs/reference/supported-tools.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,30 @@
22

33
Rulesync supports both **generation** and **import** for All of the major AI coding tools:
44

5-
| Tool | --targets | rules | ignore | mcp | commands | subagents | skills | hooks |
6-
| ------------------ | ------------ | :---: | :----: | :---: | :------: | :-------: | :----: | :---: |
7-
| AGENTS.md | agentsmd || | | 🎮 | 🎮 | 🎮 | |
8-
| AgentsSkills | agentsskills | | | | | || |
9-
| Claude Code | claudecode | ✅ 🌏 || ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
10-
| Codex CLI | codexcli | ✅ 🌏 | | 🌏 🔧 | 🌏 || ✅ 🌏 | |
11-
| Gemini CLI | geminicli | ✅ 🌏 || ✅ 🌏 | ✅ 🌏 | 🎮 | ✅ 🌏 | |
12-
| GitHub Copilot | copilot | ✅ 🌏 | | |||| |
13-
| Goose | goose | ✅ 🌏 | | | | | | |
14-
| Cursor | cursor ||| | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
15-
| Factory Droid | factorydroid | ✅ 🌏 | | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | |
16-
| OpenCode | opencode | ✅ 🌏 | | ✅ 🔧 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 |
17-
| Cline | cline ||| | ✅ 🌏 | | | |
18-
| Kilo Code | kilo | ✅ 🌏 || | ✅ 🌏 | | ✅ 🌏 | |
19-
| Roo Code | roo ||| || 🎮 | ✅ 🌏 | |
20-
| Qwen Code | qwencode ||| | | | | |
21-
| Kiro | kiro ||| |||| |
22-
| Google Antigravity | antigravity || | || | ✅ 🌏 | |
23-
| JetBrains Junie | junie ||| | | | | |
24-
| AugmentCode | augmentcode ||| | | | | |
25-
| Windsurf | windsurf ||| | | | | |
26-
| Warp | warp || | | | | | |
27-
| Replit | replit || | | | || |
28-
| Zed | zed | || | | | | |
5+
| Tool | --targets | rules | ignore | mcp | commands | subagents | skills | hooks |
6+
| ------------------ | ------------ | :---: | :----: | :------: | :------: | :-------: | :----: | :---: |
7+
| AGENTS.md | agentsmd || | | 🎮 | 🎮 | 🎮 | |
8+
| AgentsSkills | agentsskills | | | | | || |
9+
| Claude Code | claudecode | ✅ 🌏 || ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
10+
| Codex CLI | codexcli | ✅ 🌏 | | 🌏 🔧 | 🌏 || ✅ 🌏 | |
11+
| Gemini CLI | geminicli | ✅ 🌏 || ✅ 🌏 | ✅ 🌏 | 🎮 | ✅ 🌏 | |
12+
| GitHub Copilot | copilot | ✅ 🌏 | | |||| |
13+
| Goose | goose | ✅ 🌏 | | | | | | |
14+
| Cursor | cursor ||| | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
15+
| Factory Droid | factorydroid | ✅ 🌏 | | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | |
16+
| OpenCode | opencode | ✅ 🌏 | | ✅ 🔧 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 |
17+
| Cline | cline ||| | ✅ 🌏 | | | |
18+
| Kilo Code | kilo | ✅ 🌏 || | ✅ 🌏 | | ✅ 🌏 | |
19+
| Roo Code | roo ||| || 🎮 | ✅ 🌏 | |
20+
| Qwen Code | qwencode ||| | | | | |
21+
| Kiro | kiro ||| |||| |
22+
| Google Antigravity | antigravity || | || | ✅ 🌏 | |
23+
| JetBrains Junie | junie ||| | | | | |
24+
| AugmentCode | augmentcode ||| | | | | |
25+
| Windsurf | windsurf ||| | | | | |
26+
| Warp | warp || | | | | | |
27+
| Replit | replit || | | | || |
28+
| Zed | zed | || | | | | |
2929

3030
- ✅: Supports project mode
3131
- 🌏: Supports global mode

skills/rulesync/supported-tools.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,30 @@
22

33
Rulesync supports both **generation** and **import** for All of the major AI coding tools:
44

5-
| Tool | --targets | rules | ignore | mcp | commands | subagents | skills | hooks |
6-
| ------------------ | ------------ | :---: | :----: | :---: | :------: | :-------: | :----: | :---: |
7-
| AGENTS.md | agentsmd || | | 🎮 | 🎮 | 🎮 | |
8-
| AgentsSkills | agentsskills | | | | | || |
9-
| Claude Code | claudecode | ✅ 🌏 || ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
10-
| Codex CLI | codexcli | ✅ 🌏 | | 🌏 🔧 | 🌏 || ✅ 🌏 | |
11-
| Gemini CLI | geminicli | ✅ 🌏 || ✅ 🌏 | ✅ 🌏 | 🎮 | ✅ 🌏 | |
12-
| GitHub Copilot | copilot | ✅ 🌏 | | |||| |
13-
| Goose | goose | ✅ 🌏 | | | | | | |
14-
| Cursor | cursor ||| | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
15-
| Factory Droid | factorydroid | ✅ 🌏 | | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | |
16-
| OpenCode | opencode | ✅ 🌏 | | ✅ 🔧 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 |
17-
| Cline | cline ||| | ✅ 🌏 | | | |
18-
| Kilo Code | kilo | ✅ 🌏 || | ✅ 🌏 | | ✅ 🌏 | |
19-
| Roo Code | roo ||| || 🎮 | ✅ 🌏 | |
20-
| Qwen Code | qwencode ||| | | | | |
21-
| Kiro | kiro ||| |||| |
22-
| Google Antigravity | antigravity || | || | ✅ 🌏 | |
23-
| JetBrains Junie | junie ||| | | | | |
24-
| AugmentCode | augmentcode ||| | | | | |
25-
| Windsurf | windsurf ||| | | | | |
26-
| Warp | warp || | | | | | |
27-
| Replit | replit || | | | || |
28-
| Zed | zed | || | | | | |
5+
| Tool | --targets | rules | ignore | mcp | commands | subagents | skills | hooks |
6+
| ------------------ | ------------ | :---: | :----: | :------: | :------: | :-------: | :----: | :---: |
7+
| AGENTS.md | agentsmd || | | 🎮 | 🎮 | 🎮 | |
8+
| AgentsSkills | agentsskills | | | | | || |
9+
| Claude Code | claudecode | ✅ 🌏 || ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
10+
| Codex CLI | codexcli | ✅ 🌏 | | 🌏 🔧 | 🌏 || ✅ 🌏 | |
11+
| Gemini CLI | geminicli | ✅ 🌏 || ✅ 🌏 | ✅ 🌏 | 🎮 | ✅ 🌏 | |
12+
| GitHub Copilot | copilot | ✅ 🌏 | | |||| |
13+
| Goose | goose | ✅ 🌏 | | | | | | |
14+
| Cursor | cursor ||| | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
15+
| Factory Droid | factorydroid | ✅ 🌏 | | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | |
16+
| OpenCode | opencode | ✅ 🌏 | | ✅ 🔧 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 |
17+
| Cline | cline ||| | ✅ 🌏 | | | |
18+
| Kilo Code | kilo | ✅ 🌏 || | ✅ 🌏 | | ✅ 🌏 | |
19+
| Roo Code | roo ||| || 🎮 | ✅ 🌏 | |
20+
| Qwen Code | qwencode ||| | | | | |
21+
| Kiro | kiro ||| |||| |
22+
| Google Antigravity | antigravity || | || | ✅ 🌏 | |
23+
| JetBrains Junie | junie ||| | | | | |
24+
| AugmentCode | augmentcode ||| | | | | |
25+
| Windsurf | windsurf ||| | | | | |
26+
| Warp | warp || | | | | | |
27+
| Replit | replit || | | | || |
28+
| Zed | zed | || | | | | |
2929

3030
- ✅: Supports project mode
3131
- 🌏: Supports global mode

src/cli/commands/gitignore.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ dist/`;
214214
**/.codex/memories/
215215
**/.codex/skills/
216216
**/.codex/agents/
217+
**/.codex/config.toml
217218
**/.cursor/
218219
**/.cursorignore
219220
**/.factory/rules/
@@ -341,6 +342,7 @@ rulesync.local.jsonc
341342
**/.codex/memories/
342343
**/.codex/skills/
343344
**/.codex/agents/
345+
**/.codex/config.toml
344346
**/.cursor/
345347
**/.cursorignore
346348
**/.factory/rules/

src/cli/commands/gitignore.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ const RULESYNC_IGNORE_ENTRIES = [
3838
"**/.codex/memories/",
3939
"**/.codex/skills/",
4040
"**/.codex/agents/",
41+
"**/.codex/config.toml",
4142
// Cursor
4243
"**/.cursor/",
4344
"**/.cursorignore",

src/e2e/e2e-mcp.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ describe("E2E: mcp", () => {
1414
{ target: "claudecode", outputPath: ".mcp.json" },
1515
{ target: "cursor", outputPath: join(".cursor", "mcp.json") },
1616
{ target: "geminicli", outputPath: join(".gemini", "settings.json") },
17+
{ target: "codexcli", outputPath: join(".codex", "config.toml") },
1718
])("should generate $target mcp", async ({ target, outputPath }) => {
1819
const testDir = getTestDir();
1920

0 commit comments

Comments
 (0)