patchloom 0.3.0

Structured file editing library and CLI for AI agents: parser-backed JSON/YAML/TOML edits, AST-aware code operations via tree-sitter, multi-file batching, markdown operations, and MCP server
Documentation
{
  "_comment": [
    "MCP tool call examples — these show the JSON-RPC messages an MCP client sends.",
    "You don't construct these manually; your agent's MCP client handles the protocol.",
    "These examples illustrate what happens under the hood when an agent calls patchloom tools."
  ],
  "examples": [
    {
      "description": "Set a config value (preserves YAML comments)",
      "tool": "doc_set",
      "arguments": {
        "path": "config.yaml",
        "selector": "database.port",
        "value": 5433
      }
    },
    {
      "description": "Search for a multi-line function signature",
      "tool": "search_files",
      "arguments": {
        "paths": ["src/cmd"],
        "pattern": "async fn search_files\\(.*?\\{",
        "multiline": true,
        "context": 1
      }
    },
    {
      "description": "Rename a file",
      "tool": "move_file",
      "arguments": {
        "from": "old_config.json",
        "to": "config.json"
      }
    },
    {
      "description": "Append a row to a markdown table",
      "tool": "md_table_append",
      "arguments": {
        "path": "README.md",
        "heading": "## API Endpoints",
        "row": "| `/api/v2/users` | List users (paginated) |"
      }
    },
    {
      "description": "Replace a version string across multiple files atomically",
      "tool": "batch_replace",
      "arguments": {
        "files": ["Cargo.toml", "README.md", "docs/install.md"],
        "from": "0.1.0",
        "to": "0.2.0"
      }
    },
    {
      "description": "Fix whitespace in multiple source files",
      "tool": "batch_tidy",
      "arguments": {
        "files": ["src/main.rs", "src/lib.rs", "tests/integration.rs"]
      }
    }
  ]
}