{"id":49642799,"url":"https://github.com/malnati/vaults-diagram-tools","last_synced_at":"2026-05-05T20:04:42.128Z","repository":{"id":355522852,"uuid":"1228387480","full_name":"Malnati/vaults-diagram-tools","owner":"Malnati","description":"Portable Mermaid and source-code diagram toolkit for SVG/JPEG rendering, offline assets, and MCP workflows.","archived":false,"fork":false,"pushed_at":"2026-05-04T03:57:35.000Z","size":369,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-04T04:13:29.952Z","etag":null,"topics":["diagrams","docker","github-actions","jpeg","mcp","mcp-server","mermaid","nodejs","offline-assets","podman","source-code-analysis","svg"],"latest_commit_sha":null,"homepage":"https://malnati.github.io/vaults-diagram-tools/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Malnati.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-04T00:45:46.000Z","updated_at":"2026-05-04T03:56:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Malnati/vaults-diagram-tools","commit_stats":null,"previous_names":["malnati/vaults-diagram-tools"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Malnati/vaults-diagram-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Malnati%2Fvaults-diagram-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Malnati%2Fvaults-diagram-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Malnati%2Fvaults-diagram-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Malnati%2Fvaults-diagram-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Malnati","download_url":"https://codeload.github.com/Malnati/vaults-diagram-tools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Malnati%2Fvaults-diagram-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32665684,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["diagrams","docker","github-actions","jpeg","mcp","mcp-server","mermaid","nodejs","offline-assets","podman","source-code-analysis","svg"],"created_at":"2026-05-05T20:04:39.530Z","updated_at":"2026-05-05T20:04:42.117Z","avatar_url":"https://github.com/Malnati.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vaults-diagram-tools\n\n![vaults-diagram-tools repository banner](docs/assets/brand/repository-banner.png)\n\n[![CI](https://github.com/malnati/vaults-diagram-tools/actions/workflows/ci.yml/badge.svg)](https://github.com/malnati/vaults-diagram-tools/actions/workflows/ci.yml)\n[![Release](https://github.com/malnati/vaults-diagram-tools/actions/workflows/release.yml/badge.svg)](https://github.com/malnati/vaults-diagram-tools/actions/workflows/release.yml)\n[![License: MIT](https://img.shields.io/github/license/malnati/vaults-diagram-tools?color=67e8f9)](LICENSE)\n[![Node.js \u003e=20.11](https://img.shields.io/badge/node-%3E%3D20.11-67e8f9)](package.json)\n[![Docs](https://img.shields.io/badge/docs-GitHub%20Pages-a78bfa)](https://malnati.github.io/vaults-diagram-tools/)\n[![Container](https://img.shields.io/badge/container-ghcr.io%2Fmalnati%2Fvaults--diagram--tools-67e8f9)](https://github.com/malnati/vaults-diagram-tools/pkgs/container/vaults-diagram-tools)\n[![Quay.io](https://img.shields.io/badge/podman-quay.io%2Fricardomalnati%2Fvaults--diagram--tools-a78bfa)](https://quay.io/repository/ricardomalnati/vaults-diagram-tools)\n\nMermaid to assets. Source code to maps. MCP for agents.\n\n`vaults-diagram-tools` is a standalone toolkit for teams that need reproducible Mermaid SVG/JPEG assets, source-code diagrams, and agent-friendly diagram workflows without carrying Vault-specific content.\n\n- [GitHub Pages documentation](https://malnati.github.io/vaults-diagram-tools/)\n- [npm package `vaults-diagram-tools@0.1.4`](https://www.npmjs.com/package/vaults-diagram-tools/v/0.1.4)\n- [GitHub Actions Marketplace Action `Vaults Diagram Tools`](https://github.com/marketplace/actions/vaults-diagram-tools) ([repo](https://github.com/Malnati/vaults-diagram-tools-action))\n- [MCP Registry `io.github.Malnati/vaults-diagram-tools`](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.Malnati%2Fvaults-diagram-tools)\n- [Smithery server](https://smithery.ai/servers/ricardomalnati/vaults-diagram-tools)\n- [GitHub release v0.1.4](https://github.com/malnati/vaults-diagram-tools/releases/tag/v0.1.4)\n- [Quay.io Podman image `quay.io/ricardomalnati/vaults-diagram-tools:v0.1.0`](https://quay.io/repository/ricardomalnati/vaults-diagram-tools)\n- [GitHub App](https://github.com/apps/vaults-diagram-tools)\n- [Brand assets](docs/assets/brand/brand-manifest.json)\n- [Homebrewery package page](https://homebrewery.naturalcrit.com/share/J1w1-EjqPAr9)\n\n## What is included\n\n- Mermaid renderer extracted from the Vaults toolchain.\n- Source-code to Mermaid diagram generator.\n- MCP stdio server with three explicit tools, published in MCP Registry as `io.github.Malnati/vaults-diagram-tools`.\n- Offline-capable release assets for zip and container distribution.\n- Dedicated GitHub Actions Marketplace wrapper repository for render/source/policy automation.\n- Packaging templates for Homebrew, deb/rpm, CDN, Docker, and Podman, plus a publishable VS Code extension package.\n\nContent-management workflows outside diagram generation are not part of this package.\n\n## Quick start\n\nInstall in a project:\n\n```bash\nnpm install -D vaults-diagram-tools\n```\n\nRender one Mermaid source to durable assets:\n\n```bash\nnpx vaults-mermaid-render path/to/diagram.mmd --output-dir out --manifest out/manifest.json\n```\n\nGenerate Mermaid diagrams from source code:\n\n```bash\nnpx vaults-source-diagrams --source-dir src --output-dir diagrams\n```\n\nRun the MCP stdio server:\n\n```bash\nnpx vaults-diagram-mcp\n```\n\nUse one-shot `npx` when the project should not keep a dependency:\n\n```bash\nnpx --yes --package vaults-diagram-tools vaults-mermaid-render path/to/diagram.mmd --output-dir out\nnpx --yes --package vaults-diagram-tools vaults-source-diagrams --source-dir src --output-dir diagrams\nnpx --yes --package vaults-diagram-tools vaults-diagram-mcp\n```\n\n## Core tools\n\n| Command | Purpose |\n| --- | --- |\n| `vaults-mermaid-render` | Render `.mmd` or `.mermaid` files to SVG/JPEG, manifests, and optional PNG/text sidecars. |\n| `vaults-source-diagrams` | Generate Mermaid diagrams from source-code structure, including focused selections and traceability metadata. |\n| `vaults-diagram-mcp` | Expose `render_mermaid_text`, `render_mermaid_file`, and `generate_source_diagrams` through MCP stdio. |\n\nAdditional package binaries are compatibility entrypoints for older Vaults paths, optional text renderers, and Podman workflows.\n\n## Workflows\n\n- **Markdown docs:** keep the Mermaid source as a linked `.mmd`, render `.svg` and `.jpg`, and show source inline with a fenced `mermaid` block.\n- **Source graph reviews:** generate diagrams from real source paths and inspect manifest selection data for requested files, omitted connectors, and rendered outputs.\n- **Agent automation:** use the MCP server when clients need diagram rendering through a narrow, explicit tool surface. Current registry entry is active at version `0.1.4`, and the Smithery server page is already published.\n- **Release packaging:** ship npm, zip, container, and offline vendor artifacts while preserving license and notice files.\n\n## Download and distribution\n\n### npm registry\n\nUse the published npm package when you want the normal Node.js toolchain installation. Current npm latest is [`vaults-diagram-tools@0.1.4`](https://www.npmjs.com/package/vaults-diagram-tools/v/0.1.4):\n\n```bash\nnpm install -D vaults-diagram-tools\nnpx vaults-mermaid-render path/to/diagram.mmd --output-dir out --manifest out/manifest.json\nnpx vaults-source-diagrams --source-dir src --output-dir diagrams\nnpx vaults-diagram-mcp\n```\n\n### One-shot with `npx`\n\nUse `--package` when the project should not keep the dependency:\n\n```bash\nnpx --yes --package vaults-diagram-tools vaults-mermaid-render path/to/diagram.mmd --output-dir out\nnpx --yes --package vaults-diagram-tools vaults-source-diagrams --source-dir src --output-dir diagrams\nnpx --yes --package vaults-diagram-tools vaults-diagram-mcp\n```\n\n### GitHub Actions Marketplace\n\nUse the dedicated Marketplace action when the diagram workflow should run inside GitHub Actions without adding project-local scripts:\n\n```yaml\nsteps:\n  - uses: actions/checkout@v4\n  - name: Render Mermaid assets\n    id: diagrams\n    uses: Malnati/vaults-diagram-tools-action@v0\n    with:\n      mode: render\n      input: docs/diagrams\n      output-dir: diagram-assets\n  - name: Upload diagram assets\n    uses: actions/upload-artifact@v4\n    with:\n      name: diagram-assets\n      path: ${{ steps.diagrams.outputs.output-dir }}\n```\n\n- [GitHub Actions Marketplace listing](https://github.com/marketplace/actions/vaults-diagram-tools)\n- [Action repository](https://github.com/Malnati/vaults-diagram-tools-action)\n- Initial action release: `v0.1.4`; moving compatibility tag: `v0`.\n\n### npm package from GitHub\n\nUse the GitHub package source when testing a commit before a registry release:\n\n```bash\nnpm install github:malnati/vaults-diagram-tools\nnpx vaults-mermaid-render path/to/diagram.mmd --output-dir out\n```\n\n### GitHub release assets\n\nThe latest GitHub Release, GHCR image, npm package, MCP Registry metadata, and VS Code VSIX are published at `v0.1.4`; the Quay.io Podman image remains at `v0.1.0`:\n\n- [vaults-diagram-tools-0.1.4.tgz](https://github.com/Malnati/vaults-diagram-tools/releases/download/v0.1.4/vaults-diagram-tools-0.1.4.tgz)\n- [vaults-diagram-tools-0.1.4.zip](https://github.com/Malnati/vaults-diagram-tools/releases/download/v0.1.4/vaults-diagram-tools-0.1.4.zip)\n- [vaults-diagram-tools-vscode-0.1.4.vsix](https://github.com/Malnati/vaults-diagram-tools/releases/download/v0.1.4/vaults-diagram-tools-vscode-0.1.4.vsix)\n- `ghcr.io/malnati/vaults-diagram-tools:v0.1.4`\n- `quay.io/ricardomalnati/vaults-diagram-tools:v0.1.0`\n\n### Local checkout\n\nUse the checkout for development, validation, or release preparation:\n\n```bash\ngit clone https://github.com/malnati/vaults-diagram-tools.git\ncd vaults-diagram-tools\nnpm ci\nnpm test\nnode packages/renderer/render-mermaid-assets.mjs examples/simple/flowchart.mmd --output-dir tmp/rendered\nnode packages/source-diagrams/source-diagrams.mjs --source-dir packages/mcp --output-dir tmp/source-diagrams\nnode packages/mcp/server.mjs\n```\n\n### Container, Docker, and Podman\n\nBuild locally:\n\n```bash\ndocker build -f containers/Containerfile -t vaults-diagram-tools:local .\npodman build -f containers/Containerfile -t vaults-diagram-tools:local .\n```\n\nRun a render from the GHCR image:\n\n```bash\ndocker run --rm \\\n  -v \"$PWD/examples/simple:/work/input:ro\" \\\n  -v \"$PWD/tmp/container-output:/work/output:rw\" \\\n  ghcr.io/malnati/vaults-diagram-tools:v0.1.4 \\\n  --output-dir /work/output /work/input/flowchart.mmd\n```\n\nRun the published Podman image from Quay.io:\n\n```bash\npodman run --rm \\\n  -v \"$PWD/examples/simple:/work/input:ro\" \\\n  -v \"$PWD/tmp/container-output:/work/output:rw\" \\\n  quay.io/ricardomalnati/vaults-diagram-tools:v0.1.0 \\\n  --output-dir /work/output /work/input/flowchart.mmd\n```\n\nQuay.io also exposes `0.1.0` and `latest` tags for the same published package line.\n\nPodman helper scripts are available through `vaults-mermaid-podman-build`, `vaults-mermaid-podman-render`, and `vaults-mermaid-podman-test`.\n\n### CDN facade\n\nThe package is CLI-first. CDN endpoints expose browser-safe metadata/helpers only; SVG/JPEG rendering still runs through Node.js, MCP, or the container runtime.\n\n```text\nhttps://cdn.jsdelivr.net/npm/vaults-diagram-tools/packaging/cdn/vaults-diagram-tools.mjs\nhttps://unpkg.com/vaults-diagram-tools/packaging/cdn/vaults-diagram-tools.mjs\n```\n\n### VS Code extension\n\nThe desktop VS Code extension is published as `malnati.vaults-diagram-tools` and can also be installed directly from the GitHub Release VSIX. It uses a hybrid runtime: a bundled offline fallback plus a managed cache that can follow `vaults-diagram-tools@latest` without republishing the extension. It contributes:\n\n- Command Palette actions for Mermaid SVG/JPEG rendering, source-diagram generation, and Markdown diagram-policy validation.\n- Runtime commands: update managed runtime now, show runtime status, and force the bundled runtime.\n- A native VS Code MCP server definition provider for the resolved `vaults-diagram-tools` stdio server.\n- Marketplace/Open VSX publish scripts for manual publication from an authenticated local shell. Keep npm, VS Code Marketplace, and Open VSX credentials in the local terminal; GitHub Actions does not use those secrets.\n\nInstall options after `v0.1.4` is released:\n\n- [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=malnati.vaults-diagram-tools)\n- [Open VSX](https://open-vsx.org/extension/malnati/vaults-diagram-tools)\n- [Direct VSIX download](https://github.com/Malnati/vaults-diagram-tools/releases/download/v0.1.4/vaults-diagram-tools-vscode-0.1.4.vsix)\n\nLocal package validation:\n\n```bash\nnpm run vscode:install\nnpm run vscode:test\nnpm run vscode:package\ncode --install-extension dist/vaults-diagram-tools-vscode-0.1.4.vsix\n```\n\nManual external publication:\n\n```bash\nnpm publish --access public\nnpm run vscode:publish:marketplace -- -p \u003ctoken-local\u003e\nnpm run vscode:publish:openvsx -- -p \u003ctoken-local\u003e\n```\n\n## Command line usage\n\nAfter installing from npm, run public CLIs directly from `node_modules/.bin`, `npm exec`, or `npx`:\n\n```bash\nvaults-mermaid-render path/to/diagram.mmd --output-dir out --png --ascii --manifest out/manifest.json\nvaults-source-diagrams --source-dir src --output-dir diagrams --langs auto --diagrams dependency,class\nvaults-diagram-mcp\n```\n\nOne-shot examples:\n\n```bash\nnpx --yes --package vaults-diagram-tools vaults-mermaid-render examples/simple/flowchart.mmd --output-dir tmp/vaults-diagram-tools\nnpx --yes --package vaults-diagram-tools vaults-source-diagrams --source-dir packages/mcp --output-dir tmp/source-diagrams --render-mode placeholder\nnpx --yes --package vaults-diagram-tools vaults-diagram-mcp\n```\n\nLocal checkout equivalents:\n\n```bash\nnode packages/renderer/render-mermaid-assets.mjs examples/simple/flowchart.mmd --output-dir tmp/vaults-diagram-tools\nnode packages/source-diagrams/source-diagrams.mjs --source-dir packages/mcp --output-dir tmp/source-diagrams\nnode packages/mcp/server.mjs\n```\n\n## MCP tools\n\n`vaults-diagram-mcp` exposes exactly three tools:\n\n- `render_mermaid_text`\n- `render_mermaid_file`\n- `generate_source_diagrams`\n\nExample client command:\n\n```bash\nvaults-diagram-mcp\n```\n\nThe MCP adapter passes theme and rendering options through to the same renderer used by the CLI, so a client can request `theme: \"dracula\"` and receive `.svg` + `.jpg` artifacts.\n\n## Dracula diagram examples\n\nThe diagrams below were generated by this repository with `vaults-mermaid-render --theme dracula`; Markdown links the generated assets instead of embedding SVG/JPEG.\n\n#### Install and usage flow\n- Links: [Mermaid source](docs/assets/diagrams/install-usage-flow.mmd) / [SVG](docs/assets/diagrams/install-usage-flow.svg) / [JPEG](docs/assets/diagrams/install-usage-flow.jpg)\n\n```mermaid\nflowchart LR\n  Install[\"Install\"] --\u003e Npm[\"npm registry\"]\n  Install --\u003e Npx[\"npx one-shot\"]\n  Install --\u003e GitHub[\"GitHub npm\"]\n  Install --\u003e Local[\"Local checkout\"]\n  Install --\u003e Container[\"Docker Podman GHCR Quay.io\"]\n\n  Npm --\u003e Cli[\"Public CLIs\"]\n  Npx --\u003e Cli\n  GitHub --\u003e Cli\n  Local --\u003e Cli\n  Container --\u003e Cli\n\n  Cli --\u003e Render[\"vaults-mermaid-render\"]\n  Cli --\u003e Source[\"vaults-source-diagrams\"]\n  Cli --\u003e Mcp[\"vaults-diagram-mcp\"]\n\n  Render --\u003e Svg[\"SVG Dracula\"]\n  Render --\u003e Jpg[\"JPEG Dracula\"]\n  Source --\u003e Mermaid[\"Mermaid source\"]\n  Source --\u003e Svg\n  Mcp --\u003e Tools[\"3 explicit MCP tools\"]\n```\n\n#### Tooling architecture\n- Links: [Mermaid source](docs/assets/diagrams/tooling-architecture.mmd) / [SVG](docs/assets/diagrams/tooling-architecture.svg) / [JPEG](docs/assets/diagrams/tooling-architecture.jpg)\n\n```mermaid\nflowchart TB\n  User[\"User or agent\"] --\u003e Markdown[\"Markdown docs\"]\n  User --\u003e Cli[\"CLI workflow\"]\n  User --\u003e McpClient[\"MCP client\"]\n\n  Cli --\u003e Renderer[\"vaults-mermaid-render\"]\n  Cli --\u003e SourceDiagrams[\"vaults-source-diagrams\"]\n  McpClient --\u003e McpServer[\"vaults-diagram-mcp\"]\n  McpServer --\u003e Renderer\n  McpServer --\u003e SourceDiagrams\n\n  SourceDiagrams --\u003e SourceTree[\"Source tree\"]\n  SourceDiagrams --\u003e GeneratedMmd[\"Generated .mmd\"]\n  GeneratedMmd --\u003e Renderer\n\n  Renderer --\u003e Svg[\".svg\"]\n  Renderer --\u003e Jpeg[\".jpg\"]\n  Renderer --\u003e Manifest[\"manifest.json\"]\n\n  Svg --\u003e Markdown\n  Jpeg --\u003e Markdown\n  GeneratedMmd --\u003e Markdown\n```\n\n#### MCP package source graph\n- Links: [Generated index](docs/assets/diagrams/mcp-source/INDEX.md) / [Mermaid source](docs/assets/diagrams/mcp-source/javascript/dependency.mmd) / [SVG](docs/assets/diagrams/mcp-source/javascript/dependency.svg) / [JPEG](docs/assets/diagrams/mcp-source/javascript/dependency.jpg)\n\n```mermaid\nflowchart LR\n  N1[\"server.mjs\"]\n  N2[\"tests/mcp-tools.test.mjs\"]\n  N3[\"tools.mjs\"]\n  N1 --\u003e N3\n  N2 --\u003e N3\n```\n\n## Brand assets\n\nThe repository, GitHub Pages landing, Actions summaries, release notes, GitHub App badge, and social preview use one deterministic brand kit generated from the current landing visual language.\n\n- [Brand manifest](docs/assets/brand/brand-manifest.json)\n- [Logo SVG](docs/assets/brand/logo.svg) / [Logo PNG](docs/assets/brand/logo.png)\n- [Repository banner](docs/assets/brand/repository-banner.png)\n- [Social preview PNG](docs/assets/brand/social-preview.png) / [Social preview JPEG](docs/assets/brand/social-preview.jpg)\n- [GitHub App badge](docs/assets/brand/github-app-badge.png)\n- [Actions banner](docs/assets/brand/actions-banner.png)\n- [Release banner](docs/assets/brand/release-banner.png)\n\nRegenerate and verify the kit with:\n\n```bash\nnpm run brand:generate\nnpm run brand:check\n```\n\n## Compliance and artifact policy\n\n### Markdown diagram policy\n\nGenerated Markdown should link artifacts and show source in a `mermaid` fenced block:\n\n````markdown\n#### Diagram title\n- Links: [Mermaid source](docs/assets/diagrams/install-usage-flow.mmd) / [SVG](docs/assets/diagrams/install-usage-flow.svg) / [JPEG](docs/assets/diagrams/install-usage-flow.jpg)\n\n```mermaid\nflowchart TD\n  A[\"Source\"] --\u003e B[\"Rendered assets\"]\n```\n````\n\nSVG and JPEG files are delivery artifacts. Markdown should link them instead of embedding them as images by default.\n\n### Credits and license compliance\n\n- Project license: [MIT](LICENSE).\n- Project notices: [NOTICE.md](NOTICE.md).\n- Third-party credits and license index: [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).\n- License verification: `npm run license:check`; refresh generated notices with `npm run license:generate`.\n- Dracula-colored documentation diagrams credit the MIT-licensed Dracula Theme palette through `beautiful-mermaid`.\n- Icon data credits include Font Awesome 4, SVG Logos by Gil Barbara, and Lucide Icons via Iconify JSON packages.\n- Release artifacts must preserve `LICENSE`, `NOTICE.md`, `THIRD_PARTY_NOTICES.md`, and upstream license files bundled by packaged dependencies or the offline vendor runtime.\n\n## Offline vendor runtime\n\nThe source tree does not commit `node_modules`. Build and release jobs create offline vendor assets with:\n\n```bash\nnpm run vendor:refresh\nnpm run test:vendor:offline\n```\n\nThe renderer can run from normal npm dependencies during development, or from `packages/renderer/vendor/node` when `MMDC_VENDOR_ONLY=1`.\n\nThe default renderer is the Node/JS/WASM vendor path and does not require Chromium, Puppeteer, `mmdc`, ImageMagick, or `npx`. The legacy shell wrapper only uses `mmdc` when explicitly requested with `MMDC_RENDER_ENGINE=mmdc`; automatic fallback to Puppeteer is disabled.\n\n## GitHub App\n\nThe public [`vaults-diagram-tools`](https://github.com/apps/vaults-diagram-tools) GitHub App is the installable read-only app surface for this package.\n\n- Install URL: \u003chttps://github.com/apps/vaults-diagram-tools/installations/new\u003e\n- Purpose: read-only installs for validating tags, release assets, and package metadata around this repository.\n- Permissions: repository contents read-only, plus GitHub metadata access.\n- Webhooks: disabled; this release does not run a webhook backend.\n- GitHub Actions Marketplace: [`Vaults Diagram Tools`](https://github.com/marketplace/actions/vaults-diagram-tools) is the Marketplace target for the dedicated [`Malnati/vaults-diagram-tools-action`](https://github.com/Malnati/vaults-diagram-tools-action) wrapper repository.\n- Secrets: no private key, client secret, or webhook secret is stored in this repository.\n\n## Distribution status\n\nWorking in v1:\n\n- npm package publication and GitHub install flow\n- Docker/Podman images through GHCR and Quay.io\n- MCP server\n- MCP Registry entry `io.github.Malnati/vaults-diagram-tools` active at version `0.1.4`\n- Smithery server page for `ricardomalnati/vaults-diagram-tools`\n- zip release\n- GitHub Actions CI, release, CodeQL, and Pages workflows\n- GitHub Actions Marketplace Action `Vaults Diagram Tools` for render/source/policy automation\n- Public read-only GitHub App install surface\n- Homebrewery package page with searchable tags\n- Publishable VS Code extension package with VS Code Marketplace and Open VSX workflow targets\n\nTemplates in v1:\n\n- Homebrew formula\n- deb/rpm through nfpm\n- CDN facade through npm/jsDelivr/unpkg\n\n## Current release\n\n`vaults-diagram-tools` is published as npm `0.1.4` and MCP Registry server `io.github.Malnati/vaults-diagram-tools` version `0.1.4`. The latest GitHub Release, GHCR image, and VS Code VSIX are `v0.1.4`; Quay.io carries the Podman image line at `v0.1.0`.\n\n| Channel | Status |\n| --- | --- |\n| GitHub Release | [`v0.1.4`](https://github.com/Malnati/vaults-diagram-tools/releases/tag/v0.1.4) |\n| Release assets | [`vaults-diagram-tools-0.1.4.tgz`](https://github.com/Malnati/vaults-diagram-tools/releases/download/v0.1.4/vaults-diagram-tools-0.1.4.tgz), [`vaults-diagram-tools-0.1.4.zip`](https://github.com/Malnati/vaults-diagram-tools/releases/download/v0.1.4/vaults-diagram-tools-0.1.4.zip), and [`vaults-diagram-tools-vscode-0.1.4.vsix`](https://github.com/Malnati/vaults-diagram-tools/releases/download/v0.1.4/vaults-diagram-tools-vscode-0.1.4.vsix) |\n| npm | [`vaults-diagram-tools@0.1.4`](https://www.npmjs.com/package/vaults-diagram-tools/v/0.1.4), dist-tag `latest` |\n| GitHub Actions Marketplace | [`Vaults Diagram Tools`](https://github.com/marketplace/actions/vaults-diagram-tools) target, backed by [`Malnati/vaults-diagram-tools-action`](https://github.com/Malnati/vaults-diagram-tools-action) tags `v0.1.4` and `v0` |\n| MCP Registry | [`io.github.Malnati/vaults-diagram-tools`](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.Malnati%2Fvaults-diagram-tools), status `active`, version `0.1.4` |\n| Smithery | [`ricardomalnati/vaults-diagram-tools`](https://smithery.ai/servers/ricardomalnati/vaults-diagram-tools) is published |\n| Registry PR | [PR #17](https://github.com/Malnati/vaults-diagram-tools/pull/17) aligned the MCP Registry publisher name and was merged. |\n| GHCR container | [`ghcr.io/malnati/vaults-diagram-tools:v0.1.4`](https://github.com/malnati/vaults-diagram-tools/pkgs/container/vaults-diagram-tools); future container publication is manual outside GitHub Actions. |\n| Quay.io Podman image | [`quay.io/ricardomalnati/vaults-diagram-tools:v0.1.0`](https://quay.io/repository/ricardomalnati/vaults-diagram-tools) |\n| Automation | [CI](https://github.com/Malnati/vaults-diagram-tools/actions/workflows/ci.yml), [CodeQL](https://github.com/Malnati/vaults-diagram-tools/actions/workflows/codeql.yml), [Pages](https://github.com/Malnati/vaults-diagram-tools/actions/workflows/pages.yml), and [Release](https://github.com/Malnati/vaults-diagram-tools/actions/workflows/release.yml) workflows run through GitHub Actions; release validates and packages artifacts only. npm, VS Code Marketplace, Open VSX, container registries, and MCP Registry are published manually from a local terminal. |\n| GitHub App | [`vaults-diagram-tools`](https://github.com/apps/vaults-diagram-tools) public read-only app; [install](https://github.com/apps/vaults-diagram-tools/installations/new). |\n| VS Code extension | VSIX is attached to the GitHub Release. Marketplace target [`malnati.vaults-diagram-tools`](https://marketplace.visualstudio.com/items?itemName=malnati.vaults-diagram-tools) and Open VSX target [`malnati/vaults-diagram-tools`](https://open-vsx.org/extension/malnati/vaults-diagram-tools) are published manually outside GitHub Actions. |\n| Documentation | [GitHub Pages](https://malnati.github.io/vaults-diagram-tools/) publishes the `docs/` site. |\n\n## Documentation\n\n- [GitHub Pages documentation](https://malnati.github.io/vaults-diagram-tools/)\n- [Markdown source for the landing page](docs/index.md)\n- [Vaults compatibility notes](docs/vaults-compatibility.md)\n- [Homebrewery package page](https://homebrewery.naturalcrit.com/share/J1w1-EjqPAr9)\n- [npm package `vaults-diagram-tools@0.1.4`](https://www.npmjs.com/package/vaults-diagram-tools/v/0.1.4)\n- [GitHub Actions Marketplace Action `Vaults Diagram Tools`](https://github.com/marketplace/actions/vaults-diagram-tools) ([repo](https://github.com/Malnati/vaults-diagram-tools-action))\n- [MCP Registry entry](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.Malnati%2Fvaults-diagram-tools)\n- [Smithery server](https://smithery.ai/servers/ricardomalnati/vaults-diagram-tools)\n- [GitHub release v0.1.4](https://github.com/malnati/vaults-diagram-tools/releases/tag/v0.1.4)\n- [Quay.io Podman image](https://quay.io/repository/ricardomalnati/vaults-diagram-tools)\n- [GitHub App](https://github.com/apps/vaults-diagram-tools)\n- [Contributing guide](CONTRIBUTING.md)\n- [Security policy](SECURITY.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalnati%2Fvaults-diagram-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmalnati%2Fvaults-diagram-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalnati%2Fvaults-diagram-tools/lists"}