marxml 0.0.0

Fast markdown + XML query and mutation. Rust core for the marxml ecosystem.
Documentation

marxml

Fast markdown + XML query and mutation. Rust core, JS bindings.

marxml parses markdown documents that contain embedded XML tags and gives you a typed handle to query, mutate, and serialize them. Built in Rust, distributed both as a Rust crate and a Node package via prebuilt native bindings.

Status: early. Name reserved, real implementation in progress.

Why

Markdown is a great storage format for human-editable structured state — but parsing the embedded XML tags out reliably is fiddly, and doing it fast at scale (thousands of files, repeated parses) starts to bite. marxml exists to make that one job fast and ergonomic from either language.

Use cases:

  • LLM tool output (XML-tagged blocks inside markdown responses)
  • Static-site / docs generators that embed structured callouts
  • Agent state machines stored as markdown
  • Anywhere markdown-as-data meets a hot path

Install

Node / TypeScript

pnpm add marxml

Ships prebuilt .node binaries for macOS (arm64, x64), Linux (x64-gnu, x64-musl, arm64-gnu), and Windows (x64-msvc).

Rust

cargo add marxml

Usage

API docs land with the first non-placeholder release.

Project layout

marxml/
├── crates/marxml/         # core Rust crate → crates.io
└── bindings/node/         # napi-rs wrapper  → npm

License

Dual-licensed under either of MIT or Apache 2.0 at your option.