saffron-ai 0.5.0 → 0.5.2
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/CHANGELOG.md +46 -0
- package/README.md +5 -4
- package/dist-pkg/cli.js +101 -97
- package/package.json +1 -1
- package/templates/saucedemo/features/{login.feature → login.saffron} +12 -0
- package/templates/saucedemo/features/shared.steps.saffron +16 -2
- package/templates/saucedemo/features/shopping.saffron +6 -11
- package/textmate/saffron/syntaxes/saffron.tmLanguage.json +53 -31
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,52 @@ All notable changes to Saffron, in one place: the `saffron-ai` runner (npm),
|
|
|
4
4
|
the VS Code extension (`ChathurangaJayasinghe.saffron-vscode`) and the
|
|
5
5
|
JetBrains plugin (`ai.saffron.jetbrains`). Dates are publish dates.
|
|
6
6
|
|
|
7
|
+
## 0.5.2
|
|
8
|
+
|
|
9
|
+
Released 2026-09-15.
|
|
10
|
+
|
|
11
|
+
Runner
|
|
12
|
+
|
|
13
|
+
- Scenario Outlines record correctly: an assertion recorded from the page's
|
|
14
|
+
longer sentence now becomes the `<placeholder>` outright when it contains
|
|
15
|
+
the row's value (substring replacement used to leave a residue that no
|
|
16
|
+
other row could satisfy), and rows after the first replay the pending
|
|
17
|
+
proposal at zero AI instead of recording again and overwriting it. When
|
|
18
|
+
the proposal does not fit a row, the run is red with a clear message
|
|
19
|
+
rather than silently replacing another row's recording.
|
|
20
|
+
- The agent is told to record a Then step's quoted text exactly as
|
|
21
|
+
expected text, never the page's longer sentence.
|
|
22
|
+
- A Given step or StepSet guard that describes a state the page is already
|
|
23
|
+
in is no longer reported as an adaptation. The saucedemo example's
|
|
24
|
+
checkout set used to show a warning on its first recording for this.
|
|
25
|
+
- Yellow scenarios are labelled "pending review" in the run summary and the
|
|
26
|
+
HTML report instead of "adapted", since a proposal is not necessarily an
|
|
27
|
+
adaptation.
|
|
28
|
+
|
|
29
|
+
Editors
|
|
30
|
+
|
|
31
|
+
- `{env:VAR}` tokens are navigable: Ctrl/Cmd+click (go to definition)
|
|
32
|
+
opens the variable in `.env`, or `.env.example` when no `.env` exists;
|
|
33
|
+
hover says where it is defined and never shows the value. In the VS
|
|
34
|
+
Code extension and in `saffron lsp` for JetBrains and other editors.
|
|
35
|
+
|
|
36
|
+
## 0.5.1
|
|
37
|
+
|
|
38
|
+
Released 2026-09-14.
|
|
39
|
+
|
|
40
|
+
Runner
|
|
41
|
+
|
|
42
|
+
- Example suite: `.saffron` files only, with StepSets invoked both at the
|
|
43
|
+
start of scenarios and in the middle ("Recover from a locked-out
|
|
44
|
+
login", and a checkout set that carries a data table).
|
|
45
|
+
|
|
46
|
+
Editors
|
|
47
|
+
|
|
48
|
+
- Grammar: quoted arguments, `<placeholders>` and `{env:…}` / `{date…}`
|
|
49
|
+
tokens get their own scopes, so editors colour them like Cucumber
|
|
50
|
+
parameters instead of the whole step line. Ships in the VS Code
|
|
51
|
+
extension, the JetBrains plugin and the package's TextMate bundle.
|
|
52
|
+
|
|
7
53
|
## 0.5.0
|
|
8
54
|
|
|
9
55
|
Released 2026-09-14.
|
package/README.md
CHANGED
|
@@ -37,10 +37,11 @@ npx saffron init # config + agent skill; offers the Saucedemo example sui
|
|
|
37
37
|
npx saffron run
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
No app of your own yet? `npx saffron init --examples` installs
|
|
41
|
-
scenarios against the public demo shop at saucedemo.com
|
|
42
|
-
|
|
43
|
-
replays something
|
|
40
|
+
No app of your own yet? `npx saffron init --examples` installs a handful
|
|
41
|
+
of short `.saffron` scenarios against the public demo shop at saucedemo.com
|
|
42
|
+
(login, a Scenario Outline, cart, checkout, StepSets at the start and in
|
|
43
|
+
the middle of scenarios) so the first run records and replays something
|
|
44
|
+
real.
|
|
44
45
|
|
|
45
46
|
**Built for the AI era:** the package ships an [Agent Skill](https://agentskills.io) that teaches Claude Code, Codex, Cursor, Copilot and any skill-aware agent to write Saffron tests efficiently. Reuse recorded wordings, keep assertions sacred, secrets as `{env:VAR}`, so the tests your agents write replay at zero tokens instead of paying for near-duplicate recordings.
|
|
46
47
|
|