austere-axi 0.7.0 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -13
- package/dist/austere.js +106 -88
- package/dist/catalog.json +1 -1
- package/dist/chrome/chrome.css +1 -1
- package/dist/chrome/chrome.js +3 -3
- package/dist/cli.mjs +413 -210
- package/dist/packs/mermaid/catalog.json +4 -4
- package/dist/packs/mermaid/pack.js +20 -4
- package/dist/packs/shadcn/catalog.json +2 -2
- package/dist/packs/shadcn/pack.js +1 -1
- package/dist/prompt.md +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,6 +18,8 @@ Review pages for coding agents.
|
|
|
18
18
|
|
|
19
19
|
<sub>The real loop, about 30 s: [MP4](docs/demo.mp4) · [WebM](docs/demo.webm).</sub>
|
|
20
20
|
|
|
21
|
+
**[Website](https://mandalorianbatman.github.io/austere-axi/)** · **[Playground](https://mandalorianbatman.github.io/austere-axi/play/)** (no install) · **[Gallery](https://mandalorianbatman.github.io/austere-axi/gallery/)** · **[Benchmark](docs/benchmark.md)** · **[Writing a pack](docs/writing-a-pack.md)**
|
|
22
|
+
|
|
21
23
|
```
|
|
22
24
|
root = Stack([intro, flow, options, decide], "column", "l")
|
|
23
25
|
intro = Card([CardHeader("Session storage migration", "Redis → Postgres"), introText])
|
|
@@ -39,6 +41,18 @@ A full page (KPIs, diagram, table, chart, diff, decision form) is about 1,000 to
|
|
|
39
41
|
|
|
40
42
|
**See it without installing:** the [gallery](https://mandalorianbatman.github.io/austere-axi/gallery/) shows example pages next to their source and token counts. The [playground](https://mandalorianbatman.github.io/austere-axi/play/) lets you edit OpenUI Lang and see the page live.
|
|
41
43
|
|
|
44
|
+
## Quick start
|
|
45
|
+
|
|
46
|
+
Needs Node.js 22.18 or later. Your agent runs:
|
|
47
|
+
|
|
48
|
+
```sh
|
|
49
|
+
npx -y austere-axi spec # component reference (read once per session)
|
|
50
|
+
npx -y austere-axi plan.html # validate and open the page for review
|
|
51
|
+
npx -y austere-axi poll plan.html # wait until the reviewer presses Send
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`--help` prints the file skeleton and the loop (about 900 tokens); `help all` adds the rarer commands and the environment. The agent does not look at the page itself: the reviewer judges how it looks, and render failures come back through `poll`. To have agents reach for it on their own, use the [skill, plugin or MCP server](#install).
|
|
55
|
+
|
|
42
56
|
## Why
|
|
43
57
|
|
|
44
58
|
Same loop as [lavish-axi](https://github.com/kunchenguid/lavish-axi). The difference: the agent never writes HTML, CSS or layout.
|
|
@@ -127,16 +141,6 @@ command = "npx"
|
|
|
127
141
|
args = ["-y", "austere-axi", "mcp"]
|
|
128
142
|
```
|
|
129
143
|
|
|
130
|
-
## Quick start
|
|
131
|
-
|
|
132
|
-
```sh
|
|
133
|
-
npx -y austere-axi spec # component reference (read once per session)
|
|
134
|
-
npx -y austere-axi plan.html # validate and open the page for review
|
|
135
|
-
npx -y austere-axi poll plan.html # wait until the reviewer presses Send
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
`--help` prints the file skeleton and the loop (about 900 tokens); `help all` adds the rarer commands and the environment. The agent does not look at the page itself: the reviewer judges how it looks, and render failures come back through `poll`.
|
|
139
|
-
|
|
140
144
|
## How it works
|
|
141
145
|
|
|
142
146
|
```
|
|
@@ -193,9 +197,10 @@ Output is compact YAML for agents. Each `poll` item has its statement and that s
|
|
|
193
197
|
- **End is soft:** ending a review (the agent's `end`, or **End review** in the page) means the agent stopped. The reviewer can still send notes. The next `poll` returns every unacknowledged note, including ones sent before the end or released from hold after it, and reopens the review. A batch the reviewer sent together with end stays final.
|
|
194
198
|
- **Close is hard:** only the owner's **close** (`close <file>`, or **Close review** in the page) locks the composer. `reopen <file>` or **Reopen review** unlocks it.
|
|
195
199
|
- A review the user ended or closed opens again only with `--reopen`.
|
|
200
|
+
- An `Image` src that is a path relative to the page (png, jpg, gif, webp, svg, avif) loads under review for the owner and for invited reviewers, and `export` inlines it as a data URI. Both read only regular files in the page's own folder, never dotfiles or links that leave it; `export` skips an image over 10 MB. A file `export` cannot read stays as written, and the output names it in `notices`.
|
|
196
201
|
- **Tabs closed:** `poll` returns `browser_disconnected` 10 s after the last review tab closes, or 5 min after a dropped connection (for example, a locked phone). The review stays open, so later notes reach the next `poll`.
|
|
197
202
|
- `feedback <file>` returns notes no agent has answered, from any day. Reading them acknowledges them; `reply` marks them answered.
|
|
198
|
-
- **Render failures reach the agent without a click:** bad Mermaid syntax, an unknown component or a component that throws. The owner's open review page sends them as a note from "Render check", once per page revision, and `poll` returns them as `render_error` items. With no review tab open, nothing renders, so nothing is sent. `check --render <file>` renders the page in headless Chrome (an installed Chrome, Chromium or Edge, or `CHROME_PATH`) at 1280 and 390 px and prints render errors
|
|
203
|
+
- **Render failures reach the agent without a click:** bad Mermaid syntax, an unknown component or a component that throws. The owner's open review page sends them as a note from "Render check", once per page revision, and `poll` returns them as `render_error` items. With no review tab open, nothing renders, so nothing is sent. `check --render <file>` renders the page in headless Chrome (an installed Chrome, Chromium or Edge, or `CHROME_PATH`) at 1280 and 390 px, opens each tab in turn, and prints render errors, the statements that make the page scroll sideways, and the Mermaid diagrams too wide for their box at 1280 px, as text, with no screenshot. Agents run it only when the user asks for a check.
|
|
199
204
|
|
|
200
205
|
## Components and packs
|
|
201
206
|
|
|
@@ -223,7 +228,7 @@ A page names its packs in the head, so it renders anywhere:
|
|
|
223
228
|
- Under review, the server serves an installed pack only while it matches its hash in `~/.austere-axi/packs.json`. Opened directly, the page loads packs from jsDelivr with Subresource Integrity. `export` inlines them.
|
|
224
229
|
- A pack component with no pack tag is a `missing-pack` error. `check --fix` repairs it.
|
|
225
230
|
- **Bundled packs** need no tag and load only when used:
|
|
226
|
-
- `Mermaid`.
|
|
231
|
+
- `Mermaid`. A wide diagram shrinks while its text stays at 10 px or more; past that it scrolls sideways in its box, with a faded edge and a "Scroll sideways" hint.
|
|
227
232
|
- `shadcn`: `Progress`, `Avatar`, `AvatarGroup`, `Tooltip`, `HoverCard`, `Breadcrumb` (`BreadcrumbItem`), `Kbd`, `Skeleton`, `Calendar` and `Timeline` (`TimelineItem`). Read-only.
|
|
228
233
|
```
|
|
229
234
|
rollout = Progress(64, "Rows migrated")
|
|
@@ -322,7 +327,7 @@ jobs:
|
|
|
322
327
|
runs-on: ubuntu-latest
|
|
323
328
|
steps:
|
|
324
329
|
- uses: actions/checkout@v7
|
|
325
|
-
- uses: MandalorianBatman/austere-axi/action@
|
|
330
|
+
- uses: MandalorianBatman/austere-axi/action@v0.7.0
|
|
326
331
|
with:
|
|
327
332
|
pages: reviews/*.html
|
|
328
333
|
```
|
|
@@ -409,6 +414,10 @@ node dist/cli.mjs examples/session-migration.html
|
|
|
409
414
|
|
|
410
415
|
Repo layout, website, playground, benchmark, CI and release: [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
411
416
|
|
|
417
|
+
## Contributing
|
|
418
|
+
|
|
419
|
+
Bug reports, examples, docs fixes and packs are welcome; [CONTRIBUTING.md](CONTRIBUTING.md) has setup and the rules. Issues labelled [`good first issue`](https://github.com/MandalorianBatman/austere-axi/labels/good%20first%20issue) are small and have a clear finish line. Security problems: [report privately](https://github.com/MandalorianBatman/austere-axi/security/advisories/new), not in an issue.
|
|
420
|
+
|
|
412
421
|
## License
|
|
413
422
|
|
|
414
423
|
MIT. Builds on [OpenUI](https://github.com/thesysdev/openui) (MIT). The review loop design comes from [lavish-axi](https://github.com/kunchenguid/lavish-axi) (MIT).
|