Introducing SuperCLI: A Config-Driven, AI-Friendly Dynamic CLI for Developers
As developers, we constantly juggle dozens of CLI tools — from essential utilities like git and docker to specialized tools for testing, linting, and deployment. Managing this tool ecosystem is challenging: different interfaces, inconsistent flags, and the constant need to learn new commands.
SuperCLI (also known as superacli or sc) is a config-driven, AI-friendly dynamic CLI that unifies your development tools under a single, consistent interface.
What is SuperCLI?
SuperCLI is a wrapper that lets you define tools through JSON configuration files. Instead of memorizing each tool's specific flags and syntax, you interact with everything through a unified command structure:
sc <namespace> <resource> <action> [flags]
For example:
# Check git version
sc git self version
# List Docker containers
sc docker container list
# Run tests with jest
sc jest test run --watch
Key Features
1. Config-Driven Architecture
Tools are defined in plugin.json files that specify:
- Commands and their arguments
- Input validation schemas
- Help text and descriptions
- Installation checks
This means:
- No need to memorize tool-specific syntax
- Consistent interface across all tools
- Easy to add new tools
- Self-documenting commands
2. AI-Friendly Design
SuperCLI was built with AI agents in mind:
- Structured JSON schemas for command inputs
- Clear descriptions for each parameter
- Consistent naming conventions
- Skill files that teach agents how to use each tool
AI agents can discover available commands, understand their parameters, and execute them reliably without manual intervention.
3. Bundled Plugin Ecosystem
SuperCLI comes with 350+ pre-configured plugins covering:
- Development tools: git, docker, npm, cargo, brew
- Testing: jest, pytest, go test
- Code quality: eslint, prettier, black
- File operations: ripgrep, fd, tokei
- Network tools: curl, wget, httpie
- And many more: 350+ plugins across all categories
4. Extensible Plugin System
Add your own tools by creating a simple JSON configuration:
{
"name": "my-tool",
"version": "0.1.0",
"description": "My custom tool",
"commands": [
{
"namespace": "my-tool",
"resource": "build",
"action": "run",
"adapter": "process",
"adapterConfig": {
"command": "my-tool",
"baseArgs": ["build"]
}
}
]
}
5. Multiple Adapters
SuperCLI supports different execution backends:
- Process adapter: Execute CLI commands
- HTTP adapter: Make HTTP requests
- MCP adapter: Connect to Model Context Protocol servers
- Builtin adapter: Built-in commands
6. Server Mode
Run SuperCLI as a web server for:
- Remote tool execution
- Team configuration sharing
- API-based tool access
- Dashboard UI for plugin management
Getting Started
Installation
npm install -g superacli
Or use any of the aliased commands:
npm install -g dcli
npm install -g scli
npm install -g supercli
npm install -g sc
Basic Usage
# List all available commands
sc list
# Get help for a specific command
sc git self --help
# Execute a command
sc git branch list
Adding Plugins
# Install a bundled plugin
sc plugins install ./plugins/ripgrep --on-conflict replace
# List installed plugins
sc plugins list
# Remove a plugin
sc plugins remove ripgrep
Use Cases
For Individual Developers
- Unified interface: One command syntax for all tools
- Reduced cognitive load: No need to remember tool-specific flags
-
Quick discovery:
sc listshows all available commands - Easy learning: Consistent patterns across tools
For Teams
- Shared configuration: Distribute plugin configurations
- Standardized workflows: Enforce consistent tool usage
- Server mode: Centralized tool access
- Documentation: Self-documenting command structure
For AI Agents
- Structured inputs: JSON schemas for reliable execution
- Clear semantics: Namespace/resource/action structure
- Skill files: Teachable patterns for each tool
- Discoverable: Agents can query available commands
Real-World Examples
Code Analysis Workflow
# Count lines of code
sc tokei self stats
# Search for TODO comments
sc rg search --pattern "TODO" --type-add "md:*.md" --type md
# Format code
sc prettier format --write "src/**/*.ts"
# Run linter
sc eslint lint --fix "src/**/*.ts"
Deployment Pipeline
# Build Docker image
sc docker image build --tag myapp:latest
# Run tests
sc jest test run --coverage
# Deploy to production
sc kubectl deployment apply --file k8s/deployment.yaml
Project Setup
# Initialize git repository
sc git repo init
# Install dependencies
sc npm install
# Run initial build
sc npm run build
# Run tests
sc jest test run
Advanced Features
MCP Integration
SuperCLI supports the Model Context Protocol (MCP), enabling stateful tool sessions and knowledge base integration:
# Start MCP daemon
sc mcp daemon start
# Call MCP tools
sc mcp call --mcp-server context-mode --tool ctx_search --input-json '{"queries":["routes"]}'
Environment Variable Management
# Set environment variables
sc config set ENV production
# Get environment variables
sc config get ENV
Custom Aliases
Create shortcuts for frequently used commands:
sc alias create "build" "npm run build"
sc alias create "test" "jest test run"
Architecture
SuperCLI follows a clean, modular architecture:
┌─────────────────────────────────────┐
│ CLI Interface │
│ (sc, supercli, dcli, scli) │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Command Router │
│ Parse namespace/resource/action │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Plugin Registry │
│ Load and manage plugin configs │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Adapter Layer │
│ Process | HTTP | MCP | Builtin │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Tool Execution │
│ Execute commands via adapters │
└─────────────────────────────────────┘
Contributing
SuperCLI is open source and welcomes contributions:
- Add new plugins: Create plugin configurations for your favorite tools
- Improve adapters: Enhance existing adapters or add new ones
- Fix bugs: Report and fix issues
- Documentation: Improve docs and examples
GitHub: https://github.com/javimosch/supercli
Roadmap
- [ ] More bundled plugins (target: 500+)
- [ ] Enhanced MCP integration
- [ ] Plugin marketplace
- [ ] Web UI improvements
- [ ] Performance optimizations
- [ ] Better error messages
Conclusion
SuperCLI provides a unified, AI-friendly interface for your development tools. By standardizing command structures and providing a rich plugin ecosystem, it reduces cognitive load and enables both humans and AI agents to work more efficiently.
Whether you're an individual developer looking to simplify your CLI workflow, a team wanting to standardize tool usage, or an AI agent seeking reliable tool execution, SuperCLI offers a flexible and powerful solution.
Get started today:
npm install -g superacli
sc list
Links:
Top comments (0)