Price terms as published

Each line is the vendor’s own wording, split from the price capture checked on 2026-09-29. Nothing here is rounded, converted or re-worded — the full sentences stay in the review below. Lines that carry only a price continue the plan named on the line above, in the vendor’s own order.

1 price terms for Knap
#Plan / termChecked
1Free (open source, MIT)2026-09-29

One-liner: Knap is a template language that turns JSON/CSV data into Markdown using variables, filters, and logic — with no eval and no arbitrary JavaScript execution.

Verified facts (checked 2026-09-29)

Attribute Value Source
GitHub stars 613 obsidianmd/knap via GitHub API
License MIT GitHub API
Created 2026-08-21 GitHub API
Last push 2026-09-15 GitHub API
Maintainer obsidianmd — the official Obsidian organization GitHub repo
Runtime Node.js 20 or later (CLI); TypeScript library README
Install npm install knap README
Docs knap.md (with online playground) README

Where it comes from

Knap is not a random side project. Per the repository README, it is the template language already powering two shipped Obsidian products — Obsidian Web Clipper and the Obsidian Importer plugin. The standalone package extracts that internal template system into a public CLI and library.

That matters because the engine is already exercised against real-world import and clipping workloads, rather than being a freshly published DSL looking for users.

How it works

Knap parses templates into an AST and interprets them. From the README: it renders “without eval or arbitrary JavaScript execution. Applications control the data and integrations available to templates.”

CLI example from the README:

npx knap render template.md --data data.json --output note.md

The CLI also supports inline templates, validation, batch rendering, CSV input, and offline language help. The library exposes createEngine and standardFilters, and supports custom filters, asynchronous variables, HTML filters, and execution limits.

Why it fits AI agent workflows

  1. Structured data → Markdown is a recurring agent task. Search results, scraped records, and API responses commonly arrive as JSON and need to become notes, briefs, or knowledge-base entries.
  2. No arbitrary code execution. Compared with handing templates to a full JavaScript runtime, a sandboxed AST interpreter reduces the blast radius when the data or template is untrusted.
  3. Syntax highlighting exists for .knap and .knap.md in VS Code/Cursor (VSIX from releases) and Sublime Text 4.

The caveats

  • New and small. 613 stars and created in late August 2026 — the ecosystem, tutorials, and third-party examples are thin, and the API may still move.
  • Narrow scope by design. It renders data into Markdown; it is not a general automation framework or a web scraper.
  • Node 20+ required for the CLI, which may matter on older managed environments.

Who should use it

Obsidian users who want the same templating behavior outside the apps, and developers building pipelines that need a constrained data-to-Markdown renderer. Teams that specifically need untrusted-template safety should evaluate its execution-limit and filter controls rather than assuming the no-eval design alone covers every threat model.

Repository stats and feature claims verified against primary sources on 2026-09-29. This is a draft pending human editorial review.