proof-artifacts 0.1.0-preview.0
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 +94 -0
- package/bin/proof-artifacts.js +2049 -0
- package/docs/ARCHITECTURE.md +102 -0
- package/docs/SMOKE_TEST_2026-05-13.md +87 -0
- package/docs/VPS.md +156 -0
- package/package.json +26 -0
- package/runtime/Dockerfile +34 -0
- package/runtime/entrypoint.sh +35 -0
- package/skills/proof-artifacts/SKILL.md +145 -0
package/README.md
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# proof-artifacts
|
|
2
|
+
|
|
3
|
+
Proof artifacts for coding agents using isolated Linux desktops.
|
|
4
|
+
|
|
5
|
+
This project focuses on one first version: give each agent an isolated Linux desktop it can use to visually verify app changes and produce screenshots or videos as proof.
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
Agent-first use is the intended path: install the skill, then ask the agent to visually test your app on the VPS. The skill tells the agent to check whether `proof-artifacts` is installed, install it from npm after publish or from the source repo before publish, run `doctor`/`smoke`, and produce a report.
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
npm install -g . # from this repo until the npm package is published
|
|
13
|
+
proof-artifacts doctor
|
|
14
|
+
proof-artifacts detect
|
|
15
|
+
proof-artifacts install-skill
|
|
16
|
+
proof-artifacts smoke
|
|
17
|
+
proof-artifacts start --name demo --project . --url https://example.com --fullscreen
|
|
18
|
+
proof-artifacts open https://example.com --name demo
|
|
19
|
+
proof-artifacts screenshot --name demo --label example
|
|
20
|
+
proof-artifacts record start --name demo --label walkthrough
|
|
21
|
+
proof-artifacts record stop --name demo
|
|
22
|
+
proof-artifacts report --name demo
|
|
23
|
+
proof-artifacts status --name demo
|
|
24
|
+
proof-artifacts list
|
|
25
|
+
proof-artifacts stop --name demo
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
The noVNC desktop is bound to `127.0.0.1` with a Docker-assigned port by default. The CLI prints the exact URL and writes it to the session manifest.
|
|
29
|
+
If your app is running on the VPS host at `localhost`, pass the URL when starting and the CLI will infer host networking:
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
proof-artifacts start --name demo --project . --url http://127.0.0.1:3000 --fullscreen
|
|
33
|
+
proof-artifacts open http://127.0.0.1:3000 --name demo
|
|
34
|
+
proof-artifacts doctor --name demo --url http://127.0.0.1:3000
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
On VPSes where Docker bridge-to-host traffic is blocked, this avoids the `host.docker.internal` trap by using `--network host` automatically for localhost URLs.
|
|
38
|
+
|
|
39
|
+
## Agent Experience
|
|
40
|
+
|
|
41
|
+
Once the skill is installed, the user should be able to ask:
|
|
42
|
+
|
|
43
|
+
```txt
|
|
44
|
+
Use proof-artifacts to run my app, visually test it, record a short walkthrough, and give me the report.
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
The agent should then:
|
|
48
|
+
|
|
49
|
+
- Verify or install the CLI.
|
|
50
|
+
- Check Docker with `proof-artifacts doctor`.
|
|
51
|
+
- Run `proof-artifacts smoke` on new machines.
|
|
52
|
+
- Run the project dev server from the detected package scripts or project docs when testing a web app.
|
|
53
|
+
- Start an isolated desktop for the task.
|
|
54
|
+
- Capture screenshots and recordings.
|
|
55
|
+
- Return the generated `report.html` path and use the report summary/failure section to explain what worked or broke.
|
|
56
|
+
|
|
57
|
+
## Requirements
|
|
58
|
+
|
|
59
|
+
- Linux VPS or cloud VM
|
|
60
|
+
- Node.js 18+
|
|
61
|
+
- Docker Engine
|
|
62
|
+
|
|
63
|
+
## What v0 Provides
|
|
64
|
+
|
|
65
|
+
- Dockerized Linux desktop per session
|
|
66
|
+
- Xvfb virtual display
|
|
67
|
+
- Chromium browser
|
|
68
|
+
- Fullscreen browser mode for cleaner visual proof
|
|
69
|
+
- noVNC viewer
|
|
70
|
+
- PNG screenshots
|
|
71
|
+
- MP4 recordings
|
|
72
|
+
- `smoke` end-to-end VPS verification
|
|
73
|
+
- Versioned session manifests and HTML/JSON reports with summary cards, artifact counts, durations, and failure context
|
|
74
|
+
- `list` and `status` commands for session lifecycle visibility
|
|
75
|
+
- Automatic localhost noVNC port assignment for parallel sessions
|
|
76
|
+
- `start --url` network inference for VPS localhost apps
|
|
77
|
+
- Host-app URL diagnostics and runtime checks with `doctor --url`, `doctor --name`, and `doctor --deep`
|
|
78
|
+
- Project type hints with `detect`
|
|
79
|
+
- Linux desktop app launching with `launch`
|
|
80
|
+
- Piped desktop automation scripts with `exec --stdin`
|
|
81
|
+
- Conservative cleanup for stale containers, `stop --all` for managed containers, and artifact deletion opt-in
|
|
82
|
+
- Codex skill installer
|
|
83
|
+
|
|
84
|
+
## Still Planned
|
|
85
|
+
|
|
86
|
+
- Publishing a public prebuilt runtime image from CI.
|
|
87
|
+
- More project-type detectors and runtime images for common Linux desktop dependencies.
|
|
88
|
+
- An MCP server that wraps the stable CLI lifecycle.
|
|
89
|
+
|
|
90
|
+
## Design
|
|
91
|
+
|
|
92
|
+
See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).
|
|
93
|
+
|
|
94
|
+
For VPS setup and SSH tunneling, see [docs/VPS.md](docs/VPS.md).
|