@teurons/vds 0.0.7 → 0.0.9

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 CHANGED
@@ -3,7 +3,7 @@
3
3
  The `vds` command. It starts, checks and indexes a VDS workspace on your machine.
4
4
 
5
5
  VDS keeps a product's spec as files: capabilities that hold rules written in EARS,
6
- scenarios in Gherkin, and flows that point at those rules in order.
6
+ scenarios in Gherkin, and journeys that point at those rules in order.
7
7
  This package is an early alpha.
8
8
 
9
9
  ## Set it up with your AI agent
@@ -14,7 +14,7 @@ Copy this prompt into Claude Code, Codex or any coding agent, run from the root
14
14
  Set up VDS in this project.
15
15
 
16
16
  1. Run `npx -y @teurons/vds@latest init vds-workspace`. It creates the
17
- capabilities, flows and scenarios folders, a VDS.md guide and a .vds.json.
17
+ capabilities, journeys and scenarios folders, a VDS.md guide and a .vds.json.
18
18
  If it says a workspace already exists, stop and tell me what it found.
19
19
  2. Add `"vds": "vds"` to package.json scripts and @teurons/vds to
20
20
  devDependencies if this project uses npm, pnpm or yarn. Otherwise skip this.
@@ -51,25 +51,40 @@ Upgrade VDS in this project.
51
51
  ```sh
52
52
  npx @teurons/vds init [folder] # start a workspace (never overwrites one)
53
53
  npx @teurons/vds check [folder] # print every problem; exit 1 if any
54
- npx @teurons/vds index [folder] # print the index: every flow and rule, one line each
54
+ npx @teurons/vds index [folder] # print the index: every journey and rule, one line each
55
55
  npx @teurons/vds run local [folder] # the studio on localhost, with an MCP for your AI app at /mcp
56
- npx @teurons/vds built <flow> [folder] # mark a flow's current version built, with who and when
57
- npx @teurons/vds evidence <report> [folder] # record a test run (JUnit XML or Vitest JSON) as evidence
56
+ npx @teurons/vds built <journey> [folder] # mark a journey's current version built, with who and when
57
+ npx @teurons/vds evidence <report> [folder] # record a test run (JUnit XML or Vitest/Jest JSON) as evidence
58
58
  npx @teurons/vds changelog [--since x.y.z] # print the changelog, or only the versions after x.y.z
59
59
  npx @teurons/vds update [folder] # install the newest vds, migrate the workspace, refresh VDS.md, print what changed
60
+ npx @teurons/vds --help # the same list; --version prints the installed version
60
61
  ```
61
62
 
62
63
  `folder` defaults to the current folder, or to `vds-workspace` inside it when the current folder
63
64
  is not a workspace itself. So from your project root, `vds check` checks `vds-workspace`.
64
65
 
66
+ `check` and `index` stop with a message when the folder is missing or holds no workspace.
67
+ `index` prints the index and, on stderr, how many files it could not read.
68
+
69
+ ### Where `vds init` puts the workspace
70
+
71
+ - `vds init <folder>` makes the workspace in that folder.
72
+ - `vds init` with no folder uses the current folder when it is empty, and `vds-workspace` inside it
73
+ when the folder already has files (a project root).
74
+ - `vds init` refuses, and changes nothing, when the folder already holds a workspace, an old
75
+ `flows/` folder (run `vds update` for that) or, with no folder named, a `vds-workspace` folder.
76
+
77
+ `vds evidence` writes nothing and exits 1 when the file is neither a JUnit XML nor a Vitest/Jest
78
+ JSON report, or has no tests in it.
79
+
65
80
  ## A workspace
66
81
 
67
82
  ```text
68
83
  vds-workspace/
69
- VDS.md how agents and people work on this spec
84
+ VDS.md how agents and people work on this spec, with every file format
70
85
  .vds.json local settings: the port the local studio uses
71
86
  capabilities/<CODE>.yaml rules, each one EARS statement with an id like ONB-01
72
- flows/<id>.yaml versioned flows whose steps point at rule ids
87
+ journeys/<id>.yaml versioned journeys whose states point at rule ids
73
88
  scenarios/<RULE-ID>.feature Gherkin scenarios, one file per rule
74
89
  ```
75
90
 
package/dist/CHANGELOG.md CHANGED
@@ -11,7 +11,57 @@ Each release has two parts:
11
11
  and the one it installed.
