Repository navigation
v1.0.22
New release 🎉
Hello everyone! We are releasing a new version of plain-forge - 1.0.22!
Run npx plain-forge update in your terminal to upgrade!
New features & improvements
-
plain-forge no longer depends on one particular renderer. Skills, rules and docs now say "the renderer" instead of codeplain. The codeplain-only
run-codeplainandload-codeplain-referenceskills have been removed. The installer no longer tells you to install the codeplain CLI. -
pyro is the default renderer, and its
render-specskill ships in the package. At the end offorge-plainandadd-feature, the agent asks whether to render with pyro. If the skill isn't available, it points you to pyro's install docs. This release bundles pyro v0.4.0. -
plain-forge installnow installs plain-parser. It usesuv tool installand installs uv first if it's missing (astral'sinstall.shon Linux/macOS,install.ps1on Windows). If this step fails, it prints the commands to run by hand, and the install itself still succeeds. Pass--skip-plain-parserto skip it. -
plain-healthcheckvalidates specs withplain-parser check. It runs on every top module together with itsimport/requireschain, replacingcodeplain --dry-run. It then checks what the parser can't judge: section ownership, bullets, and the contents of linked resources. If plain-parser is missing, the healthcheck fails.forge-plainPhase 4 andadd-featureboth gate on this check before handing off to the renderer. -
check-plain-envalways checks for plain-parser and Python ≥ 3.11. It no longer looks for the codeplain CLI orCODEPLAIN_API_KEY. -
init-config-fileis renderer-neutral.config.yamlstill configures test scripts, templates and output folders, but no longer contains codeplain CLI keys, logging settings orCODEPLAIN_API_KEY.
Fixes
- Linked-resource paths are resolved the way the renderer actually resolves them. Paths are relative to the directory of the
.plainfile passed to the renderer, not the current working directory. This also applies to links inside imported and required modules. Paths that don't resolve there are looked up intemplate-dir, then in the renderer's built-in template library. So a render gives the same result from any working directory. (#25)
Internal improvements
- pyro is vendored as a git submodule at
vendor/pyro, pinned to v0.4.0.scripts/bundle-pyro.shcopiesrender-specinto the package on release, onnextprereleases and indeploy.sh, checks that it's there and reports the pyro version. - The bundled-skill check now handles npm 12's new
npm pack --jsonoutput format. - A new CI job runs the real install on Linux, macOS and Windows and checks that plain-parser can validate a spec.
- Removed the
presentations/deck and the codeplain npm keyword.