iobend
v2.6.1
Published
Developer Environment Manager
Readme
IOBend is a modern, cross-platform developer environment manager. It acts as an ultra-fast orchestrator over your native OS package managers (winget, brew, apt, dnf, pacman), allowing you to install, verify, and maintain your entire tech stack with a single command.
Say goodbye to "it works on my machine." With IOBend, you can define exactly what tools a project requires and enforce them instantly.
🚀 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.
