nomoreide
v0.1.57
Published
An AI-native terminal workbench for services, Git review, logs, and MCP workflows.
Maintainers
Readme
NoMoreIDE
The AI-native terminal workbench for the post-IDE development loop.
Give your coding agents and yourself a shared local control surface for services, ports, logs, Git review, GitHub workflows, database work, and MCP workflows — no IDE required.
MCP Setup · CLI Reference · MCP Tools · Architecture
What Is NoMoreIDE?
NoMoreIDE is a lightweight process manager, Git reviewer, GitHub workflow surface, database workbench, log aggregator, and MCP server — all in one npx command. It gives AI coding agents (Claude Code, Codex CLI, Gemini CLI, and others) a safe, structured window into your running dev environment through the Model Context Protocol (MCP), while also providing a terminal UI and a local React web dashboard for humans.
┌──────────────────────────────────────────────────────┐
│ Your Project │
│ │
│ Claude Code / Codex CLI / Gemini CLI │
│ │ │
│ MCP (stdio) │
│ │ │
│ ┌───────▼────────┐ ┌──────────────────────┐ │
│ │ NoMoreIDE MCP │◄──►│ Process Manager │ │
│ │ Server │ │ Log Store │ │
│ └───────┬────────┘ │ Git Manager │ │
│ │ │ Config Store │ │
│ HTTP API └──────────────────────┘ │
│ │ │
│ ┌───────▼──────────────────────────┐ │
│ │ Web UI (localhost:4317) │ │
│ │ Terminal UI (nomoreide tui) │ │
│ └──────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘Connect Your AI Agent
NoMoreIDE runs as a local stdio MCP server. Pick your agent CLI and paste the one-liner — that's it.
Claude Code
claude mcp add --transport stdio nomoreide -- npx -y nomoreideWant to share the config with your whole team? Use project scope to commit a
.mcp.json:claude mcp add --transport stdio --scope project nomoreide -- npx -y nomoreide
Then confirm inside Claude Code:
/mcp{
"mcpServers": {
"nomoreide": {
"command": "npx",
"args": ["-y", "nomoreide"]
}
}
}Codex CLI
codex mcp add nomoreide -- npx -y nomoreide[mcp_servers.nomoreide]
command = "npx"
args = ["-y", "nomoreide"]Then confirm inside Codex:
/mcpGemini CLI
Open your Gemini CLI settings file (~/.gemini/settings.json or the path shown by gemini config) and add:
{
"mcpServers": {
"nomoreide": {
"command": "npx",
"args": ["-y", "nomoreide"]
}
}
}Restart Gemini CLI, then verify:
/mcpLocal Checkout (any agent)
If you prefer to point agents at a locally built binary instead of the published npm package:
{
"mcpServers": {
"nomoreide": {
"command": "node",
"args": ["/absolute/path/to/nomoreide/dist/index.js"]
}
}
}Architecture
graph TD
subgraph Agent["AI Agent (Claude / Codex / Gemini)"]
A[Coding Agent CLI]
end
subgraph NoMoreIDE
MCP[MCP Server<br/>stdio transport]
PM[Process Manager]
GM[Git Manager]
LS[Log Store]
CS[Config Store<br/>nomoreide.config.json]
WS[Web Server<br/>:4317]
TUI[Terminal UI]
end
subgraph Services["Your Dev Services"]
S1[backend :3001]
S2[frontend :5173]
S3[db :5432]
end
A -- MCP stdio --> MCP
MCP --> PM
MCP --> GM
MCP --> LS
MCP --> CS
PM --> S1
PM --> S2
PM --> S3
LS --> PM
WS --> PM
WS --> GM
WS --> LS
TUI --> PM
TUI --> LSFeature Overview
| Feature | CLI | TUI | Web UI | MCP | |---|:---:|:---:|:---:|:---:| | Start / stop / restart services | ✓ | ✓ | ✓ | ✓ | | Bundle orchestration | ✓ | | ✓ | ✓ | | Port conflict detection | | | ✓ | ✓ | | Real-time log streaming | ✓ | ✓ | ✓ | ✓ | | Git status & diff | ✓ | | ✓ | ✓ | | Stage / unstage / commit | ✓ | | ✓ | ✓ | | Branch management | ✓ | | ✓ | ✓ | | GitHub PRs / issues / Actions | | | ✓ | ✓ | | Reusable git/GitHub workflows | | | ✓ | | | Database browse and SQL query | | | ✓ | ✓ | | Human-approved SQL writes | | | ✓ | | | Agent tools, hooks, plugins, usage | | | ✓ | | | Safe Git (no force-push, no reset) | ✓ | ✓ | ✓ | ✓ |
Running the Interfaces
MCP Server (default)
nomoreide
# or from source:
npm run devTerminal UI
nomoreide tuiWeb Dashboard
nomoreide web
# custom port:
nomoreide web --port=4320The web dashboard is available at http://127.0.0.1:4317 by default.
CLI
Services
# Register a local service
nomoreide add service backend \
--command "npm run dev" \
--cwd /absolute/path/to/backend \
--port 3001
# Register a Docker Compose service
nomoreide add service api \
--kind docker-compose \
--cwd /absolute/path/to/infra \
--compose-file docker-compose.yml \
--compose-service api \
--port 3001
# Register a remote SSH service (uses your local SSH config and agent)
nomoreide add service staging-api \
--kind ssh \
--host devbox \
--cwd /srv/app \
--command "npm run dev" \
--port 3001
# Register a bundle (ordered group of services)
nomoreide add bundle full-stack db backend frontend
# List everything
nomoreide list
# Lifecycle
nomoreide start backend
nomoreide stop backend
nomoreide restart backend
nomoreide start full-stack
nomoreide stop full-stack
# Logs (in-memory, current process)
nomoreide logs backendGit
NoMoreIDE exposes read-safe Git operations only — no hard reset, no clean, no force push, no branch deletion.
# Status & diff
nomoreide git status --cwd /path/to/repo
nomoreide git diff --cwd /path/to/repo
# Staging & committing
nomoreide git stage --cwd /path/to/repo src/index.ts README.md
nomoreide git unstage --cwd /path/to/repo src/index.ts
nomoreide git commit --cwd /path/to/repo --message "feat: add dashboard"
# History
nomoreide git log --cwd /path/to/repo
# Branches
nomoreide git branch --cwd /path/to/repo
nomoreide git fetch --cwd /path/to/repo
nomoreide git switch --cwd /path/to/repo feature/my-work
nomoreide git create-branch --cwd /path/to/repo feature/new-work
# Register repos for the web UI
nomoreide git add-repo app --path /path/to/repo
nomoreide git select-repo appMCP Tools
All tools are prefixed with nomoreide_ and are available to any connected MCP client.
Service Tools
| Tool | Description |
|---|---|
| nomoreide_list_services | List all registered services and bundles |
| nomoreide_register_service | Register a new service |
| nomoreide_start_service | Start a registered service |
| nomoreide_stop_service | Stop a running service |
| nomoreide_restart_service | Restart a running service |
| nomoreide_read_logs | Read recent in-memory logs for a service |
| nomoreide_register_bundle | Register a bundle of services |
| nomoreide_start_bundle | Start all services in a bundle |
| nomoreide_stop_bundle | Stop all services in a bundle |
| nomoreide_status | Overall server status |
| nomoreide_service_context | Build a copy-paste agent context packet for a service |
| nomoreide_service_health | Computed health summaries (one service or all) |
| nomoreide_timeline | Recent debug timeline events (optionally per service) |
| nomoreide_open_ui | Open the local web UI |
| nomoreide_close_ui | Close the local web UI |
Git Tools
| Tool | Description |
|---|---|
| nomoreide_git_status | Show working tree status |
| nomoreide_git_diff | Show unstaged diff |
| nomoreide_git_staged_diff | Show staged diff |
| nomoreide_git_log | Show recent commits |
| nomoreide_git_branches | List branches |
| nomoreide_git_fetch | Fetch from remote |
| nomoreide_git_switch_branch | Switch to a branch |
| nomoreide_git_create_branch | Create a new branch |
| nomoreide_git_stage | Stage specific files |
| nomoreide_git_unstage | Unstage specific files |
| nomoreide_git_commit | Commit staged changes |
| nomoreide_git_register_repository | Register a repo path |
| nomoreide_git_select_repository | Select the active repo |
Database Tools
| Tool | Description |
|---|---|
| nomoreide_list_databases | List registered database connections with masked URLs |
| nomoreide_db_tables | List tables and views for a connection |
| nomoreide_db_sample | Sample rows and schema metadata |
| nomoreide_db_query | Run read-only SQL queries; writes are rejected and staged for the Web UI SQL console |
GitHub Tools
| Tool | Description |
|---|---|
| nomoreide_github_set_token | Store a GitHub token for API access |
| nomoreide_github_list_prs / nomoreide_github_get_pr | Inspect pull requests |
| nomoreide_github_get_pr_diff | Fetch a pull request diff |
| nomoreide_github_create_pr / nomoreide_github_merge_pr | Create or merge pull requests with explicit user intent |
| nomoreide_github_list_issues / nomoreide_github_get_issue | Inspect issues |
| nomoreide_github_list_issue_comments / nomoreide_github_add_issue_comment | Read or add issue and PR comments |
| nomoreide_github_create_issue | Create an issue |
| nomoreide_github_get_commit_ci | Inspect commit check status |
| nomoreide_github_list_workflow_runs | List recent GitHub Actions workflow runs |
Example Configurations
Service Definition (via MCP)
{
"name": "backend",
"command": "npm run dev",
"cwd": "/absolute/path/to/project/backend",
"port": 3001,
"env": {
"NODE_ENV": "development"
},
"description": "REST API server"
}Bundle Definition (via MCP)
{
"name": "full-stack",
"services": ["db", "backend", "frontend"]
}Start the whole stack in one call:
{ "name": "full-stack" }Safety Model
NoMoreIDE is designed to be safe for AI agents to call without guard rails:
- Does not scan or enumerate the whole filesystem
- Does not kill processes it did not start
- Reports port conflicts instead of terminating the occupying process
- Git tools omit all destructive operations (no
reset --hard,clean,push --force, orbranch -D) - Database MCP tools are read-only; writes are staged for the human-only SQL console
- Database writes require explicit unlock, preview, and commit
- GitHub create/comment/merge tools require a configured token and explicit user intent
- Config is scoped to
~/.config/nomoreide/config.json - Logs are written only to
.nomoreide/logs/
Development
npm test # run the full test suite (vitest)
npm run build # compile TypeScript → dist/
npm run dev # run from source (tsx)Contributing
Issues and pull requests are welcome at github.com/Rorogogogo/nomoreide.
If this tool saved you from opening VS Code today, consider leaving a ⭐.
AGPL-3.0 + Commercial · Built by Rorogogogo
License
This project is dual-licensed:
- 🆓 AGPL-3.0 — free for personal use, open-source forks, and projects themselves open-sourced under a compatible license. See LICENSE.
- 💼 Commercial license — required for closed-source products, proprietary internal tools, or paid / hosted services where AGPL-3.0's copyleft and network-use obligations don't fit. See COMMERCIAL.md.
Do I need a commercial license?
| Use case | License | |---|---| | Personal use / running locally | AGPL-3.0 (free) | | Forking and publishing under AGPL-3.0 | AGPL-3.0 (free) | | Bundling into a closed-source product | Commercial | | Hosting a modified version as a SaaS without publishing source | Commercial | | Internal company tool not open-sourced | Commercial |
For a commercial license, contact Robert Wang at [email protected] — see COMMERCIAL.md for what to include in your request.