12
12
  "None" means there is nothing to do.
13
13
 
14
- ## 0.0.7 (2026-11-02)
14
+ ## 0.0.9 (2026-11-03)
15
+
16
+ ### What changed
17
+
18
+ - Checker, versions and compare fixes:
19
+
20
+ - vds check refuses a scenario file that is not Gherkin (no Feature line or no Scenario), a scenario file for a rule the workspace does not have, a scenario whose @REQ tag differs from its file name, and a capability file whose code differs from its file name.
21
+ - vds built (and vds_mark_built) now records a fingerprint of every rule the journey uses. A rule edited later on disk, in an editor or by git pull, shows the journey as changed in the studio and the index, naming the rules, even when nobody bumped the version. Older built records behave as before.
22
+ - The studio compare view marks the steps that use a rule changed since the build as "rule changed", with the rule's plain line. A compare with versions that do not exist says which versions exist instead of showing a not-found page.
23
+ - The index line for a journey says built, not built, or changed with the rule ids; a journey that uses no rules says "uses no rules".
24
+ - Changing a journey file keeps its own style: untouched lines stay as written, and new built and changes blocks are written in block style.
25
+ - Command-line and guide fixes:
26
+
27
+ - VDS.md now holds the full file formats for capabilities, journeys and scenarios with one checked example of each, and says how to write: through the local MCP (vds_write, vds_delete) when vds run local is running, or by editing files and running vds check. The MCP instructions list the formats too.
28
+ - vds check and vds index on a folder that is missing or holds no workspace now fail with a message that names the folder and suggests vds init.
29
+ - vds init without a folder uses the current folder when it is empty and vds-workspace when the folder has files; it refuses when vds-workspace already exists, and when the folder has an old flows folder it says to run vds update. It lists what it created and the next steps.
30
+ - vds evidence refuses a file that is not a JUnit XML or Vitest/Jest JSON report, or has no tests, and writes nothing. Evidence file names use local time.
31
+ - vds index says on stderr how many files could not be read.
32
+ - vds --help, help, -h, --version and -v work; an unknown command prints the usage on stderr and exits 2.
33
+ - vds built with no journey prints its usage; vds changelog --since a version that is not out says nothing is newer; vds update offline says it could not reach npm and names the registry.
34
+ - The README says journeys everywhere and lists every command.
35
+ - internal: the tools run over a store, so the hosted app can share them
36
+
37
+ ### Agent steps
38
+
39
+ - Run vds check: it now refuses scenario files that are not Gherkin, scenarios for rules that do not exist, and capability files whose code differs from the file name. Fix what it lists.
40
+ - Run vds built <journey> again for journeys you have built, so later rule edits show as changes.
41
+ - Read VDS.md again: it now has the full file formats.
42
+
43
+ ## 0.0.8 (2026-11-03)
44
+
45
+ ### What changed
46
+
47
+ - Flows are now journeys. The folder is `journeys/<id>.yaml`, the top key is `journey:`, and every
48
+ journey file names its kind with `kind: journey` (the checker refuses a missing or unknown kind).
49
+ In states, `next_flow` is `next_journey` and the `subflow` type is `subjourney`. The index, checker
50
+ codes (`journey_*`), studio pages (`/journeys/<id>`), MCP tools (`vds_mark_built(journey)`), the
51
+ command (`vds built <journey>`) and VDS.md all say journey. `vds update` moves `flows/` to
52
+ `journeys/` and rewrites the keys, including in `versions/`, and prints each file. `vds check` on a
53
+ workspace that still has `flows/` and no `journeys/` tells you to run `vds update`.
54
+ - The studio's "Group by capability" works: the server now passes the page its full address. Each
55
+ journey on the dashboard shows its id. An empty workspace shows this studio's own MCP address
56
+ instead of `<port>`. Changelog entries are dated in the maintainer's local time.
57
+
58
+ ### Agent steps
59
+
60
+ - Run `npx -y @teurons/vds@latest update`; it moves flows/ to journeys/ for you and prints each file.
61
+ - Change the wording from flow to journey in the project's AGENTS.md and CLAUDE.md, and re-read VDS.md.
62
+ - Rename tests named after FLOW-xx scenario ids only if the workspace is VDS's own (FLOW is now JRN); other workspaces keep their ids.
63
+
64
+ ## 0.0.7 (2026-11-03)
15
65
 
16
66
  ### What changed
17
67