kryptheon 0.1.3 → 0.1.4
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 +40 -21
- package/package.json +10 -2
package/README.md
CHANGED
|
@@ -1,36 +1,39 @@
|
|
|
1
1
|
# kryptheon
|
|
2
2
|
|
|
3
|
-
Record
|
|
3
|
+
Record a flow in your app once, replay it after every AI change, and get told in
|
|
4
|
+
plain English what broke.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
Runs entirely on your machine. No account, no API key, nothing leaves your
|
|
7
|
+
computer. It is a wrapper around [Playwright](https://playwright.dev).
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
Made by a 17-year-old vibecoder who kept having AI break things in his own app.
|
|
8
10
|
|
|
9
|
-
Install
|
|
11
|
+
## Install
|
|
10
12
|
|
|
11
13
|
```
|
|
12
14
|
npm i -D kryptheon
|
|
13
15
|
```
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
`
|
|
17
|
-
|
|
18
|
-
Running `npx kryptheon` without installing will record fine but fail to check.
|
|
17
|
+
Install it into your project, not globally — every recording imports
|
|
18
|
+
`kryptheon/kryptheon-fixture`, and your tests can only find that if kryptheon is
|
|
19
|
+
in your project's `node_modules`.
|
|
19
20
|
|
|
20
|
-
|
|
21
|
+
## Record
|
|
21
22
|
|
|
22
23
|
```
|
|
23
24
|
npx kryptheon record https://your-app.example.com
|
|
24
25
|
```
|
|
25
26
|
|
|
26
|
-
A browser opens. Use your app the way a customer would
|
|
27
|
-
|
|
27
|
+
A browser opens. Use your app the way a customer would. Close the browser when
|
|
28
|
+
you are done, and the recording is saved as a test.
|
|
29
|
+
|
|
30
|
+
## Check
|
|
28
31
|
|
|
29
32
|
```
|
|
30
33
|
npx kryptheon check
|
|
31
34
|
```
|
|
32
35
|
|
|
33
|
-
Runs everything you have recorded
|
|
36
|
+
Runs everything you have recorded:
|
|
34
37
|
|
|
35
38
|
```
|
|
36
39
|
OK Sign in (4.1s)
|
|
@@ -45,15 +48,28 @@ X Checkout
|
|
|
45
48
|
the server crashed or is unavailable - the error is in backend code, not the page
|
|
46
49
|
```
|
|
47
50
|
|
|
48
|
-
Every failure
|
|
49
|
-
|
|
51
|
+
Every failure ends with a short summary you can paste straight into an AI coding
|
|
52
|
+
tool.
|
|
53
|
+
|
|
54
|
+
## Recording something that replays
|
|
55
|
+
|
|
56
|
+
A recording is only useful if it still works the second time. So:
|
|
57
|
+
|
|
58
|
+
- **Record one simple flow.** Sign in and look at a page. Open a thing and check
|
|
59
|
+
it loaded. Short beats thorough.
|
|
60
|
+
- **Sign in with an account that already exists.** Do not sign up during a
|
|
61
|
+
recording — the account exists next time, and the signup step fails.
|
|
62
|
+
- **Avoid steps that cannot repeat.** Adding data piles up a row on every run.
|
|
63
|
+
Logging out at the end means the next run does not start where this one did.
|
|
64
|
+
|
|
65
|
+
Kryptheon warns you about these after a recording, and names the exact step.
|
|
50
66
|
|
|
51
67
|
## Automatic checks
|
|
52
68
|
|
|
53
|
-
The first time a test passes, kryptheon remembers where the browser ended up
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
69
|
+
The first time a test passes, kryptheon remembers where the browser ended up and
|
|
70
|
+
what the page was called. If either changes later, the test fails and says what
|
|
71
|
+
changed — so a recording catches regressions without you writing a single
|
|
72
|
+
assertion.
|
|
57
73
|
|
|
58
74
|
When a change is intentional, accept it for that one test:
|
|
59
75
|
|
|
@@ -71,15 +87,18 @@ npx kryptheon accept "Checkout"
|
|
|
71
87
|
| `kryptheon-baselines.json` | the remembered result for each test |
|
|
72
88
|
| `kryptheon-history.jsonl` | one line per run, used for "this was working on …" |
|
|
73
89
|
|
|
74
|
-
`.env` in the same folder is loaded automatically,
|
|
75
|
-
|
|
90
|
+
A `.env` in the same folder is loaded automatically, and anything you type into a
|
|
91
|
+
password box is replaced with an environment variable rather than written into
|
|
92
|
+
the test.
|
|
76
93
|
|
|
77
94
|
Worth adding to `.gitignore`: `.env`, `kryptheon-baselines.json`,
|
|
78
95
|
`kryptheon-history.jsonl`, `test-results/`.
|
|
79
96
|
|
|
80
97
|
## Requirements
|
|
81
98
|
|
|
82
|
-
Node 20.6 or later.
|
|
99
|
+
Node 20.6 or later. Recording needs a real terminal window — it opens a browser,
|
|
100
|
+
so it cannot run inside an AI coding assistant. The first run downloads a browser
|
|
101
|
+
(about 200MB, once).
|
|
83
102
|
|
|
84
103
|
## Licence
|
|
85
104
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kryptheon",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Record what you do in your app and get plain-language reports when it breaks.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "commonjs",
|
|
@@ -36,5 +36,13 @@
|
|
|
36
36
|
"testing",
|
|
37
37
|
"end-to-end",
|
|
38
38
|
"cli"
|
|
39
|
-
]
|
|
39
|
+
],
|
|
40
|
+
"repository": {
|
|
41
|
+
"type": "git",
|
|
42
|
+
"url": "git+https://github.com/jhashantanu987-beep/kryptheon-cli.git"
|
|
43
|
+
},
|
|
44
|
+
"bugs": {
|
|
45
|
+
"url": "https://github.com/jhashantanu987-beep/kryptheon-cli/issues"
|
|
46
|
+
},
|
|
47
|
+
"homepage": "https://github.com/jhashantanu987-beep/kryptheon-cli#readme"
|
|
40
48
|
}
|