@1agh/maude 0.15.0
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/LICENSE +21 -0
- package/README.md +166 -0
- package/cli/bin/maude.exe +15 -0
- package/cli/bin/maude.mjs +45 -0
- package/cli/bin/mdcc.exe +10 -0
- package/cli/bin/mdcc.mjs +7 -0
- package/cli/cli-wrapper.cjs +67 -0
- package/cli/commands/config.mjs +94 -0
- package/cli/commands/design.mjs +386 -0
- package/cli/commands/help.mjs +57 -0
- package/cli/commands/init.mjs +178 -0
- package/cli/commands/version.mjs +7 -0
- package/cli/install.cjs +113 -0
- package/cli/lib/argv.mjs +37 -0
- package/cli/lib/argv.test.mjs +46 -0
- package/cli/lib/copy-tree.mjs +78 -0
- package/package.json +94 -0
- package/plugins/design/dev-server/annotations-context-toolbar.tsx +397 -0
- package/plugins/design/dev-server/annotations-layer.tsx +1717 -0
- package/plugins/design/dev-server/api.ts +674 -0
- package/plugins/design/dev-server/bin/_screenshot-playwright.mjs +50 -0
- package/plugins/design/dev-server/bin/bootstrap-check.sh +83 -0
- package/plugins/design/dev-server/bin/canvas-edit.sh +48 -0
- package/plugins/design/dev-server/bin/handoff.sh +27 -0
- package/plugins/design/dev-server/bin/screenshot.sh +232 -0
- package/plugins/design/dev-server/bin/server-up.sh +135 -0
- package/plugins/design/dev-server/bin/slug.sh +22 -0
- package/plugins/design/dev-server/bin/smoke.sh +272 -0
- package/plugins/design/dev-server/build.ts +267 -0
- package/plugins/design/dev-server/canvas-build.ts +219 -0
- package/plugins/design/dev-server/canvas-edit.ts +388 -0
- package/plugins/design/dev-server/canvas-header.ts +165 -0
- package/plugins/design/dev-server/canvas-icons.tsx +131 -0
- package/plugins/design/dev-server/canvas-lib-inline.ts +260 -0
- package/plugins/design/dev-server/canvas-lib-resolver.ts +85 -0
- package/plugins/design/dev-server/canvas-lib.tsx +1995 -0
- package/plugins/design/dev-server/canvas-meta.schema.json +181 -0
- package/plugins/design/dev-server/canvas-pipeline.ts +270 -0
- package/plugins/design/dev-server/canvas-shell.tsx +813 -0
- package/plugins/design/dev-server/client/app.jsx +2027 -0
- package/plugins/design/dev-server/client/hmr.mjs +85 -0
- package/plugins/design/dev-server/client/iframe-lazy.mjs +121 -0
- package/plugins/design/dev-server/client/index.html +15 -0
- package/plugins/design/dev-server/client/styles/0-reset.css +18 -0
- package/plugins/design/dev-server/client/styles/1-tokens.css +297 -0
- package/plugins/design/dev-server/client/styles/2-layout.css +35 -0
- package/plugins/design/dev-server/client/styles/3-shell.css +906 -0
- package/plugins/design/dev-server/client/styles/4-components.css +1268 -0
- package/plugins/design/dev-server/client/styles/5-utilities.css +4 -0
- package/plugins/design/dev-server/client/styles/_index.css +24 -0
- package/plugins/design/dev-server/client/styles.css +1419 -0
- package/plugins/design/dev-server/config.schema.json +147 -0
- package/plugins/design/dev-server/context-menu.tsx +343 -0
- package/plugins/design/dev-server/context.ts +173 -0
- package/plugins/design/dev-server/dist/client.bundle.js +20323 -0
- package/plugins/design/dev-server/dist/styles.css +2875 -0
- package/plugins/design/dev-server/examples/README.md +9 -0
- package/plugins/design/dev-server/examples/perf-100-artboards.tsx +113 -0
- package/plugins/design/dev-server/fs-watch.ts +63 -0
- package/plugins/design/dev-server/handoff.ts +721 -0
- package/plugins/design/dev-server/history.ts +125 -0
- package/plugins/design/dev-server/hmr-broadcast.ts +114 -0
- package/plugins/design/dev-server/http.ts +413 -0
- package/plugins/design/dev-server/input-router.tsx +485 -0
- package/plugins/design/dev-server/inspect.ts +365 -0
- package/plugins/design/dev-server/locator.ts +159 -0
- package/plugins/design/dev-server/mem.ts +97 -0
- package/plugins/design/dev-server/runtime-bundle.ts +235 -0
- package/plugins/design/dev-server/server.mjs +1246 -0
- package/plugins/design/dev-server/server.ts +131 -0
- package/plugins/design/dev-server/test/_helpers.ts +81 -0
- package/plugins/design/dev-server/test/active-state.test.ts +145 -0
- package/plugins/design/dev-server/test/annotations-api.test.ts +146 -0
- package/plugins/design/dev-server/test/annotations-layer.test.ts +419 -0
- package/plugins/design/dev-server/test/binary-smoke.test.ts +47 -0
- package/plugins/design/dev-server/test/bundle-smoke.test.ts +29 -0
- package/plugins/design/dev-server/test/canvas-build.test.ts +78 -0
- package/plugins/design/dev-server/test/canvas-edit.test.ts +139 -0
- package/plugins/design/dev-server/test/canvas-header.test.ts +127 -0
- package/plugins/design/dev-server/test/canvas-lib-inline.test.ts +146 -0
- package/plugins/design/dev-server/test/canvas-lib-resolver.test.ts +112 -0
- package/plugins/design/dev-server/test/canvas-meta-api.test.ts +236 -0
- package/plugins/design/dev-server/test/canvas-pipeline.test.ts +180 -0
- package/plugins/design/dev-server/test/canvas-route.test.ts +176 -0
- package/plugins/design/dev-server/test/fs-watch.test.ts +41 -0
- package/plugins/design/dev-server/test/handoff-static-frames.test.ts +215 -0
- package/plugins/design/dev-server/test/handoff.test.ts +281 -0
- package/plugins/design/dev-server/test/history-rollback.test.ts +62 -0
- package/plugins/design/dev-server/test/hmr-broadcast.test.ts +108 -0
- package/plugins/design/dev-server/test/input-router.test.ts +316 -0
- package/plugins/design/dev-server/test/locator.test.ts +214 -0
- package/plugins/design/dev-server/test/perf-harness.ts +193 -0
- package/plugins/design/dev-server/test/phase-3.6-smoke.test.ts +77 -0
- package/plugins/design/dev-server/test/runtime-bundle.test.ts +69 -0
- package/plugins/design/dev-server/test/server-lifecycle.test.ts +28 -0
- package/plugins/design/dev-server/test/tool-palette.test.tsx +55 -0
- package/plugins/design/dev-server/test/use-annotation-selection.test.tsx +77 -0
- package/plugins/design/dev-server/test/use-artboard-drag.test.ts +325 -0
- package/plugins/design/dev-server/test/use-selection-set.test.tsx +166 -0
- package/plugins/design/dev-server/test/use-snap-guides.test.ts +190 -0
- package/plugins/design/dev-server/test/use-tool-mode.test.tsx +93 -0
- package/plugins/design/dev-server/test/ws-handshake.test.ts +33 -0
- package/plugins/design/dev-server/tool-palette.tsx +278 -0
- package/plugins/design/dev-server/tsconfig.json +26 -0
- package/plugins/design/dev-server/use-annotation-selection.tsx +92 -0
- package/plugins/design/dev-server/use-annotations-visibility.tsx +43 -0
- package/plugins/design/dev-server/use-artboard-drag.tsx +445 -0
- package/plugins/design/dev-server/use-selection-set.tsx +224 -0
- package/plugins/design/dev-server/use-snap-guides.tsx +215 -0
- package/plugins/design/dev-server/use-tool-mode.tsx +114 -0
- package/plugins/design/dev-server/ws.ts +90 -0
- package/plugins/design/templates/_shell.html +177 -0
- package/plugins/design/templates/canvas.tsx.template +54 -0
- package/plugins/design/templates/design-system-inspiration/_MAPPING.md +277 -0
- package/plugins/design/templates/design-system-inspiration/_README.md +71 -0
- package/plugins/design/templates/design-system-inspiration/audience-consumer/components-banner.html +68 -0
- package/plugins/design/templates/design-system-inspiration/audience-consumer/components-empty-state-generous.html +39 -0
- package/plugins/design/templates/design-system-inspiration/audience-consumer/components-feature-grid.html +62 -0
- package/plugins/design/templates/design-system-inspiration/audience-consumer/components-marketing-card.html +63 -0
- package/plugins/design/templates/design-system-inspiration/audience-consumer/components-testimonial.html +80 -0
- package/plugins/design/templates/design-system-inspiration/audience-developer/components-code-block.html +71 -0
- package/plugins/design/templates/design-system-inspiration/audience-developer/components-diff-view.html +65 -0
- package/plugins/design/templates/design-system-inspiration/audience-developer/components-log-stream.html +62 -0
- package/plugins/design/templates/design-system-inspiration/audience-developer/components-monospace-table.html +57 -0
- package/plugins/design/templates/design-system-inspiration/audience-developer/components-terminal-pane.html +67 -0
- package/plugins/design/templates/design-system-inspiration/audience-developer/type-mono.html +57 -0
- package/plugins/design/templates/design-system-inspiration/audience-pro/colors-presence.html +74 -0
- package/plugins/design/templates/design-system-inspiration/audience-pro/components-command-palette.html +90 -0
- package/plugins/design/templates/design-system-inspiration/audience-pro/components-keyboard.html +51 -0
- package/plugins/design/templates/design-system-inspiration/audience-pro/components-list.html +89 -0
- package/plugins/design/templates/design-system-inspiration/audience-pro/components-shortcuts-overlay.html +85 -0
- package/plugins/design/templates/design-system-inspiration/audience-pro/components-toast-menu.html +80 -0
- package/plugins/design/templates/design-system-inspiration/core/INDEX.md.tpl +25 -0
- package/plugins/design/templates/design-system-inspiration/core/README.orchestration.md.tpl +71 -0
- package/plugins/design/templates/design-system-inspiration/core/README.philosophy.md.tpl +77 -0
- package/plugins/design/templates/design-system-inspiration/core/SKILL.md.tpl +50 -0
- package/plugins/design/templates/design-system-inspiration/core/colors_and_type.css.tpl +111 -0
- package/plugins/design/templates/design-system-inspiration/core/config.json.tpl +28 -0
- package/plugins/design/templates/design-system-inspiration/core/preview/_layout.css +113 -0
- package/plugins/design/templates/design-system-inspiration/core/preview/colors-accent.html +48 -0
- package/plugins/design/templates/design-system-inspiration/core/preview/colors-surfaces.html +49 -0
- package/plugins/design/templates/design-system-inspiration/core/preview/colors-text.html +52 -0
- package/plugins/design/templates/design-system-inspiration/core/preview/components-buttons.html +83 -0
- package/plugins/design/templates/design-system-inspiration/core/preview/components-cards.html +79 -0
- package/plugins/design/templates/design-system-inspiration/core/preview/components-inputs.html +82 -0
- package/plugins/design/templates/design-system-inspiration/core/preview/motion.html +66 -0
- package/plugins/design/templates/design-system-inspiration/core/preview/spacing-scale.html +53 -0
- package/plugins/design/templates/design-system-inspiration/core/preview/type-scale.html +62 -0
- package/plugins/design/templates/design-system-inspiration/foundations/borders.html +39 -0
- package/plugins/design/templates/design-system-inspiration/foundations/elevation.html +46 -0
- package/plugins/design/templates/design-system-inspiration/foundations/focus.html +48 -0
- package/plugins/design/templates/design-system-inspiration/foundations/grid.html +51 -0
- package/plugins/design/templates/design-system-inspiration/foundations/iconography.html +73 -0
- package/plugins/design/templates/design-system-inspiration/foundations/opacity.html +45 -0
- package/plugins/design/templates/design-system-inspiration/foundations/radii.html +40 -0
- package/plugins/design/templates/design-system-inspiration/foundations/selection.html +45 -0
- package/plugins/design/templates/design-system-inspiration/meta/accessibility.html +62 -0
- package/plugins/design/templates/design-system-inspiration/meta/i18n.html +73 -0
- package/plugins/design/templates/design-system-inspiration/meta/presence-multiplayer.html +71 -0
- package/plugins/design/templates/design-system-inspiration/meta/tokens-index.html +80 -0
- package/plugins/design/templates/design-system-inspiration/patterns/patterns-auth.html +78 -0
- package/plugins/design/templates/design-system-inspiration/patterns/patterns-data-density.html +61 -0
- package/plugins/design/templates/design-system-inspiration/patterns/patterns-error-pages.html +70 -0
- package/plugins/design/templates/design-system-inspiration/patterns/patterns-form-layouts.html +70 -0
- package/plugins/design/templates/design-system-inspiration/patterns/patterns-onboarding.html +71 -0
- package/plugins/design/templates/design-system-inspiration/patterns/patterns-pricing.html +83 -0
- package/plugins/design/templates/design-system-inspiration/platform-desktop/components-resize-panels.html +63 -0
- package/plugins/design/templates/design-system-inspiration/platform-desktop/ui_kits-desktop-index.html +55 -0
- package/plugins/design/templates/design-system-inspiration/platform-desktop/ui_kits-desktop-showcase.html +302 -0
- package/plugins/design/templates/design-system-inspiration/platform-mobile/components-bottom-sheet.html +63 -0
- package/plugins/design/templates/design-system-inspiration/platform-mobile/components-pull-to-refresh.html +74 -0
- package/plugins/design/templates/design-system-inspiration/platform-mobile/components-segmented-control.html +51 -0
- package/plugins/design/templates/design-system-inspiration/platform-mobile/components-tab-bar.html +57 -0
- package/plugins/design/templates/design-system-inspiration/platform-mobile/ui_kits-mobile-index.html +58 -0
- package/plugins/design/templates/design-system-inspiration/platform-mobile/ui_kits-mobile-showcase.html +237 -0
- package/plugins/design/templates/design-system-inspiration/status/colors-status.html +49 -0
- package/plugins/design/templates/design-system-inspiration/status/components-status.html +63 -0
- package/plugins/design/templates/design-system-inspiration/status/skeletons.html +74 -0
- package/plugins/design/templates/design-system-inspiration/theme-both/colors-themes-side-by-side.html +59 -0
- package/plugins/design/templates/design-system-inspiration/universal/components-callout.html +74 -0
- package/plugins/design/templates/design-system-inspiration/universal/components-dialogs.html +81 -0
- package/plugins/design/templates/design-system-inspiration/universal/components-tables.html +101 -0
- package/plugins/design/templates/design-system-inspiration/universal/components-toggles.html +74 -0
- package/plugins/design/templates/design-system-inspiration/universal/components-tooltips.html +74 -0
- package/plugins/design/templates/design-system-inspiration/universal/empty-state.html.tpl +34 -0
- package/plugins/design/templates/design-system-inspiration/universal/logo.html +42 -0
- package/plugins/design/templates/ds-specimen.tsx.template +59 -0
- package/plugins/flow/.claude-plugin/config.schema.json +398 -0
- package/plugins/flow/README.md +45 -0
- package/plugins/flow/templates/ai-skeleton/INDEX.md +50 -0
- package/plugins/flow/templates/ai-skeleton/README.md +46 -0
- package/plugins/flow/templates/ai-skeleton/browser/har/.gitkeep +0 -0
- package/plugins/flow/templates/ai-skeleton/browser/snapshots/.gitkeep +0 -0
- package/plugins/flow/templates/ai-skeleton/business/README.md +12 -0
- package/plugins/flow/templates/ai-skeleton/context/README.md +12 -0
- package/plugins/flow/templates/ai-skeleton/decisions/README.md +20 -0
- package/plugins/flow/templates/ai-skeleton/design-import/.gitkeep +0 -0
- package/plugins/flow/templates/ai-skeleton/dev-logs/.gitkeep +0 -0
- package/plugins/flow/templates/ai-skeleton/device/.gitkeep +0 -0
- package/plugins/flow/templates/ai-skeleton/docs/README.md +5 -0
- package/plugins/flow/templates/ai-skeleton/logs/.gitkeep +0 -0
- package/plugins/flow/templates/ai-skeleton/logs/README.md +13 -0
- package/plugins/flow/templates/ai-skeleton/plans/README.md +16 -0
- package/plugins/flow/templates/ai-skeleton/plans/archive/.gitkeep +0 -0
- package/plugins/flow/templates/ai-skeleton/release-guide.md +35 -0
- package/plugins/flow/templates/ai-skeleton/reviews/README.md +15 -0
- package/plugins/flow/templates/ai-skeleton/scenarios/README.md +26 -0
- package/plugins/flow/templates/ai-skeleton/scenarios/_lib/.gitkeep +0 -0
- package/plugins/flow/templates/ai-skeleton/state/STATE.md +25 -0
- package/plugins/flow/templates/ai-skeleton/templates/HANDOFF.md +32 -0
- package/plugins/flow/templates/ai-skeleton/workflows.config.json +74 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# `.ai/` — Second Brain
|
|
2
|
+
|
|
3
|
+
This folder is your project's persistent memory for the `flow` plugin. Plans, decisions, reviews, snapshots, and scenario evidence live here. Commands read from it; subagents write to it.
|
|
4
|
+
|
|
5
|
+
## Top-level layout
|
|
6
|
+
|
|
7
|
+
| Folder | Owner command | Purpose |
|
|
8
|
+
| ------ | ------------- | ------- |
|
|
9
|
+
| `state/` | `/flow:status`, `/flow:pause`, `/flow:resume` | Single source of truth for current workflow phase. `STATE.md` is durable; `HANDOFF.md` is transient (created on pause, deleted on resume). |
|
|
10
|
+
| `plans/` | `/flow:plan`, `/flow:execute` | Feature plans with task lists. `archive/` holds completed plans. |
|
|
11
|
+
| `decisions/` | `/flow:record-ddr` | Design Decision Records. Append-only, numbered, never deleted. |
|
|
12
|
+
| `reviews/` | `/flow:review-code`, `/flow:record-retro` | Code review snapshots and retrospective notes from completed work. |
|
|
13
|
+
| `scenarios/` | `/flow:scenario` | Cross-platform UI scenario specs + per-run report folders (screenshots, evidence). `_lib/` holds shared helpers. |
|
|
14
|
+
| `logs/` | `/flow:validate`, `/flow:maintain-ai-health` | System-level audit logs (validation runs, infrastructure reviews). |
|
|
15
|
+
| `dev-logs/` | manual | Dev journal — free-form notes, links, scratchpad. Optional. |
|
|
16
|
+
| `browser/` | `agent-browser` skill | Web automation evidence — DOM snapshots, HAR captures. |
|
|
17
|
+
| `device/` | `agent-device` skill | Native device automation evidence — accessibility snapshots, screenshots, traces. |
|
|
18
|
+
| `context/` | `/flow:setup-codebase-map`, `/flow:setup-context` | Living snapshots of codebase architecture (auto-generated, refresh periodically). |
|
|
19
|
+
| `business/` | manual | Domain knowledge, glossary, stakeholders, personas. Hand-curated. |
|
|
20
|
+
| `docs/` | manual | Internal design docs, patterns, ADR-adjacent prose. |
|
|
21
|
+
| `design-import/` | `/design:handoff` (design plugin) | Canvas artifacts in transit from `.design/` to production code. |
|
|
22
|
+
| `templates/` | manual | Copy-paste starters for plans, reviews, etc. |
|
|
23
|
+
|
|
24
|
+
## Per-project files
|
|
25
|
+
|
|
26
|
+
These live at the root of `.ai/` (not in subfolders) and are referenced by `workflows.config.json` → `paths`:
|
|
27
|
+
|
|
28
|
+
- `<name>-prd.md` — product requirements / brief
|
|
29
|
+
- `<name>-design-system.md` — design system reference (look & feel, tokens, density)
|
|
30
|
+
- `workflows.config.json` — config consumed by all flow commands and skills
|
|
31
|
+
|
|
32
|
+
## Conventions
|
|
33
|
+
|
|
34
|
+
- **Append-only history.** Decisions, reviews, scenario reports — never delete, only supersede.
|
|
35
|
+
- **Filename = identity.** Match the slug of the work (e.g. `plans/onboarding-flow.md`, `decisions/DDR-007-edge-runtime.md`).
|
|
36
|
+
- **Date-stamped reports.** Scenario runs go in `scenarios/<scenario-id>/<YYYY-MM-DD-HHMM>/report.md`.
|
|
37
|
+
- **`<project>` placeholder.** Commands resolve `<project>` from `workflows.config.json` → `name`.
|
|
38
|
+
|
|
39
|
+
## Bootstrapping
|
|
40
|
+
|
|
41
|
+
Run `maude init` from your repo root to scaffold this skeleton (idempotent — never overwrites). Then run Anthropic's built-in `/init` to generate `CLAUDE.md` (conventions, build commands, project rules — auto-loaded every session), and create `.ai/<name>-prd.md` with your product brief.
|
|
42
|
+
|
|
43
|
+
> Note: `maude init` does not write `CLAUDE.md` itself — that's `/init`'s job. The split:
|
|
44
|
+
>
|
|
45
|
+
> - **`CLAUDE.md`** — prose Claude reads every session (conventions, gotchas, "always do X"). Generated by `/init`. Target under 200 lines.
|
|
46
|
+
> - **`.ai/workflows.config.json`** — structured machine-readable knobs. Scaffolded by `maude init`. Populated further by `/flow:init`.
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Business
|
|
2
|
+
|
|
3
|
+
Hand-curated domain knowledge. Not generated by commands — you write what's useful.
|
|
4
|
+
|
|
5
|
+
## Suggested files
|
|
6
|
+
|
|
7
|
+
- `glossary.md` — domain terms, with definitions.
|
|
8
|
+
- `personas.md` — primary user roles, what they care about.
|
|
9
|
+
- `stakeholders.md` — humans involved in decisions (PM, design lead, oncall, …).
|
|
10
|
+
- `goals.md` — quarterly or annual targets.
|
|
11
|
+
|
|
12
|
+
Commands like `/flow:plan` and the `ux-critic`-style skills will read these when present.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Context
|
|
2
|
+
|
|
3
|
+
Living snapshots of the codebase architecture. Generated by `/flow:setup-codebase-map`; consumed by `/flow:plan`, `/flow:setup-context`, and subagents.
|
|
4
|
+
|
|
5
|
+
## Key files
|
|
6
|
+
|
|
7
|
+
- `codebase-map.md` — the canonical snapshot. Refreshed on a cadence (typically before non-trivial planning).
|
|
8
|
+
|
|
9
|
+
## Conventions
|
|
10
|
+
|
|
11
|
+
- **Overwrite, don't append.** Snapshots replace; if you need history, use git.
|
|
12
|
+
- **Don't hand-edit.** Run the command. If output is wrong, fix the command or its skill.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Design Decision Records
|
|
2
|
+
|
|
3
|
+
Permanent log of architectural and product decisions. Each DDR is a standalone markdown file following the template in the flow plugin's `commands/ddr.md`.
|
|
4
|
+
|
|
5
|
+
## Index
|
|
6
|
+
|
|
7
|
+
> Append-only. Newest at the top.
|
|
8
|
+
|
|
9
|
+
<!-- DDRs go here, format:
|
|
10
|
+
- [DDR-NNN: Title](DDR-NNN-title.md) — YYYY-MM-DD, tags
|
|
11
|
+
-->
|
|
12
|
+
|
|
13
|
+
## Rules
|
|
14
|
+
|
|
15
|
+
- **Numbering:** zero-padded, three digits, sequential (DDR-001, DDR-002, …).
|
|
16
|
+
- **Status:** `Accepted` once committed. `Proposed` only inside an open PR. `Superseded by DDR-NNN` when replaced.
|
|
17
|
+
- **We never delete.** Superseded DDRs stay — they're the trail of how we got here.
|
|
18
|
+
- **Cross-link:** the plan, the commit, and the new code that implements the decision should all link the DDR.
|
|
19
|
+
|
|
20
|
+
How to create one: `/flow:record-ddr <title>`. How to find related ones: read this index, or `grep -l <tag> .ai/decisions/*.md`.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Logs
|
|
2
|
+
|
|
3
|
+
System-level audit logs. Output of `/flow:validate`, `/flow:maintain-ai-health`, and other diagnostic commands.
|
|
4
|
+
|
|
5
|
+
## Subfolders
|
|
6
|
+
|
|
7
|
+
- `system-reviews/` — periodic infrastructure audits.
|
|
8
|
+
- (add others as needed — `validate/`, `health/`, etc.)
|
|
9
|
+
|
|
10
|
+
## Conventions
|
|
11
|
+
|
|
12
|
+
- **Filename:** `YYYY-MM-DD-<topic>.md`.
|
|
13
|
+
- **Append-only.** These are forensic records, not living docs.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Plans
|
|
2
|
+
|
|
3
|
+
Feature implementation plans. One file per feature, slug as filename (e.g. `onboarding-flow.md`).
|
|
4
|
+
|
|
5
|
+
## Lifecycle
|
|
6
|
+
|
|
7
|
+
1. `/flow:plan <feature>` — agent drafts the plan into `<feature>.md`, including task list, file touch map, scenarios.
|
|
8
|
+
2. `/flow:execute` — agent works through the task list, ticking items as `[x]`.
|
|
9
|
+
3. `/flow:done` — agent finalizes, runs validation, then moves the file to `archive/`.
|
|
10
|
+
|
|
11
|
+
## Conventions
|
|
12
|
+
|
|
13
|
+
- **Front matter:** `name`, `status` (`proposed | active | done | archived`), `created`, `decisions` (DDR IDs).
|
|
14
|
+
- **Task IDs:** `T1, T2, …` so `/flow:resume` can re-enter mid-flow.
|
|
15
|
+
- **Cross-links:** plan links to the PRD section it implements and to DDRs it depends on.
|
|
16
|
+
- **Archive on `/flow:done`,** not on completion of the last task — `archive/` means "shipped, link permanent."
|
|
File without changes
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Release Guide — PROJECT_NAME
|
|
2
|
+
|
|
3
|
+
> Walked step-by-step by `/flow:release`. Each `##` heading is a step; bash blocks are candidate commands (the slash command asks before running each). Edit this file to match how **your** project actually releases — the runbook is plain Markdown, no schema.
|
|
4
|
+
|
|
5
|
+
## Pre-flight
|
|
6
|
+
|
|
7
|
+
- [ ] On `main` with clean working tree (`git status` empty)
|
|
8
|
+
- [ ] Latest CI green on `main`
|
|
9
|
+
- [ ] At least one `.changeset/*.md` (or equivalent) since previous tag
|
|
10
|
+
- [ ] You have publish permissions for the package(s) being released
|
|
11
|
+
|
|
12
|
+
## Version bump
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# CHANGELOG_PROVIDER_VERSION_CMD
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Tag & push
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# CHANGELOG_PROVIDER_TAG_CMD
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Publish
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# CHANGELOG_PROVIDER_PUBLISH_CMD
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Post-release
|
|
31
|
+
|
|
32
|
+
- [ ] Announce in #releases (Slack / Discord / etc.)
|
|
33
|
+
- [ ] Update tracker tickets to `released` status
|
|
34
|
+
- [ ] Bump dependent repos / docs site if applicable
|
|
35
|
+
- [ ] Verify the published artifact (e.g. `npm view <pkg> version`, smoke install in scratch dir)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Reviews
|
|
2
|
+
|
|
3
|
+
Code-review snapshots and retrospectives. Output of `/flow:review-code` and `/flow:record-retro`.
|
|
4
|
+
|
|
5
|
+
## File naming
|
|
6
|
+
|
|
7
|
+
- Code reviews: `YYYY-MM-DD-<feature-slug>.md`
|
|
8
|
+
- Retrospectives: `YYYY-MM-DD-retro-<feature-slug>.md`
|
|
9
|
+
|
|
10
|
+
## What goes here
|
|
11
|
+
|
|
12
|
+
- Findings from pre-commit `/flow:review-code` (verdicts, suggestions, follow-ups).
|
|
13
|
+
- Retro notes after `/flow:done` — what worked, what didn't, what to change in the workflow loop itself.
|
|
14
|
+
|
|
15
|
+
These are durable. Don't truncate; later retros benefit from older patterns.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Scenarios
|
|
2
|
+
|
|
3
|
+
Cross-platform UI scenarios. One folder per scenario; per-run reports inside.
|
|
4
|
+
|
|
5
|
+
## Layout
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
scenarios/
|
|
9
|
+
├── _lib/ — shared helpers (selectors, fixtures, env)
|
|
10
|
+
└── <scenario-slug>/
|
|
11
|
+
├── spec.md — what the flow does, success criteria, platform matrix
|
|
12
|
+
└── <YYYY-MM-DD-HHMM>/
|
|
13
|
+
├── report.md — TL;DR + per-platform pivot table + counter deltas
|
|
14
|
+
├── web-desktop/ — screenshots, logs
|
|
15
|
+
├── web-mobile/
|
|
16
|
+
├── ios-phone/
|
|
17
|
+
└── android-phone/
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Conventions
|
|
21
|
+
|
|
22
|
+
- **Scenario slug:** kebab-case, action-oriented (`coach-creates-recurring-practice`, `signup-via-invite`).
|
|
23
|
+
- **Run timestamp:** local time of the run start. Latest run = lexicographically last folder.
|
|
24
|
+
- **Report format:** owned by the `scenario` skill — see plugin docs.
|
|
25
|
+
|
|
26
|
+
Run with `/flow:scenario <slug>` (registered scenarios) or `/flow:scenario <ad-hoc description>` (one-off).
|
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Workflow State
|
|
2
|
+
|
|
3
|
+
> The workflow-state skill in the flow plugin owns the schema and rules.
|
|
4
|
+
|
|
5
|
+
**Workflow:** ad-hoc
|
|
6
|
+
**Phase:** intake
|
|
7
|
+
**Status:** ready
|
|
8
|
+
**Started:** YYYY-MM-DD
|
|
9
|
+
**Updated:** YYYY-MM-DD HH:MM
|
|
10
|
+
**Active task:** —
|
|
11
|
+
**Active plan:** —
|
|
12
|
+
|
|
13
|
+
## Decisions
|
|
14
|
+
|
|
15
|
+
- (none — full DDRs live in `.ai/decisions/`)
|
|
16
|
+
|
|
17
|
+
## Blockers
|
|
18
|
+
|
|
19
|
+
- (none)
|
|
20
|
+
|
|
21
|
+
## History
|
|
22
|
+
|
|
23
|
+
| When | Phase | Note |
|
|
24
|
+
| ---- | ----- | ---- |
|
|
25
|
+
| | | |
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# HANDOFF
|
|
2
|
+
|
|
3
|
+
> Transient file. Created on `/flow:pause`, removed on `/flow:resume`. Do not commit standalone.
|
|
4
|
+
|
|
5
|
+
**Created:** YYYY-MM-DD HH:MM
|
|
6
|
+
**Reason:** <why paused — end of session, context switch, blocker>
|
|
7
|
+
|
|
8
|
+
## Active feature
|
|
9
|
+
|
|
10
|
+
<name + path to plan>
|
|
11
|
+
|
|
12
|
+
## Last task
|
|
13
|
+
|
|
14
|
+
<T<n>: description, status>
|
|
15
|
+
|
|
16
|
+
## Next step
|
|
17
|
+
|
|
18
|
+
A concrete action. Command, file, line. Specific enough that the resumer can pick up directly.
|
|
19
|
+
|
|
20
|
+
## Open questions / blockers
|
|
21
|
+
|
|
22
|
+
- <bullet>
|
|
23
|
+
|
|
24
|
+
## Files touched (uncommitted)
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
<git status --short output>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Recent thinking
|
|
31
|
+
|
|
32
|
+
1–2 paragraphs. Trail of thought, so the resumer can pick up the direction.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../plugins/flow/.claude-plugin/config.schema.json",
|
|
3
|
+
"name": "PROJECT_NAME",
|
|
4
|
+
"language": "en",
|
|
5
|
+
"theme": "agnostic",
|
|
6
|
+
"paths": {
|
|
7
|
+
"prd": ".ai/PROJECT_NAME-prd.md",
|
|
8
|
+
"designSystem": ".ai/PROJECT_NAME-design-system.md",
|
|
9
|
+
"codebaseMap": ".ai/context/codebase-map.md"
|
|
10
|
+
},
|
|
11
|
+
"platforms": ["web-desktop"],
|
|
12
|
+
"stack": {
|
|
13
|
+
"language": "unknown",
|
|
14
|
+
"framework": "unknown",
|
|
15
|
+
"packageManager": "unknown",
|
|
16
|
+
"buildTool": "none",
|
|
17
|
+
"monorepo": false,
|
|
18
|
+
"ci": "unknown",
|
|
19
|
+
"tests": "unknown",
|
|
20
|
+
"css": "unknown",
|
|
21
|
+
"router": "unknown"
|
|
22
|
+
},
|
|
23
|
+
"conventions": {
|
|
24
|
+
"branchingModel": "github-flow",
|
|
25
|
+
"commits": "conventional",
|
|
26
|
+
"prohibited": []
|
|
27
|
+
},
|
|
28
|
+
"boundaries": {
|
|
29
|
+
"realtime": [],
|
|
30
|
+
"video": [],
|
|
31
|
+
"api": [],
|
|
32
|
+
"db": [],
|
|
33
|
+
"auth": [],
|
|
34
|
+
"telemetry": [],
|
|
35
|
+
"payments": []
|
|
36
|
+
},
|
|
37
|
+
"motion": {
|
|
38
|
+
"micro": 300,
|
|
39
|
+
"page": 500,
|
|
40
|
+
"complex": 1000,
|
|
41
|
+
"customPulses": {}
|
|
42
|
+
},
|
|
43
|
+
"responsive": {
|
|
44
|
+
"approach": "mobile-first",
|
|
45
|
+
"densityMap": {
|
|
46
|
+
"web-desktop": "cozy"
|
|
47
|
+
},
|
|
48
|
+
"breakpoints": { "sm": 480, "md": 768, "lg": 1024, "xl": 1280, "2xl": 1536 }
|
|
49
|
+
},
|
|
50
|
+
"ux": {
|
|
51
|
+
"responseTargetMs": 100,
|
|
52
|
+
"bilingual": []
|
|
53
|
+
},
|
|
54
|
+
"security": {
|
|
55
|
+
"severityFloor": "medium",
|
|
56
|
+
"scope": ["classic", "ai", "supply-chain"],
|
|
57
|
+
"includeAi": true
|
|
58
|
+
},
|
|
59
|
+
"skills": {
|
|
60
|
+
"motionRules": { "enabled": true },
|
|
61
|
+
"responsiveRules": { "enabled": true },
|
|
62
|
+
"a11yRules": { "enabled": true },
|
|
63
|
+
"testingRules": { "enabled": true },
|
|
64
|
+
"debuggingRules": { "enabled": true },
|
|
65
|
+
"securityRules": { "enabled": true }
|
|
66
|
+
},
|
|
67
|
+
"integrations": {
|
|
68
|
+
"tracker": { "provider": "none" },
|
|
69
|
+
"analytics": { "provider": "none" },
|
|
70
|
+
"ci": { "provider": "none" },
|
|
71
|
+
"design": { "provider": "none" },
|
|
72
|
+
"changelog": { "provider": "none" }
|
|
73
|
+
}
|
|
74
|
+
}
|