iobend
v2.6.4
Published
Command-line interface for the IOBend Unified Developer Experience Platform
Readme
IOBend CLI is the command-line interface for the IOBend Unified Developer Experience Platform. It acts as an ultra-fast orchestrator across your native OS package managers (winget, brew, apt, dnf, pacman), secret workflows, diagnostic tools, and project workspaces, connecting seamlessly with IOBend Web and IDE extensions.
Say goodbye to "it works on my machine." With IOBend CLI, you can define, verify, diagnose, and run your project environments with zero friction.
🚀 Installation
1. Homebrew Tap (macOS & Linux) — Official Live Tap
brew tap Iobend/tap
brew install iobend2. Windows WinGet — Native Live Installer
winget install iobend3. NPM Global Package
npm install -g iobend4. Standalone Binary (Zero-Dependency)
IOBend can be compiled into a zero-dependency standalone executable (iobend.exe / iobend) that doesn't require Node.js to be installed on your machine.
npm run build5. 1-Click Shell Auto-Completion Setup
Enable tab completion in your terminal for commands, subcommands, tools, and flags:
# Auto-detect active shell and install completion script:
iobend completion --install
# Explicitly install for PowerShell (Windows):
iobend completion -s powershell --install
# Explicitly install for Zsh (macOS/Linux):
iobend completion -s zsh --installSupported shells: bash, zsh, powershell (pwsh), fish.
🛠️ Core Workflow: Project Environments
IOBend truly shines when used to manage project-specific environments using an iobend.yaml file.
1. Initialize a Project
You can set up a project in two ways depending on your workflow:
Option A: iobend init (Existing Directory)
Run iobend init inside an existing project folder. It quickly scaffolds .iobend/project.json locally.
iobend initOption B: iobend project create (New Project / Cloud-Linked)
Run iobend project create to scaffold a new project with options to create a subfolder and immediately create/link it to your IOBend Cloud Workspace.
iobend project create🔍 iobend init vs iobend project create: When should you use which?
| Feature / Behavior | iobend init | iobend project create |
| :--- | :--- | :--- |
| Best Used For | Existing codebases / repositories already on your machine | Starting a brand-new project or linking immediately to Cloud |
| Target Directory | Strictly the current directory (.) | Choice: create a new subfolder (./<name>) OR current directory |
| Cloud Sync | Local only (id: null); sync to Cloud anytime via iobend sync | Prompts to automatically register & create in IOBend Cloud Workspace |
| Conflict Handling | Aborts with a warning if .iobend/project.json exists (use -f, --force to overwrite) | Overwrites local config in selected folder and registers active path |
| Active Project | Registers directory in local registry | Registers directory in local registry and sets as active project |
💡 When should you use which?
- Use
iobend initwhen you have already cloned/opened an existing repository and want to enable IOBend doctor, secrets, and environment tracking locally without creating a cloud project right away.- Use
iobend project createwhen starting a new project (scaffolding a new directory) or when you want the project immediately created in your IOBend Cloud dashboard.
2. Verify and Auto-Fix
Once your iobend.yaml is generated, anyone who clones your repository can instantly verify if their machine has the required tools installed by running:
iobend doctorIf they are missing tools, they can instruct IOBend to automatically download and install all missing dependencies natively using their OS package manager!
iobend doctor --fix📚 Command Reference & Flags
🔐 Authentication Commands
(Note: These are grouped under iobend auth, but top-level aliases are available for backward compatibility)
| Command | Subcommands & Flags | Description |
| :------------------------------ | :---------------------- | :---------------------------------------------------------------------- |
| iobend auth login (login) | [-t, --token <token>] | Authenticate session via browser flow or manually input a token |
| iobend auth logout (logout) | | Invalidate CLI session, disconnect device, and remove local credentials |
| iobend auth whoami (whoami) | | Display user profile, active plan, workspace, and connected device |
📂 Projects & Init Commands
| Command | Subcommands & Flags | Description |
| :---------------------- | :------------------ | :--------------------------------------------------------------------------- |
| iobend init | [-f, --force] | Scaffold .iobend/project.json configuration locally in the current folder |
| iobend project create | | Interactive wizard to scaffold a local project and option to create in cloud |
| iobend project list | | List registered local folders alongside all workspace projects in cloud |
| iobend project use | | Switch active project globally |
| iobend project info | | Display metadata, environment, type, repo, secrets, assets and health |
| iobend project delete | | Delete local config directory and option to remove cloud counterpart |
| iobend project import | <projectname> | Import cloud project configuration and secrets into current directory |
| iobend project sync | <projectname> | Synchronize a registered local project with IOBend Cloud by name |
🔑 Secrets Commands
| Command | Subcommands & Flags | Description |
| :--------------------- | :-------------------- | :-------------------------------------------------------------------- |
| iobend secret add | | Add key-value secret to specific environment locally |
| iobend secret list | | List secret keys and target environments (values are always hidden) |
| iobend secret remove | | Remove an environment secret key-value reference |
| iobend secret import | [-f, --file <path>] | Import secrets from Dotenv, JSON, or YAML configurations |
| iobend secret export | | Export secrets to Dotenv, JSON, YAML or print (requires confirmation) |
📦 Assets & Deps Commands
| Command | Subcommands & Flags | Description |
| :-------------------- | :------------------ | :--------------------------------------------------------------------------------- |
| iobend asset add | | Add a local file reference registration without uploading content |
| iobend asset list | | List registered asset names, paths, sizes, and types |
| iobend asset remove | | Remove asset reference registration |
| iobend deps scan | | Scan package files (NPM, Python, Cargo, Gradle, Go) and check versions |
| iobend deps update | | Display package upgrade suggestions without executing updates |
| iobend scan | | Run vulnerability scan. Gracefully degrades to local JSON if cloud upload fails. View locally via https://iobend.com/scan |
💾 Backups Commands
| Command | Subcommands & Flags | Description |
| :---------------------- | :------------------ | :------------------------------------------------------------------------- |
| iobend backup create | | Compress configs, secrets, and optional assets into versioned JSON archive |
| iobend backup list | | List available backup versions with notes and file sizes |
| iobend backup restore | | Restore project configuration, secrets, and asset files from backup |
🔄 Device & Sync Commands
| Command | Subcommands & Flags | Description |
| :--------------------- | :---------------------- | :----------------------------------------------------------------------- |
| iobend device info | | Display system specs, OS, platform version, and sync status |
| iobend device rename | | Rename this connected developer device locally and in cloud |
| iobend sync | [--dry-run] [--force] | Synchronize secrets, dependencies, health, and assets to cloud workspace |
| iobend export | [projectname] | Export local project metadata, secrets, and dependencies to cloud |
🏪 Marketplace & Package Registry Commands
| Command | Subcommands & Flags | Description |
| :--- | :--- | :--- |
| iobend marketplace list (ls) | [-c, --category <cat>] [-s, --status <status>] [-q, --query <q>] [-a, --all] [--json] | Pull all available packages from the marketplace regardless of status (active, verified, pending, private) |
| iobend marketplace search | <query> | Search extension packages and tools across the IOBend Marketplace registry |
| iobend marketplace info | <tool> | Retrieve comprehensive package metadata, SHA256 checksums, documentation, and dependencies |
| iobend marketplace install| <tool> | Direct installer for marketplace packages with signature validation |
| iobend search | <query> | Search across both marketplace and native OS package registries (winget, brew, apt) |
| iobend install | [tool[@version]] | Project-aware runtime & tool installer (supports node, python, go, java, marketplace extensions, and iobend.toml pinning) |
| iobend pin | <tool@version> | Explicitly pin language runtime version into project iobend.toml (e.g. iobend pin [email protected]) |
| iobend unpin | <tool> | Remove a pinned language runtime from iobend.toml (e.g. iobend unpin node) |
| iobend runtime list (ls) | | Inspect all downloaded local runtime versions, disk usage, and active project association |
| iobend runtime prune | | Clean up orphaned and unpinned local runtime binaries to reclaim disk space |
| iobend uninstall | <tool> | Uninstall a package or remove marketplace extension registration |
| iobend info | <tool> | Display detailed package information, licenses, and documentation |
| iobend verify | <tool> | Verify SHA256 integrity and digital signature of a package |
| iobend list | | List currently active local extension packages |
| iobend registry use | <org> | Scope CLI context to an organization private registry |
🐳 Containers & Local Database Commands
| Command | Subcommands & Flags | Description |
| :--- | :--- | :--- |
| iobend container up | [postgres/redis/mongodb/mysql/rabbitmq/kafka/nats] | 1-Click spin up of local database and queue containers on default developer ports |
| iobend container pack | | Analyze codebase and automatically scaffold an optimized multi-stage Dockerfile |
| iobend ports list | | List open developer ports, process names, and PIDs on local loopback |
| iobend ports kill | <port> | Force terminate runaway or orphaned processes holding target ports |
| iobend ports ui | | Launch web interface for visual port inspection and killing |
| iobend ui | | Launch interactive browser-based developer dashboard on port 3000 |
🤖 AI & Model Context Protocol (MCP) Commands
| Command | Subcommands & Flags | Description |
| :--- | :--- | :--- |
| iobend mcp install | <serverName> | Install Model Context Protocol AI server (sqlite, postgres, github, slack, notion, brave-search) |
| iobend mcp start | <serverName> | Start MCP server bridge for Claude / Cursor / Gemini JSON-RPC integration |
| iobend mcp list | | Display registry of officially supported and recommended MCP servers |
| iobend agents scaffold | | Scaffold AI developer agent boilerplate (agent.py) with LangChain, LangGraph, and OpenAI |
| iobend ai generate | [spec.yaml] | Generate full-stack boilerplate and configurations from AI specification prompts |
🚀 Execution & Workflow Commands
| Command | Subcommands & Flags | Description |
| :--- | :--- | :--- |
| iobend run | <cmd...> | Execute command with decrypted environment secrets injected directly into process |
| iobend dev | | Unified 1-command boot: checks containers, injects secrets, and starts dev server |
| iobend deploy | [env] | Production deployment pipeline runner with environment secret validation |
| iobend env switch | <env> | Switch active project environment context (development, staging, production) |
| iobend ci generate | | Generate GitHub Actions / GitLab CI pipeline workflow manifests |
| iobend dotfiles | [sync/pull/push] | Synchronize developer configurations and dotfiles across workstations |
| iobend hook | | Install automated pre-commit security guardrail hook preventing unencrypted secret leaks |
🛠️ Utilities Commands
| Command | Subcommands & Flags | Description |
| :--- | :--- | :--- |
| iobend doctor | [-v, --verbose] [--fix] [--storage] [--clean] | Run 35+ system checks (Disk, RAM, internet, compilers, containers & security) |
| iobend doctor storage | [--clean] [-f, --force] [--json] | Storage & Cache Audit: Calculates Recycle Bin, package manager caches, and temp files with detailed size in MB & GB |
| iobend security scan | | Comprehensive AST secret leak detection, lockfile CVE audit, and health score |
| iobend ecosystem | [list/validate] | Inspect canonical ecosystem capabilities and validate cross-platform integrity |
| iobend config | [set/reset] [key] [value] | Manage global configuration options (e.g. apiUrl) |
| iobend logs | | Display recent CLI activity audit logs |
| iobend history | | View revision audit trail of all CLI operations and deployments |
| iobend replay | <index> | Re-execute a historical CLI command from session history |
| iobend version | | Display version details (CLI, Node, Platform, Workspace) |
| iobend update | [--extensions] | Verify and perform CLI self-updates or update marketplace extensions |
| iobend completion | [-s, --shell <type>] [-i, --install] | Generate & auto-install shell completion (bash, zsh, powershell, fish) |
| iobend help | | Display the beautiful categorized command help menu |
🔄 Local-to-Cloud Syncing (iobend sync)
The CLI acts as the local source of truth. Running iobend sync will scan the local project context, collect details, and present a preview:
────────────────────────────────────────
Project my-app
Secrets 12
Assets 5
Dependencies 48
Configuration package.json, docker-compose.yml
Health Healthy
────────────────────────────────────────You will be prompted to approve the upload:
Upload selected data to IOBend Cloud? [Y/n]
Flags:
--dry-run: Generates the sync preview payload locally without performing any remote API calls.--force: Skips uploading unchanged items, updating only modified settings.
🏥 Diagnostics (iobend doctor)
The doctor command runs cross-platform system sweeps verifying your runtime environments. It evaluates:
- Operating System details
- Disk Space & Memory (RAM) usage
- Internet Connection status
- Compilers & Toolchains:
Node.js,npm,pnpm,yarn,Git,Docker,Python,Java,Go,Rust.
🧹 Storage & Cache Diagnostics (iobend doctor storage)
Calculates exact disk consumption across Recycle Bin/Trash, package manager caches, and system temporary files:
# Run storage and cache audit
iobend doctor storage
# Output machine-readable JSON format
iobend doctor storage --json
# Safely purge temporary caches and empty Recycle Bin
iobend doctor storage --cleanAudited targets include:
- Recycle Bin / OS Trash (
C:\$Recycle.Bin,~/.Trash) - NPM Cache (
npm-cache) - PNPM Store (
pnpm/store) - Yarn Cache (
Yarn/Cache) - Bun Cache (
.bun/install/cache) - Python Pip Cache (
pip/cache) - Go Build Cache (
go-build) - Rust / Cargo Cache (
.cargo/registry/cache) - Gradle & Maven Caches (
.gradle/caches,.m2/repository) - IOBend Runtimes & Logs (
.iobend/runtimes,.iobend/logs) - User Temp & Crash Dumps (
AppData/Local/Temp,AppData/Local/CrashDumps)
🏗️ Architecture & Extensibility
IOBend is built on a feature-first clean architecture pattern:
src/commands/: Isolated logic for every CLI command.src/checks/: Independent, modular validation checks that power thedoctorcommand.src/installers/: The true muscle of IOBend. A smart, platform-aware translation engine that automatically detects your OS and proxies commands to the correct native package manager (winget,brew,apt, etc.).src/render/: A decoupled UI layer utilizingchalkandorafor a premium, perfectly aligned terminal experience.
