{
  "markdown": "<p align=\"center\">\n  <img src=\"logo.png\" alt=\"Quire\" width=\"100%\" />\n</p>\n\n# quire-wasm\n\n[![Discord](https://img.shields.io/badge/Discord-Join%20us-5865F2?logo=discord&logoColor=white)](https://discord.gg/6qsdhSPE)\n\nWebAssembly bindings for [quire-rs](https://github.com/agent-ix/quire-rs) —\nthe parsing, extraction, and validation engine that powers the\nFilament/Quire spec-artifact ecosystem.\n\n**Purpose:** give `spec-editor` and other browser/Node consumers the\ncanonical parse/extract/validate pipeline so the editor agrees\nbyte-for-byte with the `quire` CLI and the Python reference parser.\n\n> **No render surface.** The render/templating feature was removed from\n> `quire-rs` (commit `e0811a8`). There is no `render` or `renderFromBlob`\n> export; the module blob is `{ manifest, schemas }` (no `templates`).\n\n## Public surface\n\n```ts\nimport init, {\n  parseDocument,\n  extract,\n  validate_archetype as validate,\n  extractFromBlob,\n  validateFromBlob,\n} from \"@agent-ix/quire-wasm\";\n\nawait init(); // load the .wasm\n\nconst doc = parseDocument(md);\n\n// Filesystem-rooted (Node target):\nconst records = extract(\"FR\", \"/path/to/module\", md);\nvalidate(\"FR\", \"/path/to/module\", { id: \"FR-001\", /* ... */ }); // throws on violation\n\n// In-memory module blob (browser / --target web):\nconst moduleBlob = {\n  manifest: \"<raw manifest.yaml text>\",\n  schemas: { \"schemas/fr-frontmatter.schema.json\": \"<schema json>\" },\n};\nconst recs = extractFromBlob(\"FR\", moduleBlob, md);\nvalidateFromBlob(\"FR\", moduleBlob, { id: \"FR-001\", /* ... */ });\n```\n\n### Two shapes\n\n- **Module-blob** (`extractFromBlob`, `validateFromBlob`): pass an\n  in-memory `{ manifest, schemas }` object — the filesystem-free path\n  used by `--target web`. Builds an inline `Registry` via\n  `quire_rs::Registry::from_inline_parts(manifest, schemas)`.\n- **Filesystem-rooted** (`extract`, `validate_archetype`): pass a\n  `moduleRoot` path string. Works under `wasm-pack --target nodejs`\n  (real fs) and any embedding that polyfills `fs` via WASI.\n\n`parseDocument` is filesystem-free and works everywhere.\n\n## Install\n\n```bash\nnpm install @agent-ix/quire-wasm\n```\n\n## Build\n\n```bash\nmake build       # wasm-pack build --target web --release  (browser)\nmake build-node  # wasm-pack build --target nodejs --release (Node)\nmake test        # wasm-pack test --node (extract/validate parity vs quire-rs)\nmake ci          # full local CI gate (fmt + lint + test + deny + audit)\n```\n\n`wasm-pack` is required: `cargo install wasm-pack`.\n\n## License\n\nMIT\n",
  "bytes": 2503,
  "sha": "4c1ac48879b8c6b88f8a2162017c52b54815812a59a46b3e5ffbea7771be23d9",
  "repo_slug": "agent-ix/quire-wasm",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/okf_agent_ix_quire_wasm_spec_index_md_18e74325/readme"
}