Edit tool is a lot less interesting than Bash Tool, just copying claude code is good enough. Bash tool though, it is the core of harness engineering, especially if you don't want a js runtime.
what people don't accoubt for is that it's a multi-edit tool. if an edit tool call with multiple edits in it succeeds, you saved many round trips to the provider. that compounds and balances out failed edits.
a codex like patch tool is similar. but many models suck at generating patches. hence the choice of string replacement edits.
if you want to optimize for one specific model, you can write a custom edit tool for that model via a pi extension.