diff options
| author | t <t@tjp.lol> | 2026-08-03 10:44:48 -0600 |
|---|---|---|
| committer | t <t@tjp.lol> | 2026-08-03 10:59:28 -0600 |
| commit | e22b335db9bdc1e24e9ddb61a38720bd7b796a41 (patch) | |
| tree | 80f5565cfedd987b574675fc9f3378dadc695004 /README.md | |
Initial commit: web.{fetch,search} tools
external `curl` for fetching, `exa` public service for search
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..ef4a1db --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# panto-web + +The `web` extension for [pantograph](https://github.com/travisp/pantograph)'s +`panto` CLI: keyless web access packaged as a luarocks rock. + +## Tools + +- **`web.fetch`** — fetches a public HTTP(S) URL with `curl`, follows up to + five public redirects, and converts HTML to compact readable text. Blocked + and JavaScript-only pages get one keyless retry through Jina Reader. +- **`web.search`** — searches through Exa's public MCP endpoint without + configuration or an API key, returning compact titles, URLs, and excerpts + for `web.fetch` to read. + +## Install + +Via the rock (once published): + +```toml +[extensions] +rocks = ["panto-web"] +``` + +Or as a local checkout: + +```toml +[extensions] +paths = ["/path/to/panto-web"] +``` + +The extension can be disabled with the usual policy globs, e.g. +`deny = ["web"]`. + +## Development + +Run the self-check (needs `panto` for its embedded Lua + luv): + +```sh +panto lua _selfcheck.lua +``` + +The source lives under `panto-web/` so `require` works identically installed +and from a checkout; `_selfcheck.lua` is `_`-prefixed so panto's directory +scan skips it. |
