create-issflow 1.0.0 → 1.0.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.
Files changed (28) hide show
  1. package/README.md +56 -41
  2. package/bin/cli.js +259 -96
  3. package/package.json +28 -23
  4. package/template/.claude/agents/debugger.md +47 -47
  5. package/template/.claude/agents/e2e-runner.md +66 -56
  6. package/template/.claude/agents/implementer.md +75 -75
  7. package/template/.claude/agents/planner.md +71 -65
  8. package/template/.claude/agents/researcher.md +103 -103
  9. package/template/.claude/agents/synthesizer.md +72 -72
  10. package/template/.claude/agents/test-author.md +70 -70
  11. package/template/.claude/commands/log-decision.md +33 -33
  12. package/template/.claude/commands/log-issue.md +28 -28
  13. package/template/.claude/commands/overview.md +99 -98
  14. package/template/.claude/commands/phase.md +202 -191
  15. package/template/.claude/commands/quick.md +30 -30
  16. package/template/.claude/commands/replan.md +63 -63
  17. package/template/.claude/commands/store-wisdom.md +195 -194
  18. package/template/.claude/commands/synthesize.md +26 -26
  19. package/template/.claude/commands/unstuck.md +40 -40
  20. package/template/.claude/hooks/pre-compact.sh +25 -25
  21. package/template/.claude/hooks/session-start.sh +120 -120
  22. package/template/.claude/hooks/subagent-stop.sh +11 -11
  23. package/template/.claude/istartsoft-flow/METHODOLOGY.md +229 -214
  24. package/template/.claude/skills/caveman/SKILL.md +39 -39
  25. package/template/.claude/skills/grill-me/SKILL.md +10 -10
  26. package/template/.claude/skills/karpathy-guidelines/SKILL.md +34 -34
  27. package/template/.claude/skills/ux-design/SKILL.md +99 -0
  28. package/template/.claude/skills/ux-design/wireframe-template.md +95 -0
