github iwe-org/iwe iwe-v0.17.0
v0.17.0

latest releases: iwec-v0.17.0, iwes-v0.17.0
6 hours ago

The new iwe create command gives you two ways to add a document: hand it the
complete markdown and it lands on disk byte for byte, or name a template and fill
it in with --var and --set. Either way you can validate against your document
schema before anything is written. The iwe_create MCP tool moves to the same
shape, so an agent writes the document it intended — and if_exists: "skip" makes
a repeated call safe.

iwe

Added

  • iwe create creates documents in two explicit modes: content mode (iwe create <key> --content, or piped input) writes the complete document you pass byte for byte, and template mode (--template NAME) composes it from a named template, with your frontmatter written above the rendered output. Both accept --strict to validate against the document schema before writing.
  • iwe create --var NAME=VALUE sets one template variable and uses the value verbatim as a string, so markdown like --var body='## Notes' arrives untouched; --vars-yaml and --vars-json take all the variables at once and keep their types, so templates can branch on booleans and loop over lists. --set FIELD=VALUE sets one frontmatter field written above the rendered document, repeat it for more. All of them require --template.

Fixed

  • iwe update -c no longer strands new frontmatter below the old block: content that carries its own frontmatter now replaces the existing one, and frontmatter closed with ... is preserved (previously discarded).

iwec

Changed

  • iwe_create now takes the complete document: content carries the frontmatter block and the title heading and is written verbatim, key is required, and if_exists: "skip" makes creation idempotent (was title plus a body, with the heading and the key generated for you).

Fixed

  • iwe_create no longer overwrites a file that exists on disk but has not reached the in-memory graph yet — the existence check now looks at the file as well, so if_exists decides in both cases.
Library crates (liwe, diwe)

liwe

Added

  • split_raw_frontmatter splits a leading YAML frontmatter block off markdown text, matching the parser's rules.
  • prepend_frontmatter prepends a frontmatter mapping to a rendered document, dropping reserved keys.

Don't miss a new iwe release

NewReleases is sending notifications on new releases.