diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 23 |
1 files changed, 15 insertions, 8 deletions
@@ -16,18 +16,26 @@ For a local checkout, use `paths = ["/path/to/panto-subagents"]` instead. A in panto's own rocks tree first: ```sh -panto lua -e 'require("luarocks.cmd").run("install", "toml2lua")' -panto lua -e 'require("luarocks.cmd").run("install", "lyaml")' +TREE="$(echo ~/.local/share/panto/rocks/lua-*)" +luarocks --lua-version 5.4 --tree "$TREE" install toml2lua +luarocks --lua-version 5.4 --tree "$TREE" install api7-lua-tinyyaml ``` +(Every rock here is pure Lua, so any LuaRocks targeting Lua 5.4 can populate +panto's tree. A `rocks` entry needs none of this — panto installs dependencies +with the rock.) + ### Dependencies Panto installs the rock's dependencies with it: -- **lyaml** parses profile frontmatter. It binds the system libyaml, which - LuaRocks does not vendor — install it first (`brew install libyaml`, or - `apt install libyaml-dev`), otherwise the rock fails to build and panto - quietly starts without the `subagents.*` tools. +- **api7-lua-tinyyaml** parses profile frontmatter. Pure Lua, nothing to + install alongside it. It covers a subset of YAML — every quoting, escaping + and block-scalar form profiles use, but not anchors/aliases (flagged with a + warning rather than silently misread) and not plain multi-line scalars + (a parse warning). Full-spec `lyaml` was the alternative, rejected because + binding the system libyaml makes the rock fail to build wherever that + library is absent. - **toml2lua** reads the layered `config.toml` at activation and TOML workflows afterwards. Pure Lua, nothing to install; without it activation fails. - **luv** backs profile and workflow discovery. Panto already ships it. @@ -151,8 +159,7 @@ mise run deps # install the rocks into ./.rocks (gitignored) mise run check # run the specs against that tree ``` -`mise run deps` passes Homebrew's libyaml prefix to lyaml when brew is -available. Without mise, install the same rocks with any LuaRocks targeting Lua +Without mise, install the same rocks with any LuaRocks targeting Lua 5.4 and run `lua spec/run.lua` from the repo root. `panto lua spec/run.lua` runs the suite inside panto's own interpreter and rocks tree, skipping whatever cases that tree has no rock for. |
