summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authort <t@tjp.lol>2026-08-03 10:44:48 -0600
committert <t@tjp.lol>2026-08-03 10:59:28 -0600
commite22b335db9bdc1e24e9ddb61a38720bd7b796a41 (patch)
tree80f5565cfedd987b574675fc9f3378dadc695004 /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.md44
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.