summaryrefslogtreecommitdiff
path: root/README.md
blob: ef4a1dbcc8f8dd79eeeddbc76bf7178c38fb8c48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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.