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.
Files changed (2) hide show
  1. package/README.md +40 -21
  2. package/package.json +10 -2
package/README.md CHANGED
@@ -1,36 +1,39 @@
1
1
  # kryptheon
2
2
 
3
- Record what you do in your app, and get told in plain English when it breaks.
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
- No test code to write, no config to edit.
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
- ## Use it
9
+ Made by a 17-year-old vibecoder who kept having AI break things in his own app.
8
10
 
9
- Install it into your project first:
11
+ ## Install
10
12
 
11
13
  ```
12
14
  npm i -D kryptheon
13
15
  ```
14
16
 
15
- This step is not optional. Every recording kryptheon writes starts with
16
- `import { test, expect } from 'kryptheon/kryptheon-fixture'`, and your tests can
17
- only find that import if kryptheon lives in your project's `node_modules`.
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
- Then record:
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 — click, type, sign in.
27
- Close the browser when you are done, and the recording is saved as a test.
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 and reports what happened:
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 also ends with a short summary you can paste straight into an AI
49
- coding tool.
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
- and what the page was called. If either changes later, the test fails and tells
55
- you what changed — so a recording catches regressions without you writing a
56
- single assertion.
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, so a recording can sign in
75
- without the password living in the test file.
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. The first run downloads a browser (about 200MB, once).
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",
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
  }