playthrough 0.4.0 → 0.4.1
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/INSTRUCTIONS.md +3 -0
- package/README.md +6 -15
- package/package.json +1 -1
- package/viewer/index.html +1 -0
- package/viewer/logo.svg +21 -0
package/INSTRUCTIONS.md
CHANGED
|
@@ -35,6 +35,9 @@ The person can only judge what the flows show, so keep them true to how a person
|
|
|
35
35
|
|
|
36
36
|
THE APP
|
|
37
37
|
|
|
38
|
+
The first time, add playthrough to the app's devDependencies with the app's own package manager, and run
|
|
39
|
+
npx playwright install chromium: flows import from it, and record in that browser.
|
|
40
|
+
|
|
38
41
|
playthrough/app.json says how to start the app, and is committed so every review uses it:
|
|
39
42
|
|
|
40
43
|
{ "start": "npm run dev", "url": "http://localhost:3000" }
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Playthrough
|
|
1
|
+
# <img src="https://raw.githubusercontent.com/itmostlyworks/playthrough/main/packages/viewer/public/logo.svg" alt="" height="28"> Playthrough
|
|
2
2
|
|
|
3
3
|
The agent says it's done. You decide if it's good.
|
|
4
4
|
|
|
@@ -14,30 +14,21 @@ Playthrough records your coding agent's change the way a person would use it, be
|
|
|
14
14
|
|
|
15
15
|
## Try it
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Ask your agent for a change in your app, as you would anyway, and add:
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
npm install --save-dev playthrough
|
|
21
|
-
npx playwright install chromium
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Then ask your agent for a change, and to show it to you:
|
|
19
|
+
> Show me this change with `npx playthrough`.
|
|
25
20
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
The agent starts a review, records it, and hands it to you with `playthrough wait`. Open it:
|
|
21
|
+
The agent does the rest. The first time, it adds Playthrough to your app and writes down how to start it and sign in, to commit with your app. Each time, it records the change and hands it to you. Open it:
|
|
29
22
|
|
|
30
23
|
```bash
|
|
31
24
|
npx playthrough open
|
|
32
25
|
```
|
|
33
26
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
Reviews are kept in `.playthrough/` in your app's repo, recordings and all. Nothing is uploaded anywhere.
|
|
27
|
+
Reviews stay in `.playthrough/` in your app's repo, recordings and all; nothing is uploaded. Playthrough needs Node 24 or later.
|
|
37
28
|
|
|
38
29
|
## On the example
|
|
39
30
|
|
|
40
|
-
`example/` in this repo is a small invoices app to try it on before your own. Clone the repo, run `npm install`, `npx playwright install chromium` and `npm run build`, and ask your agent
|
|
31
|
+
`example/` in this repo is a small invoices app to try it on before your own. Clone the repo, run `npm install`, `npx playwright install chromium` and `npm run build`, and from `example/`, ask your agent to show only the overdue invoices, and to show you the change with `npx playthrough`.
|
|
41
32
|
|
|
42
33
|
## In the viewer
|
|
43
34
|
|
package/package.json
CHANGED
package/viewer/index.html
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1, interactive-widget=resizes-content" />
|
|
6
6
|
<title>Playthrough</title>
|
|
7
|
+
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
|
|
7
8
|
<script type="module" crossorigin src="/assets/index-Ds2iot3O.js"></script>
|
|
8
9
|
<link rel="stylesheet" crossorigin href="/assets/index-gTfnUrcK.css">
|
|
9
10
|
</head>
|
package/viewer/logo.svg
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
2
|
+
<title>Playthrough</title>
|
|
3
|
+
<!-- The round before and the next, side by side, and a note over where they meet, in the viewer's own colours. -->
|
|
4
|
+
<style>
|
|
5
|
+
.round { fill: #2b2e35; }
|
|
6
|
+
.note { fill: #d9a23a; }
|
|
7
|
+
@media (prefers-color-scheme: dark) {
|
|
8
|
+
.round { fill: #e3e4e7; }
|
|
9
|
+
.note { fill: #e2b04f; }
|
|
10
|
+
}
|
|
11
|
+
</style>
|
|
12
|
+
<mask id="around-the-note">
|
|
13
|
+
<rect width="32" height="32" fill="#fff" />
|
|
14
|
+
<circle cx="16" cy="16" r="7" fill="#000" />
|
|
15
|
+
</mask>
|
|
16
|
+
<g mask="url(#around-the-note)">
|
|
17
|
+
<rect class="round" x="2" y="6" width="12" height="20" rx="3" opacity="0.35" />
|
|
18
|
+
<rect class="round" x="18" y="6" width="12" height="20" rx="3" />
|
|
19
|
+
</g>
|
|
20
|
+
<circle class="note" cx="16" cy="16" r="5" />
|
|
21
|
+
</svg>
|