Skip to content

feat: add file editing tools for all backends#8

Merged
aniongithub merged 1 commit into
mainfrom
feature-edit-tools
Apr 26, 2026
Merged

feat: add file editing tools for all backends#8
aniongithub merged 1 commit into
mainfrom
feature-edit-tools

Conversation

@aniongithub
Copy link
Copy Markdown
Owner

Add 12 new MCP tools (4 per backend) that provide proper file reading, writing, editing, and listing inside containers. These mirror the familiar view/edit/create pattern used by AI coding agents, eliminating the need to construct fragile shell commands via exec/ssh.

New tools per backend (devpod_, devcontainer_, codespaces_):

  • file_read: Read file content with optional line range (1-based)
  • file_write: Create/overwrite files with automatic parent dir creation
  • file_edit: Surgical old_str → new_str replacement (must match once)
  • file_list: List directory contents (non-hidden, up to 2 levels)

Implementation:

  • New file_ops module with server-side edit logic (apply_edit) and shell command builders (base64-encoded writes for safe transport)
  • Backend wrappers in devpod.rs, devcontainer.rs, codespaces.rs
  • FileRead and FileEdit error variants in error.rs
  • Unit tests for edit logic, line formatting, and shell escaping

Add 12 new MCP tools (4 per backend) that provide proper file reading,
writing, editing, and listing inside containers. These mirror the
familiar view/edit/create pattern used by AI coding agents, eliminating
the need to construct fragile shell commands via exec/ssh.

New tools per backend (devpod_, devcontainer_, codespaces_):
- file_read: Read file content with optional line range (1-based)
- file_write: Create/overwrite files with automatic parent dir creation
- file_edit: Surgical old_str → new_str replacement (must match once)
- file_list: List directory contents (non-hidden, up to 2 levels)

Implementation:
- New file_ops module with server-side edit logic (apply_edit) and
  shell command builders (base64-encoded writes for safe transport)
- Backend wrappers in devpod.rs, devcontainer.rs, codespaces.rs
- FileRead and FileEdit error variants in error.rs
- Unit tests for edit logic, line formatting, and shell escaping
@aniongithub aniongithub merged commit 771690e into main Apr 26, 2026
1 check passed
@aniongithub aniongithub deleted the feature-edit-tools branch April 26, 2026 05:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant