Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,7 @@ for example `graphify claude install --project` or `graphify codex install --pro
| Cursor | `graphify cursor install` |
| Devin CLI | `graphify devin install` |
| Google Antigravity | `graphify antigravity install` |
| MiMo Code | `graphify install --platform mimo` |

Codex users also need `multi_agent = true` under `[features]` in `~/.codex/config.toml` for parallel extraction. CodeBuddy uses the same Agent tool and PreToolUse hook mechanism as Claude Code. Factory Droid uses the `Task` tool for parallel subagent dispatch. OpenClaw and Aider use sequential extraction (parallel agent support is still early on those platforms). Trae uses the Agent tool for parallel subagent dispatch and does **not** support `PreToolUse` hooks, so AGENTS.md is the always-on mechanism.

Expand Down Expand Up @@ -293,6 +294,7 @@ Run this once in your project after building a graph:
| Pi coding agent | `graphify pi install` |
| Devin CLI | `graphify devin install` |
| Google Antigravity | `graphify antigravity install` |
| MiMo Code | `graphify mimo install` |

This writes a small config file that tells your assistant to consult the knowledge graph for codebase questions, preferring scoped queries like `graphify query "<question>"` over reading the full report or grepping raw files.

Expand Down
28 changes: 26 additions & 2 deletions graphify/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -650,6 +650,12 @@ def _skill_registration(skill_path: str = "~/.claude/skills/graphify/SKILL.md")
"skill_dst": Path(".config") / "devin" / "skills" / "graphify" / "SKILL.md",
"claude_md": False,
},
"mimo": {
"skill_file": "skill-mimo.md",
"skill_dst": Path(".mimo") / "skills" / "graphify" / "SKILL.md",
"claude_md": False,
"skill_refs": "mimo",
},
Comment thread
matintohidi marked this conversation as resolved.
}

# CLI-only platform aliases, resolved to a real _PLATFORM_CONFIG key before
Expand Down Expand Up @@ -1843,7 +1849,7 @@ def _project_install(platform_name: str, project_dir: Path | None = None) -> Non
elif platform_name == "kiro":
_kiro_install(project_dir)
_print_project_git_add_hint([project_dir / ".kiro"])
elif platform_name in ("aider", "amp", "codex", "opencode", "claw", "droid", "trae", "trae-cn", "hermes"):
elif platform_name in ("aider", "amp", "codex", "opencode", "claw", "droid", "trae", "trae-cn", "hermes", "mimo"):
skill_dst = _copy_skill_file(platform_name, project=True, project_dir=project_dir)
_agents_install(project_dir, platform_name)
hint_paths = [_project_scope_root(skill_dst, project_dir), project_dir / "AGENTS.md"]
Expand Down Expand Up @@ -1886,7 +1892,7 @@ def _project_uninstall(platform_name: str, project_dir: Path | None = None) -> N
_cursor_uninstall(project_dir)
elif platform_name == "kiro":
_kiro_uninstall(project_dir)
elif platform_name in ("aider", "amp", "codex", "opencode", "claw", "droid", "trae", "trae-cn", "hermes"):
elif platform_name in ("aider", "amp", "codex", "opencode", "claw", "droid", "trae", "trae-cn", "hermes", "mimo"):
_remove_skill_file(platform_name, project=True, project_dir=project_dir)
_agents_uninstall(project_dir, platform=platform_name)
if platform_name == "codex":
Expand Down Expand Up @@ -2513,6 +2519,8 @@ def main() -> None:
print(" pi uninstall remove skill from ~/.pi/agent/skills/graphify/")
print(" devin install write skill to ~/.config/devin/skills/graphify/ (Devin CLI)")
print(" devin uninstall remove skill from ~/.config/devin/skills/graphify/")
print(" mimo install write skill to .mimo/skills/graphify/ (MiMo Code)")
print(" mimo uninstall remove skill from .mimo/skills/graphify/")
print()
return

Expand Down Expand Up @@ -2722,6 +2730,22 @@ def main() -> None:
else:
print("Usage: graphify pi [install|uninstall]", file=sys.stderr)
sys.exit(1)
elif cmd == "mimo":
subcmd = sys.argv[2] if len(sys.argv) > 2 else ""
if subcmd == "install":
if "--project" in sys.argv[3:]:
_project_install("mimo", Path("."))
else:
install(platform="mimo")
elif subcmd == "uninstall":
if "--project" in sys.argv[3:]:
_project_uninstall("mimo", Path("."))
else:
removed = _remove_skill_file("mimo")
print("skill removed" if removed else "nothing to remove")
else:
print("Usage: graphify mimo [install|uninstall]", file=sys.stderr)
sys.exit(1)
elif cmd == "amp":
subcmd = sys.argv[2] if len(sys.argv) > 2 else ""
if subcmd == "install":
Expand Down
Loading