@1agh/maude 0.44.0 → 0.45.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.
@@ -6,7 +6,13 @@ import { copyTree } from '../lib/copy-tree.mjs';
6
6
  const PLACEHOLDER = 'PROJECT_NAME';
7
7
  // Files in the skeleton that contain the project-name placeholder and should
8
8
  // be templated on copy.
9
- const TEMPLATED = ['workflows.config.json', 'README.md', 'INDEX.md', 'release-guide.md'];
9
+ const TEMPLATED = [
10
+ 'workflows.config.json',
11
+ 'README.md',
12
+ 'INDEX.md',
13
+ 'release-guide.md',
14
+ 'scenario-guide.md',
15
+ ];
10
16
 
11
17
  // Per-provider command substitutions for release-guide.md. Keys map to the
12
18
  // `# CHANGELOG_PROVIDER_*_CMD` placeholders inside the skeleton's bash blocks.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1agh/maude",
3
- "version": "0.44.0",
3
+ "version": "0.45.1",
4
4
  "description": "Marketplace of Claude Code plugins by Michal Dovrtěl: `design` (canvas-first design iteration) + `flow` (generic agentic workflow loop with .ai second brain). Ships the `maude` CLI (with `mdcc` legacy alias) to scaffold workspace, run the design dev server, and manage configs.",
5
5
  "type": "module",
6
6
  "engines": {
@@ -51,13 +51,13 @@
51
51
  "test:e2e:desktop:acp-cold-start": "pnpm --filter @maude/desktop-e2e e2e:acp-cold-start"
52
52
  },
53
53
  "optionalDependencies": {
54
- "@1agh/maude-darwin-arm64": "0.44.0",
55
- "@1agh/maude-darwin-x64": "0.44.0",
56
- "@1agh/maude-linux-arm64": "0.44.0",
57
- "@1agh/maude-linux-arm64-musl": "0.44.0",
58
- "@1agh/maude-linux-x64": "0.44.0",
59
- "@1agh/maude-linux-x64-musl": "0.44.0",
60
- "@1agh/maude-win32-x64": "0.44.0"
54
+ "@1agh/maude-darwin-arm64": "0.45.1",
55
+ "@1agh/maude-darwin-x64": "0.45.1",
56
+ "@1agh/maude-linux-arm64": "0.45.1",
57
+ "@1agh/maude-linux-arm64-musl": "0.45.1",
58
+ "@1agh/maude-linux-x64": "0.45.1",
59
+ "@1agh/maude-linux-x64-musl": "0.45.1",
60
+ "@1agh/maude-win32-x64": "0.45.1"
61
61
  },
62
62
  "files": [
63
63
  "cli",
@@ -47,6 +47,11 @@
47
47
  "type": "string",
48
48
  "description": "Root of the design plugin's canvas workspace, relative to repo root. Where flow looks for `.meta.json` sidecars + canvases when bridging to design (`/flow:plan` canvas detection, `/flow:done` handoff sweep, `codebase-intelligence` design-artifacts section). Mirrors the design plugin's own default. Flow reads this directory read-only — it never writes into the design root except the `/flow:done` handoff sweep's meta status update. Default: `.design`.",
49
49
  "default": ".design"
50
+ },
51
+ "scenarioGuide": {
52
+ "type": "string",
53
+ "description": "Repo-owned scenario-testing knowledge/deltas file that flow:scenario reads for overrides — device/platform lifecycle, selector conventions, infra-error classification, platform-specific gotchas. Mirrors `integrations.changelog.releaseGuide`'s generic-skill-plus-repo-knowledge-file shape, but optional: unlike the release guide, flow:scenario runs its documented defaults when this file is absent — no project is required to author one. Scaffolded by `maude init`. Default: `.ai/scenario-guide.md`.",
54
+ "default": ".ai/scenario-guide.md"
50
55
  }
51
56
  }
52
57
  },
@@ -0,0 +1,39 @@
1
+ # Scenario Guide — PROJECT_NAME
2
+
3
+ > Read by `flow:scenario` (skill + `scenario-runner` agent) before running or authoring a scenario. This file documents ONLY where this project's scenario testing diverges from `flow:scenario`'s generic protocol — device/platform matrix, selector strategy, report shape, speed levers. An absent or empty file is valid: `flow:scenario` runs its documented defaults with no changes. Delete any section below that doesn't apply to this project; don't fill a section with a generic restatement of the default behavior.
4
+
5
+ ## Device / platform lifecycle
6
+
7
+ > Does this project need something other than the generic default (native platforms run in parallel where the host allows it)? State the constraint and why — e.g. a RAM- or CPU-constrained CI/dev box that can only hold one simulator/emulator alive at a time forces a sequential lifecycle instead.
8
+
9
+ _Not yet documented — using the generic default._
10
+
11
+ ## Test account & reset strategy
12
+
13
+ > How does a scenario run get the app into a known state before asserting anything? If this project has a seeded test account, a fixture/profile system, or an in-app reset affordance, describe (or link to) it here. If this lives in its own skill (e.g. a dedicated test-account skill), reference it — don't duplicate its contents.
14
+
15
+ _Not yet documented — using the generic default (no project-specific reset step)._
16
+
17
+ ## Selector strategy overrides
18
+
19
+ > `flow:scenario`'s default selector reach-order is: stable locator (testID / `data-testid`) → accessible name/text → vision-based check (advisory only, never gates a pass/fail). Document here only if this project's locator convention deviates — e.g. a different testID naming scheme, a platform where accessible-name lookup is unreliable, or an additional locator tier.
20
+
21
+ _Not yet documented — using the generic default._
22
+
23
+ ## Infra-error classification overrides
24
+
25
+ > `flow:scenario`'s default treats environment/flake failures (device boot timeout, network blip, stale simulator state) as distinct from real product regressions, so they don't count as blockers. If this project binds that convention to a specific exit code or detection rule, document it here.
26
+
27
+ _Not yet documented — using the generic default._
28
+
29
+ ## Platform-specific gotchas
30
+
31
+ > A running log of harness quirks specific to this project's stack (framework cold-start races, platform dialog chains, overlay/devtools collisions, coordinate math for custom pickers, etc.). Add an entry whenever a scenario run fails for a reason that isn't a product bug — future runs (and future contributors) benefit from not re-discovering it.
32
+
33
+ _None recorded yet._
34
+
35
+ ## Scenario-authoring notes
36
+
37
+ > Anything specific to how new scenarios should be authored for this project beyond `flow:scenario`'s default collaborative loop (announce → act → screenshot → co-design asserts with the user → stop, one step at a time). E.g. project-specific `--save-script` conventions, or app areas that need special care when picking assertions.
38
+
39
+ _Not yet documented — using the generic default._
@@ -2,6 +2,8 @@
2
2
 
3
3
  Cross-platform UI scenarios. One folder per scenario; per-run reports inside.
4
4
 
5
+ > This file documents the **directory layout** convention for individual scenarios. For *behavioral* deltas from `flow:scenario`'s generic protocol (device lifecycle, selector conventions, infra-error classification, platform gotchas), see `../scenario-guide.md` instead — the two files have distinct scopes and shouldn't be merged.
6
+
5
7
  ## Layout
6
8
 
7
9
  ```