This plugin is designed for Claude Code, but can also be used with other AI agents.
APM provides a unified install across agents without running individual setup scripts:
apm install -g mumez/smalltalk-dev-plugin --target claude,copilot,kiroReplace claude,copilot,kiro with the agents you use. To list all supported targets, run:
apm targetsSee the APM documentation for details.
Note: APM is updated frequently, but installation may still be incomplete for some targets. If that happens, use the manual setup scripts below instead.
Alternatively, setup scripts are provided in the extra/ directory. Currently supported:
- Cursor
- Devin Desktop (formerly Windsurf)
- Devin CLI
- Antigravity IDE
- Antigravity CLI (successor to Gemini CLI)
- GitHub Copilot CLI
- OpenCode
- Kilo Code
- Codex CLI
- Gemini CLI (obsolete — use Antigravity CLI)
- A Smalltalk image with the matching Interop Server installed:
- Pharo with PharoSmalltalkInteropServer, or
- Squeak with SqueakSmalltalkInteropServer
- This plugin repository cloned locally
Run the setup script from the plugin repository root:
./extra/setup-cursor.sh [target-directory]target-directory is the project directory where .cursor/ will be created. If omitted, the plugin repository root is used.
Non-interactive mode (overwrites without confirmation):
./extra/setup-cursor.sh -y [target-directory]- Creates
.cursor/directory structure - Copies commands (filenames already have
st-prefix) - Copies
st-*skills (e.g.st-init,st-setup-project) as additional command files - Copies skills and agents
- Copies
.mcp.jsonas.cursor/mcp.json
- Cursor uses the filename as the command name; command files already use the
st-prefix - Restart Cursor after setup to recognize the new configuration
./extra/setup-devin-desktop.sh [target-directory]Non-interactive mode:
./extra/setup-devin-desktop.sh -y [target-directory]- Creates
.devin/directory structure (skills, workflows, prompts, agents) - Copies skills and agents
- Copies commands as prompt files and generates workflow files for each
- Copies
st-*skills (e.g.st-init,st-setup-project) as additional prompt files and generates workflow files for each - Copies MCP config to
~/.codeium/windsurf/mcp_config.json- On WSL2, uses the Windows-side path (
%USERPROFILE%\.codeium\windsurf\) - This path is unchanged from Devin Desktop's Windsurf predecessor; it has not yet been officially migrated
- On WSL2, uses the Windows-side path (
- Workflows are generated as entry points that reference the prompt/agent files
- Restart Devin Desktop after setup
./extra/setup-devin-cli.sh [target-directory]target-directory is the project directory where .agents/skills/ and .devin/config.json will be created. If omitted, the plugin repository root is used.
Non-interactive mode (overwrites without confirmation):
./extra/setup-devin-cli.sh -y [target-directory]User scope (installs to ~/.agents/skills/ and ~/.config/devin/config.json, ignores target-directory):
./extra/setup-devin-cli.sh --user- Creates
.agents/skills/directory structure (project scope) or~/.agents/skills/(user scope) - Copies skills directly into the skills directory
- Skills double as slash commands; no separate commands handling is needed
- Merges MCP config into
.devin/config.json(project scope) or~/.config/devin/config.json(user scope)
- Skills are invoked as slash commands directly (e.g.
/st-init) - MCP config uses the same
mcpServersJSON format as.mcp.json, merged alongside any other existing keys inconfig.json
./extra/setup-antigravity.sh [target-directory]Non-interactive mode:
./extra/setup-antigravity.sh -y [target-directory]- Creates
.agent/directory structure (skills, workflows, prompts, agents) - Copies skills and agents
- Copies commands as prompt files and generates workflow files for each
- Copies
st-*skills (e.g.st-init,st-setup-project) as additional prompt files and generates workflow files for each - Copies MCP config to
~/.gemini/antigravity/mcp_config.json- On WSL2, uses the Windows-side path (
%USERPROFILE%\.gemini\antigravity\)
- On WSL2, uses the Windows-side path (
- Workflows are generated as entry points that reference the prompt/agent files
Antigravity CLI is the successor to Gemini CLI. See the migration guide.
./extra/setup-antigravity-cli.sh [target-directory]target-directory is the project directory where .agents/skills/ will be created. If omitted, the plugin repository root is used.
Non-interactive mode (overwrites without confirmation):
./extra/setup-antigravity-cli.sh -y [target-directory]User scope (installs to ~/.gemini/antigravity-cli/skills/, ignores target-directory):
./extra/setup-antigravity-cli.sh --user- Creates
.agents/skills/directory structure (project scope) or~/.gemini/antigravity-cli/skills/(user scope) - Copies skills directly into the skills directory
- Skills double as slash commands; no separate commands handling is needed
- Writes MCP config as a standalone
~/.gemini/config/mcp_config.json(user scope) or.agents/mcp_config.json(project scope)
- Skills are invoked as slash commands directly (e.g.
/st-init) - MCP config is a standalone JSON file, not merged into
settings.json
./extra/setup-copilot.sh [target-directory]target-directory is the project directory where .github/skills/ will be created. If omitted, the plugin repository root is used.
Non-interactive mode (overwrites without confirmation):
./extra/setup-copilot.sh -y [target-directory]User scope (installs to $HOME, ignores target-directory):
./extra/setup-copilot.sh --user- Creates
.github/skills/directory structure - Copies skills directly into
.github/skills/ - Copies each command as
.github/skills/<command-name>/SKILL.md - Copies MCP config to
~/.copilot/mcp-config.json
- This setup targets the GitHub Copilot CLI, not the VS Code extension
./extra/setup-opencode.sh [target-directory]target-directory is the project directory where .agents/, .opencode/, and opencode.json will be created. If omitted, the plugin repository root is used.
Non-interactive mode (overwrites without confirmation):
./extra/setup-opencode.sh -y [target-directory]User scope (installs to $HOME, ignores target-directory):
./extra/setup-opencode.sh --user- Creates
.agents/skills/and copies skills - Creates
.opencode/commands/and copies commands - Copies
st-*skills (e.g.st-init,st-setup-project) as additional command files to.opencode/commands/ - Copies MCP config to
opencode.jsonin the target directory- If
opencode.jsonalready exists andjqis available, merges themcpsection automatically (backup created asopencode.json.bak) - If
jqis not available, prints themcpsection for manual merging
- If
- OpenCode MCP format differs from Claude Code:
commandis an array combining command and args,environmentinstead ofenv, andtype: "local"is required - The pre-converted MCP config is available at
extra/opencode.json - Restart OpenCode after setup to recognize the new configuration
./extra/setup-kilocode.sh [target-directory]target-directory is the project directory where .agents/skills/ will be created. If omitted, the plugin repository root is used.
Non-interactive mode (overwrites without confirmation):
./extra/setup-kilocode.sh -y [target-directory]User scope (installs to $HOME, ignores target-directory):
./extra/setup-kilocode.sh --user- Creates
.agents/skills/and copies all skills (includingst-*skills) directly into it — Kilo Code has no separate commands mechanism - Copies MCP config to
~/.config/kilo/kilo.json- If
kilo.jsonalready exists andjqis available, merges themcpsection automatically (backup created askilo.json.bak) - If
jqis not available, prints themcpsection for manual merging
- If
- Kilo Code is OpenCode-derived; the MCP config format matches OpenCode's (
commandas an array,environmentinstead ofenv,type: "local"required) but with$schemaset tohttps://app.kilo.ai/config.json - The MCP config is generated at setup time from
extra/opencode.json(swapping only the$schemavalue), so the two configs don't need to be maintained separately - The
kilo.jsonconfig file location (~/.config/kilo/kilo.json) is fixed regardless of project or user scope - Restart Kilo Code after setup to recognize the new configuration
./extra/setup-codex.sh [target-directory]target-directory is the project directory where .agents/skills/ will be created. If omitted, the plugin repository root is used.
Non-interactive mode (overwrites without confirmation):
./extra/setup-codex.sh -y [target-directory]User scope (installs to $HOME, ignores target-directory):
./extra/setup-codex.sh --user- Creates
.agents/skills/directory structure - Copies skills directly into
.agents/skills/ - Copies each command as
.agents/skills/<command-name>/SKILL.md - Appends MCP config to
~/.codex/config.toml
- Codex CLI does not support custom commands; commands are placed as skills instead
- Skills are invoked with
$<skill-name>(e.g.,$st-init)
Note: Gemini CLI has been replaced by Antigravity CLI. Use
setup-antigravity-cli.shfor new setups.setup-gemini.shis kept for existing installations.
./extra/setup-gemini.sh [target-directory]target-directory is the project directory where .agents/skills/ will be created. If omitted, the plugin repository root is used.
Non-interactive mode (overwrites without confirmation):
./extra/setup-gemini.sh -y [target-directory]User scope (installs to $HOME, ignores target-directory):
./extra/setup-gemini.sh --user- Creates
.agents/skills/directory structure - Copies skills directly into
.agents/skills/ - Copies each command as
.agents/skills/<command-name>/SKILL.md - Merges MCP config into
~/.gemini/settings.json
- Gemini CLI does not support custom commands; commands are placed as skills instead
- MCP config uses the same
mcpServersJSON format as.mcp.json
These setup scripts provide a simplified integration. Compared to the native Claude Code plugin experience, the following differences apply:
- No plugin lifecycle management - Updates require re-running the setup script