Files
mu/scripts/minijinja-lib.sh
Matheus HoffmannandClaude Opus 5.5 e40e46c2e4 Convert mu to the piabrota identity: dogma, repo index, Rust templates, archify
This repo was a copy of Ouroboric's umbrella. It becomes piabrota's company umbrella, ready for pirsig
to manage it.

- DOGMA.md holds ten invariants, and AGENTS.md follows it.
- PIABROTA.md indexes the org's public repos, rendered by minijinja-cli from scripts/piabrota/repos.toml.
- docs/DECISION_MODELS.md tracks decision models and where routines run.
- brain/ and pirsig.toml seed PARA, smart notes and the decision track record.
- The org, the bot name, the charter, the roadmap, the budget, the legal page and the palette change.
- Ouroboric's logos go. Its licences stay, with credit in NOTICE.md. Dated records keep their text.
- The Go component template becomes a Rust one, rendered by minijinja-cli.
- Every plot is drawn with archify, pinned in forks/archify. Mermaid, D2 and diagrams.sh go.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 04:38:43 -03:00

21 lines
901 B
Bash
Executable File

#!/usr/bin/env bash
# Sourced by the scripts that render templates. minijinja-cli, a Rust template tool, is the one engine here:
# no Go templates, no shell substitution. mj checks that the pinned version is on PATH, and renders strictly: an
# undefined variable is an error, autoescape is off, and templates can't include other files.
# mj TEMPLATE [DATA_FILE] [-D key=value]...
# Install: cargo install minijinja-cli --version 3.0.1 --locked
# Bump through a reviewed PR.
MINIJINJA_VERSION="3.0.1"
mj() {
local have
have="$(minijinja-cli --version 2>/dev/null)" || {
echo "minijinja-cli not found: cargo install minijinja-cli --version $MINIJINJA_VERSION --locked" >&2
return 2
}
[ "$have" = "minijinja-cli $MINIJINJA_VERSION" ] || {
echo "need minijinja-cli $MINIJINJA_VERSION, found: $have" >&2
return 2
}
minijinja-cli --strict --autoescape none --no-include "$@"
}