nomoreide 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/LICENSE +121 -0
  2. package/README.md +295 -152
  3. package/package.json +2 -2
package/LICENSE ADDED
@@ -0,0 +1,121 @@
1
+ PolyForm Noncommercial License 1.0.0
2
+
3
+ https://polyformproject.org/licenses/noncommercial/1.0.0
4
+
5
+ Required Notice: Copyright Rorogogogo (https://github.com/Rorogogogo)
6
+
7
+ ## Acceptance
8
+
9
+ In order to get any license under these terms, you must agree to them as
10
+ both strict obligations and conditions to all your licenses.
11
+
12
+ ## Copyright License
13
+
14
+ The licensor grants you a copyright license for the software to do
15
+ everything you might do with the software that would otherwise infringe
16
+ the licensor's copyright in it for any permitted purpose. However, you
17
+ may only distribute the software according to Distribution License and
18
+ make changes or new works based on the software according to Changes and
19
+ New Works License.
20
+
21
+ ## Distribution License
22
+
23
+ The licensor grants you an additional copyright license to distribute
24
+ copies of the software. Your license to distribute covers distributing
25
+ the software with changes and new works permitted by Changes and New
26
+ Works License.
27
+
28
+ ## Notices
29
+
30
+ You must ensure that anyone who gets a copy of any part of the software
31
+ from you also gets a copy of these terms or the URL for them above, as
32
+ well as copies of any plain-text lines beginning with `Required Notice:`
33
+ that the licensor provided with the software. For example:
34
+
35
+ Required Notice: Copyright Rorogogogo (https://github.com/Rorogogogo)
36
+
37
+ ## Changes and New Works License
38
+
39
+ The licensor grants you an additional copyright license to make changes
40
+ and new works based on the software for any permitted purpose.
41
+
42
+ ## Patent License
43
+
44
+ The licensor grants you a patent license for the software that covers
45
+ patent claims the licensor can license, or becomes able to license, that
46
+ you would infringe by using the software.
47
+
48
+ ## Noncommercial Purposes
49
+
50
+ Any noncommercial purpose is a permitted purpose.
51
+
52
+ ## Personal Uses
53
+
54
+ Personal use for research, experiment, and testing for the benefit of
55
+ public knowledge, personal study, private entertainment, hobby projects,
56
+ amateur pursuits, or religious observance, without any anticipated
57
+ commercial application, is use for a permitted purpose.
58
+
59
+ ## Noncommercial Organizations
60
+
61
+ Use by any charitable organization, educational institution, public
62
+ research organization, public safety or health organization,
63
+ environmental protection organization, or government institution is use
64
+ for a permitted purpose regardless of the source of funding or
65
+ obligations resulting from the funding.
66
+
67
+ ## Fair Use
68
+
69
+ You may have "fair use" rights for the software under the law. These
70
+ terms do not limit them.
71
+
72
+ ## No Other Rights
73
+
74
+ These terms do not allow you to sublicense or transfer any of your
75
+ licenses to anyone else, or prevent the licensor from granting licenses
76
+ to anyone else. These terms do not imply any other licenses.
77
+
78
+ ## Patent Defense
79
+
80
+ If you make any written claim that the software infringes or contributes
81
+ to infringement of any patent, your patent license for the software
82
+ granted under these terms ends immediately. If your company makes such a
83
+ claim, your patent license ends immediately for work on behalf of your
84
+ company.
85
+
86
+ ## Violations
87
+
88
+ The first time you are notified in writing that you have violated any of
89
+ these terms, or done anything with the software not covered by your
90
+ licenses, your licenses can nonetheless continue if you come into full
91
+ compliance with these terms, and take practical steps to correct past
92
+ violations, within 32 days of receiving notice. Otherwise, all your
93
+ licenses end immediately.
94
+
95
+ ## No Liability
96
+
97
+ AS FAR AS THE LAW ALLOWS, THE SOFTWARE COMES AS IS, WITHOUT ANY
98
+ WARRANTY OR CONDITION, AND THE LICENSOR WILL NOT BE LIABLE TO YOU FOR
99
+ ANY DAMAGES ARISING OUT OF THESE TERMS OR THE USE OR NATURE OF THE
100
+ SOFTWARE, UNDER ANY KIND OF LEGAL CLAIM.
101
+
102
+ ## Definitions
103
+
104
+ The "licensor" is the individual or entity offering these terms, and the
105
+ "software" is the software the licensor makes available under these
106
+ terms.
107
+
108
+ "You" refers to the individual or entity agreeing to these terms.
109
+
110
+ "Your company" is any legal entity, sole proprietorship, or other kind
111
+ of organization that you work for, plus all organizations that have
112
+ control over, are under the control of, or are under common control with
113
+ that organization. "Control" means ownership of substantially all the
114
+ assets of an entity, or the power to direct its management and policies
115
+ by vote, contract, or otherwise. Control can be direct or indirect.
116
+
117
+ "Your licenses" are all the licenses granted to you for the software
118
+ under these terms.
119
+
120
+ "Use" means anything you do with the software requiring one of your
121
+ licenses.
package/README.md CHANGED
@@ -1,83 +1,93 @@
1
- # NoMoreIDE
1
+ <div align="center">
2
2
 
3
- NoMoreIDE is an AI-native terminal workbench for the post-IDE development loop. It gives coding agents and humans a shared local control surface for services, ports, logs, Git review, and MCP workflows.
3
+ <img src="assets/nomoreide-logo.png" alt="NoMoreIDE Logo" width="120" />
4
4
 
5
- ## Status
5
+ # NoMoreIDE
6
6
 
7
- This is an MVP with a working MCP server, core process manager, terminal UI, React web UI, and safe Git review tools.
7
+ **The AI-native terminal workbench for the post-IDE development loop.**
8
8
 
9
- ## Install
9
+ [![npm version](https://img.shields.io/npm/v/nomoreide?style=flat-square&color=0ea5e9&label=npm)](https://www.npmjs.com/package/nomoreide)
10
+ [![npm downloads](https://img.shields.io/npm/dm/nomoreide?style=flat-square&color=6366f1)](https://www.npmjs.com/package/nomoreide)
11
+ [![GitHub stars](https://img.shields.io/github/stars/Rorogogogo/nomoreide?style=flat-square&color=f59e0b)](https://github.com/Rorogogogo/nomoreide/stargazers)
12
+ [![License: PolyForm NC](https://img.shields.io/badge/license-PolyForm%20NC-22c55e?style=flat-square)](LICENSE)
13
+ [![Node.js ≥20](https://img.shields.io/badge/node-%E2%89%A520-3b82f6?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org)
14
+ [![MCP Ready](https://img.shields.io/badge/MCP-ready-a855f7?style=flat-square)](https://modelcontextprotocol.io)
10
15
 
11
- Run without installing:
12
-
13
- ```bash
14
- npx -y nomoreide
15
- ```
16
-
17
- Install globally:
16
+ Give your coding agents and yourself a **shared local control surface** for services, ports, logs, Git review, and MCP workflows — no IDE required.
18
17
 
19
- ```bash
20
- npm install -g nomoreide
21
- ```
18
+ [Quick Start](#quick-start) · [MCP Setup](#-connect-your-ai-agent) · [CLI Reference](#cli) · [MCP Tools](#mcp-tools) · [Architecture](#architecture)
22
19
 
23
- Or from a local checkout:
20
+ </div>
24
21
 
25
- ```bash
26
- npm install
27
- npm run build
28
- ```
22
+ ---
29
23
 
30
- ## Run
24
+ ## What Is NoMoreIDE?
31
25
 
32
- Start the MCP server:
26
+ NoMoreIDE is a lightweight process manager, Git reviewer, 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.
33
27
 
34
- ```bash
35
- nomoreide
36
28
  ```
37
-
38
- From a local checkout:
39
-
40
- ```bash
41
- npm run dev
29
+ ┌──────────────────────────────────────────────────────┐
30
+ │ Your Project │
31
+ │ │
32
+ │ Claude Code / Codex CLI / Gemini CLI │
33
+ │ │ │
34
+ │ MCP (stdio) │
35
+ │ │ │
36
+ │ ┌───────▼────────┐ ┌──────────────────────┐ │
37
+ │ │ NoMoreIDE MCP │◄──►│ Process Manager │ │
38
+ │ │ Server │ │ Log Store │ │
39
+ │ └───────┬────────┘ │ Git Manager │ │
40
+ │ │ │ Config Store │ │
41
+ │ HTTP API └──────────────────────┘ │
42
+ │ │ │
43
+ │ ┌───────▼──────────────────────────┐ │
44
+ │ │ Web UI (localhost:4317) │ │
45
+ │ │ Terminal UI (nomoreide tui) │ │
46
+ │ └──────────────────────────────────┘ │
47
+ └──────────────────────────────────────────────────────┘
42
48
  ```
43
49
 
44
- Start the terminal UI:
50
+ ---
45
51
 
46
- ```bash
47
- nomoreide tui
48
- ```
52
+ ## Connect Your AI Agent
49
53
 
50
- Start the local web UI:
54
+ NoMoreIDE runs as a **local stdio MCP server**. Pick your agent CLI and paste the one-liner — that's it.
51
55
 
52
- ```bash
53
- nomoreide web
54
- ```
55
-
56
- The web UI listens on `http://127.0.0.1:4317` by default. Use another port with:
56
+ ### Claude Code
57
57
 
58
58
  ```bash
59
- nomoreide web --port=4320
59
+ claude mcp add --transport stdio nomoreide -- npx -y nomoreide
60
60
  ```
61
61
 
62
- From a local checkout, prefix CLI commands with `npm run dev --` instead of `nomoreide`.
63
-
64
- ## Agent CLI MCP Setup
62
+ > Want to share the config with your whole team? Use project scope to commit a `.mcp.json`:
63
+ >
64
+ > ```bash
65
+ > claude mcp add --transport stdio --scope project nomoreide -- npx -y nomoreide
66
+ > ```
65
67
 
66
- NoMoreIDE runs as a local stdio MCP server. The easiest setup is to let each agent CLI launch the published npm package with `npx`.
67
-
68
- ### Claude Code
68
+ Then confirm inside Claude Code:
69
69
 
70
- ```bash
71
- claude mcp add --transport stdio nomoreide -- npx -y nomoreide
70
+ ```
71
+ /mcp
72
72
  ```
73
73
 
74
- Use project scope if you want to commit a shared `.mcp.json` for the current repository:
74
+ <details>
75
+ <summary>Manual config (<code>.mcp.json</code> or Claude settings)</summary>
75
76
 
76
- ```bash
77
- claude mcp add --transport stdio --scope project nomoreide -- npx -y nomoreide
77
+ ```json
78
+ {
79
+ "mcpServers": {
80
+ "nomoreide": {
81
+ "command": "npx",
82
+ "args": ["-y", "nomoreide"]
83
+ }
84
+ }
85
+ }
78
86
  ```
79
87
 
80
- Inside Claude Code, run `/mcp` to confirm the server is connected.
88
+ </details>
89
+
90
+ ---
81
91
 
82
92
  ### Codex CLI
83
93
 
@@ -85,19 +95,28 @@ Inside Claude Code, run `/mcp` to confirm the server is connected.
85
95
  codex mcp add nomoreide -- npx -y nomoreide
86
96
  ```
87
97
 
88
- Or add it directly to `~/.codex/config.toml`:
98
+ <details>
99
+ <summary>Manual config (<code>~/.codex/config.toml</code>)</summary>
89
100
 
90
101
  ```toml
91
102
  [mcp_servers.nomoreide]
92
103
  command = "npx"
93
- args = ["-y", "nomoreide"]
104
+ args = ["-y", "nomoreide"]
105
+ ```
106
+
107
+ </details>
108
+
109
+ Then confirm inside Codex:
110
+
111
+ ```
112
+ /mcp
94
113
  ```
95
114
 
96
- Inside Codex, run `/mcp` to confirm the server is connected.
115
+ ---
97
116
 
98
117
  ### Gemini CLI
99
118
 
100
- Add NoMoreIDE to your Gemini CLI `settings.json`:
119
+ Open your Gemini CLI settings file (`~/.gemini/settings.json` or the path shown by `gemini config`) and add:
101
120
 
102
121
  ```json
103
122
  {
@@ -110,144 +129,243 @@ Add NoMoreIDE to your Gemini CLI `settings.json`:
110
129
  }
111
130
  ```
112
131
 
113
- Restart Gemini CLI, then run `/mcp` to confirm the server is connected.
132
+ Restart Gemini CLI, then verify:
114
133
 
115
- ## CLI
134
+ ```
135
+ /mcp
136
+ ```
116
137
 
117
- Register a service:
138
+ ---
118
139
 
119
- ```bash
120
- nomoreide add service backend --command "npm run dev" --cwd /absolute/path/to/backend --port 3001
121
- ```
140
+ ### Local Checkout (any agent)
122
141
 
123
- Register a bundle:
142
+ If you prefer to point agents at a locally built binary instead of the published npm package:
124
143
 
125
- ```bash
126
- nomoreide add bundle full-stack db backend frontend
144
+ ```json
145
+ {
146
+ "mcpServers": {
147
+ "nomoreide": {
148
+ "command": "node",
149
+ "args": ["/absolute/path/to/nomoreide/dist/index.js"]
150
+ }
151
+ }
152
+ }
127
153
  ```
128
154
 
129
- List registered services and bundles:
155
+ ---
130
156
 
131
- ```bash
132
- nomoreide list
133
- ```
157
+ ## Quick Start
134
158
 
135
- Start, stop, or restart a registered service:
159
+ Run without installing:
136
160
 
137
161
  ```bash
138
- nomoreide start backend
139
- nomoreide stop backend
140
- nomoreide restart backend
162
+ npx -y nomoreide
141
163
  ```
142
164
 
143
- Start or stop a bundle:
165
+ Install globally:
144
166
 
145
167
  ```bash
146
- nomoreide start full-stack
147
- nomoreide stop full-stack
168
+ npm install -g nomoreide
148
169
  ```
149
170
 
150
- Read recent in-memory logs for the current NoMoreIDE process:
171
+ Build from source:
151
172
 
152
173
  ```bash
153
- nomoreide logs backend
174
+ git clone https://github.com/Rorogogogo/nomoreide.git
175
+ cd nomoreide
176
+ npm install
177
+ npm run build
178
+ ```
179
+
180
+ ---
181
+
182
+ ## Architecture
183
+
184
+ ```mermaid
185
+ graph TD
186
+ subgraph Agent["AI Agent (Claude / Codex / Gemini)"]
187
+ A[Coding Agent CLI]
188
+ end
189
+
190
+ subgraph NoMoreIDE
191
+ MCP[MCP Server<br/>stdio transport]
192
+ PM[Process Manager]
193
+ GM[Git Manager]
194
+ LS[Log Store]
195
+ CS[Config Store<br/>nomoreide.config.json]
196
+ WS[Web Server<br/>:4317]
197
+ TUI[Terminal UI]
198
+ end
199
+
200
+ subgraph Services["Your Dev Services"]
201
+ S1[backend :3001]
202
+ S2[frontend :5173]
203
+ S3[db :5432]
204
+ end
205
+
206
+ A -- MCP stdio --> MCP
207
+ MCP --> PM
208
+ MCP --> GM
209
+ MCP --> LS
210
+ MCP --> CS
211
+ PM --> S1
212
+ PM --> S2
213
+ PM --> S3
214
+ LS --> PM
215
+ WS --> PM
216
+ WS --> GM
217
+ WS --> LS
218
+ TUI --> PM
219
+ TUI --> LS
154
220
  ```
155
221
 
156
- ## Git
222
+ ---
157
223
 
158
- NoMoreIDE includes safe Git review commands. It does not expose destructive actions such as hard reset, clean, force push, or branch deletion.
224
+ ## Feature Overview
159
225
 
160
- Show status:
226
+ | Feature | CLI | TUI | Web UI | MCP |
227
+ |---|:---:|:---:|:---:|:---:|
228
+ | Start / stop / restart services | ✓ | ✓ | ✓ | ✓ |
229
+ | Bundle orchestration | ✓ | | ✓ | ✓ |
230
+ | Port conflict detection | | | ✓ | ✓ |
231
+ | Real-time log streaming | ✓ | ✓ | ✓ | ✓ |
232
+ | Git status & diff | ✓ | | ✓ | ✓ |
233
+ | Stage / unstage / commit | ✓ | | ✓ | ✓ |
234
+ | Branch management | ✓ | | ✓ | ✓ |
235
+ | Safe Git (no force-push, no reset) | ✓ | ✓ | ✓ | ✓ |
161
236
 
162
- ```bash
163
- nomoreide git status --cwd /absolute/path/to/repo
164
- ```
237
+ ---
165
238
 
166
- Register and select Git folders for the web UI:
239
+ ## Running the Interfaces
240
+
241
+ ### MCP Server (default)
167
242
 
168
243
  ```bash
169
- nomoreide git add-repo app --path /absolute/path/to/repo
170
- nomoreide git select-repo app
244
+ nomoreide
245
+ # or from source:
246
+ npm run dev
171
247
  ```
172
248
 
173
- Show unstaged diff:
249
+ ### Terminal UI
174
250
 
175
251
  ```bash
176
- nomoreide git diff --cwd /absolute/path/to/repo
252
+ nomoreide tui
177
253
  ```
178
254
 
179
- Stage or unstage explicit files:
255
+ ### Web Dashboard
180
256
 
181
257
  ```bash
182
- nomoreide git stage --cwd /absolute/path/to/repo src/index.ts README.md
183
- nomoreide git unstage --cwd /absolute/path/to/repo src/index.ts
258
+ nomoreide web
259
+ # custom port:
260
+ nomoreide web --port=4320
184
261
  ```
185
262
 
186
- Commit staged changes:
263
+ The web dashboard is available at `http://127.0.0.1:4317` by default.
187
264
 
188
- ```bash
189
- nomoreide git commit --cwd /absolute/path/to/repo --message "feat: add service dashboard"
190
- ```
265
+ ---
266
+
267
+ ## CLI
191
268
 
192
- Show recent commits:
269
+ ### Services
193
270
 
194
271
  ```bash
195
- nomoreide git log --cwd /absolute/path/to/repo
196
- ```
272
+ # Register a service
273
+ nomoreide add service backend \
274
+ --command "npm run dev" \
275
+ --cwd /absolute/path/to/backend \
276
+ --port 3001
197
277
 
198
- List branches, fetch remotes, switch branches, or create a branch:
278
+ # Register a bundle (ordered group of services)
279
+ nomoreide add bundle full-stack db backend frontend
199
280
 
200
- ```bash
201
- nomoreide git branch --cwd /absolute/path/to/repo
202
- nomoreide git fetch --cwd /absolute/path/to/repo
203
- nomoreide git switch --cwd /absolute/path/to/repo feature/work
204
- nomoreide git create-branch --cwd /absolute/path/to/repo feature/new-work
281
+ # List everything
282
+ nomoreide list
283
+
284
+ # Lifecycle
285
+ nomoreide start backend
286
+ nomoreide stop backend
287
+ nomoreide restart backend
288
+ nomoreide start full-stack
289
+ nomoreide stop full-stack
290
+
291
+ # Logs (in-memory, current process)
292
+ nomoreide logs backend
205
293
  ```
206
294
 
207
- For a local checkout MCP client setup, point a stdio server entry at the built CLI:
295
+ ### Git
208
296
 
209
- ```json
210
- {
211
- "mcpServers": {
212
- "nomoreide": {
213
- "command": "node",
214
- "args": ["/absolute/path/to/nomoreide/dist/index.js"]
215
- }
216
- }
217
- }
297
+ NoMoreIDE exposes **read-safe** Git operations only — no hard reset, no clean, no force push, no branch deletion.
298
+
299
+ ```bash
300
+ # Status & diff
301
+ nomoreide git status --cwd /path/to/repo
302
+ nomoreide git diff --cwd /path/to/repo
303
+
304
+ # Staging & committing
305
+ nomoreide git stage --cwd /path/to/repo src/index.ts README.md
306
+ nomoreide git unstage --cwd /path/to/repo src/index.ts
307
+ nomoreide git commit --cwd /path/to/repo --message "feat: add dashboard"
308
+
309
+ # History
310
+ nomoreide git log --cwd /path/to/repo
311
+
312
+ # Branches
313
+ nomoreide git branch --cwd /path/to/repo
314
+ nomoreide git fetch --cwd /path/to/repo
315
+ nomoreide git switch --cwd /path/to/repo feature/my-work
316
+ nomoreide git create-branch --cwd /path/to/repo feature/new-work
317
+
318
+ # Register repos for the web UI
319
+ nomoreide git add-repo app --path /path/to/repo
320
+ nomoreide git select-repo app
218
321
  ```
219
322
 
220
- NoMoreIDE stores service definitions in `nomoreide.config.json` in the directory where the server is launched. Logs are written to `.nomoreide/logs/`.
323
+ ---
221
324
 
222
325
  ## MCP Tools
223
326
 
224
- - `nomoreide_list_services`
225
- - `nomoreide_register_service`
226
- - `nomoreide_start_service`
227
- - `nomoreide_stop_service`
228
- - `nomoreide_restart_service`
229
- - `nomoreide_read_logs`
230
- - `nomoreide_register_bundle`
231
- - `nomoreide_start_bundle`
232
- - `nomoreide_stop_bundle`
233
- - `nomoreide_status`
234
- - `nomoreide_git_status`
235
- - `nomoreide_git_branches`
236
- - `nomoreide_git_switch_branch`
237
- - `nomoreide_git_create_branch`
238
- - `nomoreide_git_fetch`
239
- - `nomoreide_git_diff`
240
- - `nomoreide_git_staged_diff`
241
- - `nomoreide_git_log`
242
- - `nomoreide_git_stage`
243
- - `nomoreide_git_unstage`
244
- - `nomoreide_git_commit`
245
- - `nomoreide_git_register_repository`
246
- - `nomoreide_git_select_repository`
247
-
248
- ## Example Service
249
-
250
- Register a service through MCP with:
327
+ All tools are prefixed with `nomoreide_` and are available to any connected MCP client.
328
+
329
+ ### Service Tools
330
+
331
+ | Tool | Description |
332
+ |---|---|
333
+ | `nomoreide_list_services` | List all registered services and bundles |
334
+ | `nomoreide_register_service` | Register a new service |
335
+ | `nomoreide_start_service` | Start a registered service |
336
+ | `nomoreide_stop_service` | Stop a running service |
337
+ | `nomoreide_restart_service` | Restart a running service |
338
+ | `nomoreide_read_logs` | Read recent in-memory logs for a service |
339
+ | `nomoreide_register_bundle` | Register a bundle of services |
340
+ | `nomoreide_start_bundle` | Start all services in a bundle |
341
+ | `nomoreide_stop_bundle` | Stop all services in a bundle |
342
+ | `nomoreide_status` | Overall server status |
343
+ | `nomoreide_open_ui` | Open the local web UI |
344
+ | `nomoreide_close_ui` | Close the local web UI |
345
+
346
+ ### Git Tools
347
+
348
+ | Tool | Description |
349
+ |---|---|
350
+ | `nomoreide_git_status` | Show working tree status |
351
+ | `nomoreide_git_diff` | Show unstaged diff |
352
+ | `nomoreide_git_staged_diff` | Show staged diff |
353
+ | `nomoreide_git_log` | Show recent commits |
354
+ | `nomoreide_git_branches` | List branches |
355
+ | `nomoreide_git_fetch` | Fetch from remote |
356
+ | `nomoreide_git_switch_branch` | Switch to a branch |
357
+ | `nomoreide_git_create_branch` | Create a new branch |
358
+ | `nomoreide_git_stage` | Stage specific files |
359
+ | `nomoreide_git_unstage` | Unstage specific files |
360
+ | `nomoreide_git_commit` | Commit staged changes |
361
+ | `nomoreide_git_register_repository` | Register a repo path |
362
+ | `nomoreide_git_select_repository` | Select the active repo |
363
+
364
+ ---
365
+
366
+ ## Example Configurations
367
+
368
+ ### Service Definition (via MCP)
251
369
 
252
370
  ```json
253
371
  {
@@ -258,11 +376,11 @@ Register a service through MCP with:
258
376
  "env": {
259
377
  "NODE_ENV": "development"
260
378
  },
261
- "description": "API server"
379
+ "description": "REST API server"
262
380
  }
263
381
  ```
264
382
 
265
- ## Example Bundle
383
+ ### Bundle Definition (via MCP)
266
384
 
267
385
  ```json
268
386
  {
@@ -271,21 +389,46 @@ Register a service through MCP with:
271
389
  }
272
390
  ```
273
391
 
274
- Then call `nomoreide_start_bundle` with:
392
+ Start the whole stack in one call:
275
393
 
276
394
  ```json
277
- {
278
- "name": "full-stack"
279
- }
395
+ { "name": "full-stack" }
280
396
  ```
281
397
 
398
+ ---
399
+
282
400
  ## Safety Model
283
401
 
284
- NoMoreIDE does not scan the whole machine and does not kill unrelated processes. If a registered service port is already occupied, NoMoreIDE reports the conflict instead of terminating the process.
402
+ NoMoreIDE is designed to be **safe for AI agents to call without guard rails**:
403
+
404
+ - Does not scan or enumerate the whole filesystem
405
+ - Does not kill processes it did not start
406
+ - Reports port conflicts instead of terminating the occupying process
407
+ - Git tools omit all destructive operations (no `reset --hard`, `clean`, `push --force`, or `branch -D`)
408
+ - Config is scoped to `nomoreide.config.json` in the launch directory
409
+ - Logs are written only to `.nomoreide/logs/`
410
+
411
+ ---
285
412
 
286
413
  ## Development
287
414
 
288
415
  ```bash
289
- npm test
290
- npm run build
416
+ npm test # run the full test suite (vitest)
417
+ npm run build # compile TypeScript → dist/
418
+ npm run dev # run from source (tsx)
291
419
  ```
420
+
421
+ ---
422
+
423
+ ## Contributing
424
+
425
+ Issues and pull requests are welcome at [github.com/Rorogogogo/nomoreide](https://github.com/Rorogogogo/nomoreide/issues).
426
+ If this tool saved you from opening VS Code today, consider leaving a ⭐.
427
+
428
+ ---
429
+
430
+ <div align="center">
431
+
432
+ MIT License · Built by [Rorogogogo](https://github.com/Rorogogogo)
433
+
434
+ </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nomoreide",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "An AI-native terminal workbench for services, Git review, logs, and MCP workflows.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,7 +10,7 @@
10
10
  "bugs": {
11
11
  "url": "https://github.com/Rorogogogo/nomoreide/issues"
12
12
  },
13
- "license": "MIT",
13
+ "license": "PolyForm-Noncommercial-1.0.0",
14
14
  "keywords": [
15
15
  "ai",
16
16
  "terminal",