Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Go MCP server for surgical file edits: insert, replace, move, copy, dry-run, verified replaceall.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
作者はレジストリにインストール情報を載せていません。下にある作者のREADMEをご覧ください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
公開者(kehsiaocuba-ux)がリポジトリの所有者(amalexico)ではありません。別の人が登録した可能性があります
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち0項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.12.0)がレジストリに届いたのは5 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, A1RO — Irish employment tools
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Irish temp worker cost, public holiday pay and holidays, and SafeHandle certificate checks.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A zero-dependency CLI tool for surgical file edits from the command line. No interactive editors. No sed/awk gymnastics. Just simple, predictable operations with built-in verification.
Built for sysadmins, DevOps engineers, and anyone who scripts config changes.
go install github.com/amalexico/fedit@latest
Go install (recommended):
go install github.com/amalexico/fedit@latest
Or download the binary from GitHub Releases and put it in your PATH.
Verify:
fedit -file /etc/hostname -op show
# See what is in a file
fedit -file config.yaml -op show
fedit -file config.yaml -op show -line 10 -end 25
fedit -file config.yaml -op find -match "timeout"
fedit -file main.go -op map -lang go
fedit -file config.yaml -op replace -line 42 -end 42 -text "timeout: 60s" -v
fedit -file nginx.conf -op insertafter -match "server {" -text " include security.conf;" -v
fedit -file main.go -op move -match "func OldHelper(" -end 45 -beforematch "func NewHelper(" -v
fedit -file values.yaml -op copy -line 50 -end 65 -after 200 -times 3 -v
fedit -file data.tsv -op fields -col 2
fedit -file config.txt -op writeraw -text "path=C:\\Users\\admin"
fedit -file config.txt -op write -texthex 706174683d2f746d70
fedit -file config.txt -op insert -line 0 -cleanfirst -text "# regenerated"
fedit -file main.go -op find -match "TODO" -x 2>$null
fedit -file huge.log -op replaceall -match 'ERROR' -text 'WARN' -stream
# Entire file
fedit -file app.conf -op show
fedit -file app.conf -op show -line 50 -end 75
fedit -file app.conf -op show -line -10:
fedit -file app.conf -op show -line 50 -end -5
fedit -file app.conf -op show -line 100:+3
fedit -file config.go -op show -match "func Start" -endmatch "func End"
# Find all lines containing "ERROR"
fedit -file /var/log/app.log -op find -match "ERROR"
Pro tip: Run find first to get line numbers, then use replace or delete with exact lines.
# Insert a comment after line 1
fedit -file script.sh -op insert -line 1 -text "# Added by deploy script" -v
fedit -file config.yaml -op insert -line 10 -textfile extra-config.yaml -v
# Add a firewall rule after the matching comment
fedit -file iptables.rules -op insertafter -match "# Custom rules" -text "-A INPUT -p tcp --dport 8080 -j ACCEPT" -v
fedit -file nginx.conf -op insertafter -match "server {" -nth 2 -text " listen 8443 ssl;" -v
fedit -file docker-compose.yml -op insertafter -match "volumes:" -nth -1 -text " - /data:/data" -v
# Add a header before the first route definition
fedit -file routes.rb -op insertbefore -match "get '/'" -text " # === Public Routes ===" -v
fedit -file package.json -op insertbefore -match "}" -nth -1 -textfile new-deps.txt -v
# Replace a single line
fedit -file config.ini -op replace -line 15 -end 15 -text "max_connections = 200" -v
fedit -file config.ini -op replace -match "max_connections" -text "max_connections = 200" -v
fedit -file server.conf -op replace -match "[cache]" -end 35 -textfile patched-block.txt -v
fedit -file server.conf -op replace -line 30 -end 35 -textfile patched-block.txt -v
fedit -file CHANGELOG.md -op replace -match "## v1.6" -endmatch "## v1.5" -textfile new-section.txt -v
# Change all occurrences of old domain to new
fedit -file nginx.conf -op replaceall -match "old.example.com" -text "new.example.com" -v
fedit -file Makefile -op replaceall -match "1.1.0" -text "1.2.0" -v
VERIFY: PASS or VERIFY: FAIL followed by the changed lines. This covers a single file, -match-regex, -stream, -files and a file list in -file, and fedit_replaceall over MCP. -v adds a context window for every match (not printed with -stream).-files GLOB prints the same per-file report as a file list in -file: one OK, SKIP or FAIL line per file, then multi -file replaceall: N/M file(s) succeeded. An OK line reads OK PATH replaced on N line(s); VERIFY: PASS, a file without the text is a SKIP (No lines contain: TEXT) and is never modified. Exit code 0 if at least one file succeeded and none failed (SKIP files do not change that), 1 if none succeeded, 3 if any file is FAIL.# Extract column 2 from a tab-separated file (default delimiter: tab)
fedit -file data.tsv -op fields -col 2
fedit -file report.csv -op fields -col 3 -delim ","
fedit -file /etc/passwd -op fields -col 1 -delim ":"
Output goes to stdout for piping. Lines shorter than -col are skipped silently. Always streaming -- no memory limit regardless of file size.
Add -stream to replaceall or find to process files line-by-line without loading them into memory. 10 MB per-line buffer handles JSON blobs and minified files. Atomic integrity: writes to a temp file then renames -- original is untouched on interruption.
# Replace a pattern in a multi-GB log file
fedit -file server.log -op replaceall -match "10.0.0.1" -text "10.0.0.2" -stream
fedit -file big.csv -op replaceall -match-regex 'id_(\d+)' -text 'ID_$1' -stream
fedit -file huge.log -op find -match "FATAL" -stream
Supported with -stream: replaceall (literal and regex), find. Not supported: move, copy, map (these require full file structure in memory).
# Write a Windows path without double-escaping backslashes
fedit -file config.ini -op writeraw -text "basedir=C:\\Program Files\\App"
fedit -file output.txt -op writeraw -textfile template.txt
Unlike write, writeraw treats \n as two characters (backslash + n), not a newline.
fedit -file notes.txt -op writelines
Encode text to hex first (e.g. with fwencode), then pass the hex string as -text. Eliminates all shell-quoting issues with special characters.
# Decode hex string and write — no quoting gymnastics needed
fedit -file deploy.sh -op write -texthex 23212f62696e2f62617368
Same idea as -texthex, but for the search anchors. PowerShell mangles a double quote inside -match before fedit sees it, so case "replace": silently becomes case replace: and matches nothing. Pass the anchor as hex instead; fedit decodes it into -match (or -endmatch) once, so every op that takes an anchor works unchanged.
# Find a line containing double quotes (hex of: case "replace":)
fedit -file main.go -op find -matchhex 6361736520227265706c616365223a
Invalid hex exits 1 with matchhex: invalid hex string: ... (or endmatchhex: ...).
-file accepts a comma-separated list, a glob, or both. A real file with that exact name wins over glob expansion.
Read-only ops (show, find, map) print a ==> path <== header per file:
# Find TODO in every Go file in the current folder
fedit -file '*.go' -op find -match 'TODO'
fedit -file main.go,mcp.go -op map -lang go
Mutating ops (replaceall, insertafter, insertbefore, delete, replace, write) run on each file on its own:
# Replace in every matching file
fedit -file '*.conf' -op replaceall -match 'old.example.com' -text 'new.example.com'
fedit -file a.yaml,b.yaml -op insertafter -match 'servers:' -text ' - new'
fedit -file '*.md' -op delete -match ' ' -endmatch ' '
N/M file(s) succeeded. A FAIL is a replaceall file that was written but did not pass the on-disk verification. Exit code 0 if at least one file succeeded and none failed, 1 if none succeed冒頭だけを表示しています。続きはリポジトリで読めます