@@ -1,34 +1,34 @@
1
- ---
2
- name: karpathy-guidelines
3
- description: Coding and debugging discipline. Apply on every coding and debug task.
4
- ---
5
-
6
- # karpathy-guidelines
7
-
8
- Apply on every coding + debug task. Caveman ULTRA mode.
9
-
10
- ## Coding
11
- - Smallest change that works. No speculative abstraction. No "while I'm here".
12
- - Make it run, then make it right, then make it fast — in that order.
13
- - One concern per change. If the diff does two things, split it.
14
- - Read before write — understand the existing code path before editing.
15
- - Name things for what they are. Delete dead code, don't comment it out.
16
- - Prefer boring, obvious solutions over clever ones.
17
-
18
- ## Debugging
19
- - Reproduce first.
20
- - One hypothesis at a time. State it before changing anything.
21
- - Change one variable, observe, conclude. No shotgun edits.
22
- - Read the actual error and stack — top to bottom — before theorizing.
23
- - When stuck: the bug is somewhere you're sure it isn't. Check assumptions.
24
- - 3 failed attempts -> stop poking, go research.
25
-
26
- ## Honesty
27
- - Don't claim it works until you ran it.
28
- - "I don't know yet" is valid — say it instead of guessing.
29
- - A failing test is information. Don't edit the test to hide it.
30
- - Surface uncertainty to the orchestrator; don't paper over it.
31
-
32
- ## Verification
33
- - Every change gets run. Lint/typecheck/smoke at minimum.
34
- - The real test is written blind by test-author — your own run is just sanity.
1
+ ---
2
+ name: karpathy-guidelines
3
+ description: Coding and debugging discipline. Apply on every coding and debug task.
4
+ ---
5
+
6
+ # karpathy-guidelines
7
+
8
+ Apply on every coding + debug task. Caveman ULTRA mode.
9
+
10
+ ## Coding
11
+ - Smallest change that works. No speculative abstraction. No "while I'm here".
12
+ - Make it run, then make it right, then make it fast — in that order.
13
+ - One concern per change. If the diff does two things, split it.
14
+ - Read before write — understand the existing code path before editing.
15
+ - Name things for what they are. Delete dead code, don't comment it out.
16
+ - Prefer boring, obvious solutions over clever ones.
17
+
18
+ ## Debugging
19
+ - Reproduce first.
20
+ - One hypothesis at a time. State it before changing anything.
21
+ - Change one variable, observe, conclude. No shotgun edits.
22
+ - Read the actual error and stack — top to bottom — before theorizing.
23
+ - When stuck: the bug is somewhere you're sure it isn't. Check assumptions.
24
+ - 3 failed attempts -> stop poking, go research.
25
+
26
+ ## Honesty
27
+ - Don't claim it works until you ran it.
28
+ - "I don't know yet" is valid — say it instead of guessing.
29
+ - A failing test is information. Don't edit the test to hide it.
30
+ - Surface uncertainty to the orchestrator; don't paper over it.
31
+
32
+ ## Verification
33
+ - Every change gets run. Lint/typecheck/smoke at minimum.
34
+ - The real test is written blind by test-author — your own run is just sanity.
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: ux-design
3
+ description: >
4
+ The iStartSoft UX cookbook + wireframe baseline. A checklist an agent uses to
5
+ VALIDATE generated UI so it does not drift outside the design frame. Use on
6
+ every UI-facing task: building a screen/component, reviewing a UI diff, or
7
+ before a frontend phase closes. Triggers: "ui", "screen", "component",
8
+ "layout", "design", "ux", "wireframe", "responsive", "accessib", "a11y",
9
+ "ตรวจดีไซน์", "หน้าจอ".
10
+ ---
11
+
12
+ # ux-design — cookbook + wireframe frame
13
+
14
+ Caveman ULTRA mode. UI conforms to the FRAME. Build or change UI -> run this
15
+ cookbook before you call it done. Drift outside the wireframe = defect, not
16
+ creative liberty (METHODOLOGY hard rule 9).
17
+
18
+ Read `wireframe-template.md` (same dir) when starting a new screen — it is the
19
+ canonical low-fidelity baseline every screen must map to. Read it on demand only.
20
+
21
+ -----
22
+
23
+ ## When to apply
24
+
25
+ - Building a screen / page / component.
26
+ - Reviewing a UI diff (the "ตรวจ" pass).
27
+ - CLOSE gate of any frontend phase — the cookbook check MUST pass.
28
+
29
+ Order: **wireframe first** (does the layout match the baseline frame?) ->
30
+ **cookbook** (do the details obey the system?). Never invent layout the
31
+ wireframe does not have. If the design truly needs a frame the wireframe lacks,
32
+ STOP and update the wireframe baseline first (a design decision -> `log-decision`).
33
+
34
+ -----
35
+
36
+ ## The cookbook (check every item)
37
+
38
+ ### 1. Design tokens — no raw values
39
+ - Color / spacing / radius / type / shadow come from named tokens, never
40
+ hard-coded hex / px literals scattered in components.
41
+ - One source of truth (CSS vars / theme file). New token? add it to the source,
42
+ don't inline it.
43
+
44
+ ### 2. Spacing scale — 8pt grid
45
+ - All spacing is a multiple of 4px, prefer 8 (4 · 8 · 12 · 16 · 24 · 32 · 48 · 64).
46
+ - No magic margins (`margin: 7px`). Off-grid spacing is a defect.
47
+
48
+ ### 3. Type scale
49
+ - A fixed, named ramp (e.g. xs/sm/base/lg/xl/2xl). No arbitrary font-sizes.
50
+ - Line-height ≥ 1.4 for body. One primary font family + a fallback stack.
51
+
52
+ ### 4. Accessibility — WCAG 2.1 AA (non-negotiable)
53
+ - Text contrast ≥ **4.5:1** (≥ 3:1 for large text ≥ 24px / 19px-bold + UI/icon).
54
+ - Every interactive element: keyboard-reachable, visible focus ring, ≥ 44×44px hit area.
55
+ - Semantic HTML (`button`/`nav`/`main`/`label`), not `div` soup. Inputs have labels.
56
+ - Images have `alt`; icon-only buttons have `aria-label`.
57
+ - Color is never the ONLY signal (add text/icon for state).
58
+
59
+ ### 5. Component inventory — reuse, don't reinvent
60
+ - Use an existing component before creating one. New component? it earns a place
61
+ in the inventory + the wireframe legend.
62
+ - One component = one responsibility.
63
+
64
+ ### 6. State matrix — every interactive element covers all states
65
+ - `default · hover · focus · active · disabled · loading · error · empty`.
66
+ - Lists/data views handle: **empty**, **loading (skeleton)**, **error**, **partial**.
67
+ - No dead-end empty states (always an action or explanation).
68
+
69
+ ### 7. Responsive breakpoints
70
+ - Mobile-first. Honor the project breakpoints (XS < 640 · SM 640 · MD 768 ·
71
+ LG 1024 · XL 1280). Layout must not break or overflow between them.
72
+ - No fixed widths that overflow small screens. Touch targets hold on mobile.
73
+
74
+ ### 8. Content & i18n
75
+ - No hard-coded user-facing strings — go through the i18n layer.
76
+ - Text can grow ~30% (translation) without breaking layout. Numbers/dates/currency
77
+ are locale-formatted.
78
+
79
+ ### 9. Feedback & motion
80
+ - Every async action has visible feedback (spinner/skeleton/toast) within ~100ms.
81
+ - Destructive actions confirm. Motion is subtle, respects `prefers-reduced-motion`.
82
+
83
+ -----
84
+
85
+ ## RETURN FORMAT (the "ตรวจ" verdict)
86
+
87
+ ```
88
+ UX CHECK: <screen/component>
89
+ - wireframe match: PASS | DRIFT (<what left the frame>)
90
+ - tokens/spacing/type: PASS | FAIL (<which raw values>)
91
+ - a11y (WCAG AA): PASS | FAIL (<contrast/keyboard/semantic gap>)
92
+ - states covered: <list missing, or "all">
93
+ - responsive: PASS | FAIL (<breakpoint that breaks>)
94
+ - i18n: PASS | FAIL
95
+ - VERDICT: PASS | BLOCK (frontend phase cannot close)
96
+ ```
97
+
98
+ Sources behind these defaults: WCAG 2.1 AA, Material Design 3 (semantic tokens),
99
+ Apple HIG, Shopify Polaris. See `docs/research/design-ux-cookbook-wireframe-pattern.md`.
@@ -0,0 +1,95 @@
1
+ # Wireframe baseline — canonical prototype frame
2
+
3
+ The low-fidelity reference every screen maps to BEFORE pixels exist. Copy a block
4
+ per screen, fill the `[...]`. The agent validates generated UI against this frame
5
+ (METHODOLOGY hard rule 9). Anything the screen renders that this frame does not
6
+ describe is **drift** — fix the UI or, if the frame is genuinely missing, update
7
+ this file first (`log-decision`).
8
+
9
+ Keep it low fidelity on purpose: boxes + intent, not styling. Styling lives in the
10
+ design tokens / cookbook, not here.
11
+
12
+ -----
13
+
14
+ ## Global frame (applies to all screens)
15
+
16
+ ```
17
+ +--------------------------------------------------+
18
+ | [top bar: logo · primary nav · account ] | <- persistent
19
+ +--------------------------------------------------+
20
+ | [breadcrumb / page title ] |
21
+ | |
22
+ | [ MAIN CONTENT REGION ] |
23
+ | |
24
+ +--------------------------------------------------+
25
+ | [footer / status ] |
26
+ +--------------------------------------------------+
27
+ ```
28
+
29
+ - Breakpoints: nav collapses to a menu below MD (768px). Content single-column
30
+ below SM (640px).
31
+ - Every screen declares: its route, its primary action, its empty/loading/error
32
+ rendering.
33
+
34
+ -----
35
+
36
+ ## Screen template (copy per screen)
37
+
38
+ ```
39
+ ### Screen: [name]
40
+ - Route: [/path]
41
+ - Goal (one line): [what the user accomplishes here]
42
+ - Primary action: [the single most important button/intent]
43
+ - Entry points: [how the user arrives]
44
+ - Exit / next: [where they go after the primary action]
45
+
46
+ Layout (regions, top -> bottom):
47
+ 1. [region] — [content + which components from the inventory]
48
+ 2. [region] — [...]
49
+ 3. [region] — [...]
50
+
51
+ States:
52
+ - loading: [skeleton of which regions]
53
+ - empty: [message + the recovery action — never a dead end]
54
+ - error: [message + retry]
55
+ - success: [confirmation / what changes on screen]
56
+
57
+ Data in / out:
58
+ - reads: [endpoints from docs/ENDPOINTS.md]
59
+ - writes: [endpoints]
60
+
61
+ Responsive notes:
62
+ - mobile: [what stacks / hides / becomes a sheet]
63
+ - desktop: [what spreads out]
64
+
65
+ A11y notes:
66
+ - focus order: [logical tab order]
67
+ - landmarks: [main / nav / form labels]
68
+ ```
69
+
70
+ -----
71
+
72
+ ## Component legend (the inventory the wireframe references)
73
+
74
+ List every reusable block a screen may place. A screen MAY ONLY use components
75
+ named here; a new one is added here first.
76
+
77
+ ```
78
+ [Button] — primary | secondary | ghost | destructive
79
+ [Input] — text | select | date | search (always labelled)
80
+ [Card] — header + body + optional actions
81
+ [Table/List] — has empty + loading + error states baked in
82
+ [Modal/Sheet] — confirm | form ; sheet on mobile
83
+ [Toast] — success | error | info (async feedback)
84
+ [Nav] — top bar (desktop) -> menu (mobile)
85
+ [...add project components here...]
86
+ ```
87
+
88
+ -----
89
+
90
+ ## How to use (agent)
91
+
92
+ 1. New screen -> write its block above from the PLAN acceptance spec.
93
+ 2. Build the screen to match the block (layout + states + data + a11y).
94
+ 3. Run the `ux-design` cookbook check. Verdict BLOCK -> fix before CLOSE.
95
+ 4. Frame too small for a real need -> update this file + `log-decision`, then build.