DEV Community

Javier Leandro Arancibia
Javier Leandro Arancibia

Posted on

Introducing SuperCLI: A Config-Driven, AI-Friendly Dynamic CLI for Developers

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]
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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"]
      }
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Or use any of the aliased commands:

npm install -g dcli
npm install -g scli
npm install -g supercli
npm install -g sc
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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 list shows 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"
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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"]}'
Enter fullscreen mode Exit fullscreen mode

Environment Variable Management

# Set environment variables
sc config set ENV production

# Get environment variables
sc config get ENV
Enter fullscreen mode Exit fullscreen mode

Custom Aliases

Create shortcuts for frequently used commands:

sc alias create "build" "npm run build"
sc alias create "test" "jest test run"
Enter fullscreen mode Exit fullscreen mode

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     │
└─────────────────────────────────────┘
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Links:

Top comments (0)