@muvon/octofs 0.12.0 → 0.13.0

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 (2) hide show
  1. package/README.md +37 -15
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -10,11 +10,11 @@
10
10
  [![MCP](https://img.shields.io/badge/MCP-2026--07--28-green.svg)](https://modelcontextprotocol.io)
11
11
  [![Version](https://img.shields.io/crates/v/octofs.svg)](https://crates.io/crates/octofs)
12
12
 
13
- *Standalone Rust binary that exposes filesystem tools over the Model Context Protocol. Built on `rmcp` 3.0, `tokio`, and `axum`.*
13
+ *Standalone Rust binary that exposes filesystem tools over the Model Context Protocol. Built on `rmcp` 3.x, `tokio`, and `axum`.*
14
14
 
15
- [Installation](#installation) · [Quick Start](#quick-start) · [Features](#features) · [Tools Reference](#mcp-tools-reference) · [Architecture](#architecture)
15
+ [Installation](#installation) · [Quick Start](#quick-start) · [Features](#features) · [Tools Reference](#mcp-tools-reference) · [Architecture](#architecture) · [Changelog](CHANGELOG.md)
16
16
 
17
- MCP Registry: [`io.github.Muvon/octofs`](https://github.com/muvon/octofs)
17
+ MCP Registry: [`io.github.Muvon/octofs`](https://registry.modelcontextprotocol.io)
18
18
 
19
19
  </div>
20
20
 
@@ -53,9 +53,9 @@ Your AI coding assistant (Cursor, Claude, Windsurf, etc.) is smart — but it's
53
53
  | **Implementation** | Compiled Rust binary, no runtime | Python/Node script |
54
54
  | **Content Search** | Built-in search with context lines | String matching only |
55
55
  | **Batch Operations** | Atomic multi-edit on single file | One-at-a-time |
56
- | **Line Modes** | Hash-based (stable across edits) or number-based | Number-only |
56
+ | **Line Addressing** | Composite `N:hh` ids — hash-verified at apply time; stale edits fail with relocation hints | Number-only |
57
57
  | **Transport** | STDIO + Streamable HTTP | STDIO only |
58
- | **Shell Integration** | Foreground + background process support | Limited or none |
58
+ | **Shell Integration** | Automatic foreground-to-background handoff | Limited or none |
59
59
  | **Remote Files** | Transparent SSH/SFTP on every file tool | None |
60
60
  | **Safety** | Gitignore-aware, stale-write detection, path validation | Full filesystem access |
61
61
 
@@ -75,6 +75,25 @@ cargo install octofs
75
75
  brew install muvon/tap/octofs
76
76
  ```
77
77
 
78
+ ### npm (no Rust toolchain needed)
79
+
80
+ ```bash
81
+ npx -y @muvon/octofs --version
82
+ ```
83
+
84
+ The wrapper downloads the matching pre-built binary on first run. MCP config:
85
+
86
+ ```json
87
+ {
88
+ "mcpServers": {
89
+ "octofs": {
90
+ "command": "npx",
91
+ "args": ["-y", "@muvon/octofs", "mcp"]
92
+ }
93
+ }
94
+ }
95
+ ```
96
+
78
97
  ### Pre-built Binaries
79
98
 
80
99
  Download from [GitHub Releases](https://github.com/muvon/octofs/releases) for your platform:
@@ -88,9 +107,11 @@ Download from [GitHub Releases](https://github.com/muvon/octofs/releases) for yo
88
107
  | macOS (Intel) | `x86_64-apple-darwin` |
89
108
  | macOS (Apple Silicon) | `aarch64-apple-darwin` |
90
109
 
110
+ Each release also ships `.mcpb` bundles for one-click install in clients that support MCP bundles (e.g. Claude Desktop).
111
+
91
112
  ### MCP Registry
92
113
 
93
- One-click install via the [MCP Registry](https://github.com/muvon/octofs) entry `io.github.Muvon/octofs`.
114
+ Published to the [MCP Registry](https://registry.modelcontextprotocol.io) as `io.github.Muvon/octofs`.
94
115
 
95
116
  ### From Source
96
117
 
@@ -180,7 +201,7 @@ Ask your AI assistant to:
180
201
  - **Delete** — Remove a file (recoverable via undo)
181
202
  - **Undo** — Revert last edit (up to 10 undo levels per file, in-memory)
182
203
  - **Batch Edit** — Perform multiple insert/replace operations atomically on a single file
183
- - **Stale-Write Protection** — Edits fail fast if the file changed on disk since it was last viewed (external-edit detection, like an IDE's "file changed on disk" guard)
204
+ - **Stale-Write Protection** — Every edit target's `N:hh` id is verified against the file at apply time; a stale id fails with the current content and where it moved, instead of editing the wrong line
184
205
 
185
206
  ### 🔍 Code Intelligence
186
207
 
@@ -190,7 +211,7 @@ Ask your AI assistant to:
190
211
  ### 🖥️ Shell & System
191
212
 
192
213
  - **Command Execution** — Run shell commands with output capture
193
- - **Background Processes** — Run long commands in background, get PID for later management
214
+ - **Background Processes** — Long commands automatically continue in background with completion notifications
194
215
  - **Working Directory** — Set/get/reset working directory context for operations
195
216
 
196
217
  ---
@@ -450,17 +471,18 @@ the file). `append_line` positions the copy in the target: `0` = beginning,
450
471
 
451
472
  ### `shell` — Execute commands
452
473
 
453
- **Foreground:**
474
+ Commands start in the foreground and return their output normally when they
475
+ finish within about 10 seconds:
476
+
454
477
  ```json
455
478
  {"command": "cargo test"}
456
479
  {"command": "cd foo && cargo build"}
457
480
  ```
458
481
 
459
- **Background:**
460
- ```json
461
- {"command": "python -m http.server 8000", "background": true}
462
- // Returns PID; the response includes the platform-specific kill command
463
- ```
482
+ If a command is still running at that boundary, the same process continues in
483
+ the background. The response returns its PID and linked output resource, and a
484
+ completion notification arrives when it exits. There is no `background` flag
485
+ and the command is never killed or restarted during the handoff.
464
486
 
465
487
  > On Windows, shutdown cleanup terminates only direct child processes (no Unix
466
488
  > process-group semantics); use `taskkill /PID <pid> /T` for process trees.
@@ -516,7 +538,7 @@ octofs/
516
538
 
517
539
  **Key design decisions:**
518
540
 
519
- - **rmcp SDK** — Official Rust MCP SDK (`rmcp` 3.0) for protocol handling
541
+ - **rmcp SDK** — Official Rust MCP SDK (`rmcp` 3.x) for protocol handling
520
542
  - **Tokio** — Async runtime; all file I/O uses `tokio::fs`, never blocking `std::fs`
521
543
  - **File locking** — Per-file `tokio::sync::Mutex` prevents concurrent write conflicts
522
544
  - **Undo history** — Up to 10 snapshots per file, in-memory (lost on restart)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@muvon/octofs",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "Standalone MCP filesystem tools server \u2014 view, edit, shell, workdir.",
5
5
  "mcpName": "io.github.Muvon/octofs",
6
6
  "bin": {