Interop
About
Interop CLI: Go command-line tool for efficient project management and command execution across your development workspace.
Details
- License
- MIT
Explore
- Project Management: Track and validate multiple project directories
- Command Execution: Run commands with project context and arguments
- Dynamic Command Loading: Load commands from multiple directories with precedence rules
- Remote Configuration System: Fetch and sync configurations from Git repositories with conflict resolution
- AI Integration: Multiple MCP servers to expose commands to AI assistants with enhanced metadata
- Configuration Management: TOML-based configuration with validation and conflict detection
- Cross-Platform Support: Works on Linux, macOS, and Windows
- Required: Mark arguments that must be provided
- Default Values: Set fallback values for optional arguments
- Descriptions: Document the purpose of each argument
- Prefix: Specify command-line flags to use for arguments (e.g., --key)
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
InteropCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Interop uses a TOML configuration file at ~/.config/interop/settings.toml. To edit it:
interop edit
[mcp_servers.domain1]
name = "domain1"
description = "Domain-specific commands"
port = 8082
[mcp_servers.domain2]
name = "domain2"
description = "Another domain for commands"
port = 8083
Each project includes:
- Path: Directory location (validated for existence)
- Description: Optional project description
- Commands: List of commands with optional aliases
Interop supports loading configuration definitions from multiple directories, enabling better organization and scalability for large configuration collections.
Each directory can contain multiple *.toml files with configuration definitions:
~/.config/interop/config.d/
├── git-commands.toml
├── docker-commands.toml
├── dev-projects.toml
└── ai-prompts.toml
Example git-commands.toml:
toml[commands.git-status]
cmd = "git status"
description = "Show the working tree status"
version = "1.0.0"
is_enabled = true
mcp = "dev-tools"
[commands.git-pull]
cmd = "git pull --rebase"
description = "Fetch from and integrate with another repository"
version = "1.0.0"
is_enabled = true
mcp = "dev-tools"
Example dev-projects.toml:
toml[projects.my-api]
path = "~/projects/my-api"
description = "Main API project"
commands = [
{ command_name = "build", alias = "b" },
{ command_name = "test", alias = "t" }
]
Interop includes a powerful remote configuration system that allows you to fetch and manage configurations from Git repositories. This enables teams to share command definitions, maintain centralized configuration libraries, and keep local setups synchronized with remote sources.
bash
interop config remote fetch
interop config remote clear
config.d/team-commands.toml:
toml[commands.team-deploy]
cmd = "deploy.sh"
description = "Deploy using team standards"
is_executable = true
mcp = "team-tools"
version = "2.1.0"
arguments = [
{ name = "environment", type = "string", required = true, description = "Target environment" },
{ name = "force", type = "bool", default = false, description = "Force deployment" }
]
[commands.team-test]
cmd = "run-team-tests.sh"
description = "Run standardized team tests"
is_executable = true
mcp = "team-tools"
[mcp_servers.team-tools]
name = "team-tools"
description = "Team standardized tools"
port = 8084
interop config remote add company-standards [email protected]:company/interop-standards.git
interop config remote fetch
bash
interop config remote add prod-tools [email protected]:company/prod-tools.git
interop config remote add dev-tools [email protected]:company/dev-tools.git
interop config remote fetch prod-tools
interop config remote fetch dev-tools
interop mcp export # Export JSON configuration
Provide concrete examples of how to use commands:
[commands.create-component]
cmd = "generate.sh ${type} ${name}"
description = "Generate a new component"
version = "1.0.0"
arguments = [
{ name = "type", type = "string", description = "Component type", required = true },
{ name = "name", type = "string", description = "Component name", required = true }
]
examples = [
{
description = "Create a React component",
command = "interop run create-component type=react name=Button"
},
{
description = "Create a Vue component",
command = "interop run create-component type=vue name=Header"
}
]
interop validate
The validation system provides comprehensive analysis of your configuration:
- Main Settings: Validates settings.toml exists and is accessible
- Local Directories: Shows file counts and accessibility of config.d/
- Remote Directories: Shows status of config.d.remote/ and executables.remote/
- Remote Tracking: Indicates if remote version tracking is active
interop config remote fetch # Fetch from all remotes
interop config remote fetch <name> # Fetch from specific remote
bash~/.config/interop/settings.toml # Main configuration file
~/.config/interop/config.d/ # Local configuration directory
~/.config/interop/config.d.remote/ # Remote configurations (auto-managed)
~/.config/interop/executables/ # Local executable files
~/.config/interop/executables.remote/ # Remote executables (auto-managed)
~/.config/interop/versions.toml # Remote tracking metadata (auto-managed)
```
interop config remote fetch prod-tools
interop config remote fetch dev-tools
interop config remote add awesome-dev-tools https://github.com/community/awesome-dev-tools.git
interop config remote fetch
interop mcp export # Export JSON configuration
```
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"interop": {
"interop": {
"command": "python3",
"args": [
"scripts/update_strings.py",
"--keys",
"key1",
"key2",
"--language",
"en",
"--verbose"
]
}
}
}
}
McpServers
{
"interop": {
"command": "python3",
"args": [
"scripts/update_strings.py",
"--keys",
"key1",
"key2",
"--language",
"en",
"--verbose"
]
}
}
Interop is a powerful command-line interface tool designed to improve developer productivity by providing a unified interface for managing projects, executing commands, and integrating with AI assistants.
What is Interop?
Interop serves as a bridge between your development projects, custom commands, and AI assistants. It allows you to:
- Organize multiple projects with metadata, commands, and validation
- Define and execute commands with project context awareness
- Configure multiple MCP (Model Context Protocol) servers for AI integration
- Streamline repetitive development tasks across different domains
Core Features
- Project Management: Track and validate multiple project directories
- Command Execution: Run commands with project context and arguments
- Dynamic Command Loading: Load commands from multiple directories with precedence rules
- Remote Configuration System: Fetch and sync configurations from Git repositories with conflict resolution
- AI Integration: Multiple MCP servers to expose commands to AI assistants with enhanced metadata
- Configuration Management: TOML-based configuration with validation and conflict detection
- Cross-Platform Support: Works on Linux, macOS, and Windows
Installation
Using Homebrew (macOS/Linux)
brew install yigitozgumus/formulae/interop
Building from Source
1. Clone the repository:
git clone https://github.com/yigitozgumus/interop.git
cd interop
2. Build the project:
go build -o interop ./cmd/cli
Configuration
Interop uses a TOML configuration file at ~/.config/interop/settings.toml. To edit it:
interop edit
Configuration Structure
```toml
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



