sdtk-kit 0.3.8 → 1.0.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.
Files changed (113) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +123 -177
  3. package/package.json +52 -46
  4. package/scripts/postinstall.js +40 -0
  5. package/assets/manifest/toolkit-bundle.manifest.json +0 -473
  6. package/assets/manifest/toolkit-bundle.sha256.txt +0 -93
  7. package/assets/toolkit/toolkit/AGENTS.md +0 -131
  8. package/assets/toolkit/toolkit/install.ps1 +0 -270
  9. package/assets/toolkit/toolkit/runtimes/claude/CLAUDE_TEMPLATE.md +0 -54
  10. package/assets/toolkit/toolkit/runtimes/codex/CODEX_TEMPLATE.md +0 -32
  11. package/assets/toolkit/toolkit/scripts/init-feature.ps1 +0 -261
  12. package/assets/toolkit/toolkit/scripts/install-claude-skills.ps1 +0 -129
  13. package/assets/toolkit/toolkit/scripts/install-codex-skills.ps1 +0 -189
  14. package/assets/toolkit/toolkit/scripts/uninstall-claude-skills.ps1 +0 -139
  15. package/assets/toolkit/toolkit/scripts/uninstall-codex-skills.ps1 +0 -116
  16. package/assets/toolkit/toolkit/sdtk.config.json +0 -28
  17. package/assets/toolkit/toolkit/sdtk.config.profiles.example.json +0 -50
  18. package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/SKILL.md +0 -84
  19. package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/references/API_DESIGN_CREATION_RULES.md +0 -22
  20. package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/references/API_DESIGN_FLOWCHART_CREATION_RULES.md +0 -468
  21. package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/references/FLOWCHART_CREATION_RULES.md +0 -20
  22. package/assets/toolkit/toolkit/skills/sdtk-api-design-spec/scripts/generate_api_design_detail.py +0 -656
  23. package/assets/toolkit/toolkit/skills/sdtk-api-doc/SKILL.md +0 -43
  24. package/assets/toolkit/toolkit/skills/sdtk-api-doc/references/API_DESIGN_FLOWCHART_CREATION_RULES.md +0 -468
  25. package/assets/toolkit/toolkit/skills/sdtk-api-doc/references/FLOWCHART_CREATION_RULES.md +0 -20
  26. package/assets/toolkit/toolkit/skills/sdtk-api-doc/references/YAML_CREATION_RULES.md +0 -128
  27. package/assets/toolkit/toolkit/skills/sdtk-arch/SKILL.md +0 -83
  28. package/assets/toolkit/toolkit/skills/sdtk-arch/references/API_DESIGN_CREATION_RULES.md +0 -22
  29. package/assets/toolkit/toolkit/skills/sdtk-arch/references/API_DESIGN_FLOWCHART_CREATION_RULES.md +0 -468
  30. package/assets/toolkit/toolkit/skills/sdtk-arch/references/FLOWCHART_CREATION_RULES.md +0 -20
  31. package/assets/toolkit/toolkit/skills/sdtk-arch/references/FLOW_ACTION_SPEC_CREATION_RULES.md +0 -200
  32. package/assets/toolkit/toolkit/skills/sdtk-arch/references/YAML_CREATION_RULES.md +0 -128
  33. package/assets/toolkit/toolkit/skills/sdtk-ba/SKILL.md +0 -29
  34. package/assets/toolkit/toolkit/skills/sdtk-design-layout/SKILL.md +0 -41
  35. package/assets/toolkit/toolkit/skills/sdtk-design-layout/scripts/render_design_layout_images.py +0 -213
  36. package/assets/toolkit/toolkit/skills/sdtk-dev/SKILL.md +0 -90
  37. package/assets/toolkit/toolkit/skills/sdtk-dev/prompts/code-quality-reviewer.md +0 -35
  38. package/assets/toolkit/toolkit/skills/sdtk-dev/prompts/implementer.md +0 -61
  39. package/assets/toolkit/toolkit/skills/sdtk-dev/prompts/spec-reviewer.md +0 -42
  40. package/assets/toolkit/toolkit/skills/sdtk-dev-backend/SKILL.md +0 -21
  41. package/assets/toolkit/toolkit/skills/sdtk-dev-frontend/SKILL.md +0 -19
  42. package/assets/toolkit/toolkit/skills/sdtk-orchestrator/SKILL.md +0 -80
  43. package/assets/toolkit/toolkit/skills/sdtk-pm/SKILL.md +0 -30
  44. package/assets/toolkit/toolkit/skills/sdtk-qa/SKILL.md +0 -53
  45. package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/SKILL.md +0 -73
  46. package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/references/FLOW_ACTION_SPEC_CREATION_RULES.md +0 -200
  47. package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/references/excel-image-export.md +0 -51
  48. package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/references/figma-mcp.md +0 -54
  49. package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/references/numbering-rules.md +0 -76
  50. package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/scripts/renumber_flow_action_spec_global.py +0 -136
  51. package/assets/toolkit/toolkit/skills/sdtk-screen-design-spec/scripts/validate_flow_action_spec_numbering.py +0 -249
  52. package/assets/toolkit/toolkit/skills/sdtk-test-case-spec/SKILL.md +0 -74
  53. package/assets/toolkit/toolkit/skills/sdtk-test-case-spec/references/TEST_CASE_CREATION_RULES.md +0 -129
  54. package/assets/toolkit/toolkit/skills/sdtk-test-case-spec/scripts/validate_test_case_spec.py +0 -97
  55. package/assets/toolkit/toolkit/skills/skills.catalog.yaml +0 -302
  56. package/assets/toolkit/toolkit/skills-claude/api-design-spec/SKILL.md +0 -76
  57. package/assets/toolkit/toolkit/skills-claude/api-doc/SKILL.md +0 -47
  58. package/assets/toolkit/toolkit/skills-claude/arch/SKILL.md +0 -72
  59. package/assets/toolkit/toolkit/skills-claude/ba/SKILL.md +0 -50
  60. package/assets/toolkit/toolkit/skills-claude/design-layout/SKILL.md +0 -25
  61. package/assets/toolkit/toolkit/skills-claude/dev/SKILL.md +0 -45
  62. package/assets/toolkit/toolkit/skills-claude/dev-backend/SKILL.md +0 -20
  63. package/assets/toolkit/toolkit/skills-claude/dev-frontend/SKILL.md +0 -18
  64. package/assets/toolkit/toolkit/skills-claude/orchestrator/SKILL.md +0 -63
  65. package/assets/toolkit/toolkit/skills-claude/pm/SKILL.md +0 -52
  66. package/assets/toolkit/toolkit/skills-claude/qa/SKILL.md +0 -48
  67. package/assets/toolkit/toolkit/skills-claude/screen-design-spec/SKILL.md +0 -68
  68. package/assets/toolkit/toolkit/skills-claude/test-case-spec/SKILL.md +0 -61
  69. package/assets/toolkit/toolkit/templates/QUALITY_CHECKLIST.md +0 -124
  70. package/assets/toolkit/toolkit/templates/README.md +0 -63
  71. package/assets/toolkit/toolkit/templates/SHARED_PLANNING.md +0 -80
  72. package/assets/toolkit/toolkit/templates/docs/api/API_DESIGN_CREATION_RULES.md +0 -22
  73. package/assets/toolkit/toolkit/templates/docs/api/API_DESIGN_DETAIL_TEMPLATE.md +0 -67
  74. package/assets/toolkit/toolkit/templates/docs/api/API_DESIGN_FLOWCHART_CREATION_RULES.md +0 -468
  75. package/assets/toolkit/toolkit/templates/docs/api/API_ENDPOINTS_TEMPLATE.md +0 -229
  76. package/assets/toolkit/toolkit/templates/docs/api/FEATURE_API_TEMPLATE.yaml +0 -20
  77. package/assets/toolkit/toolkit/templates/docs/api/FLOWCHART_CREATION_RULES.md +0 -20
  78. package/assets/toolkit/toolkit/templates/docs/api/YAML_CREATION_RULES.md +0 -128
  79. package/assets/toolkit/toolkit/templates/docs/api/feature_api_flow_list_TEMPLATE.txt +0 -12
  80. package/assets/toolkit/toolkit/templates/docs/architecture/ARCH_DESIGN_TEMPLATE.md +0 -109
  81. package/assets/toolkit/toolkit/templates/docs/database/DATABASE_SPEC_TEMPLATE.md +0 -175
  82. package/assets/toolkit/toolkit/templates/docs/design/DESIGN_LAYOUT_TEMPLATE.md +0 -49
  83. package/assets/toolkit/toolkit/templates/docs/dev/FEATURE_IMPL_PLAN_TEMPLATE.md +0 -73
  84. package/assets/toolkit/toolkit/templates/docs/product/BACKLOG_TEMPLATE.md +0 -50
  85. package/assets/toolkit/toolkit/templates/docs/product/PRD_TEMPLATE.md +0 -66
  86. package/assets/toolkit/toolkit/templates/docs/product/PROJECT_INITIATION_TEMPLATE.md +0 -98
  87. package/assets/toolkit/toolkit/templates/docs/qa/QA_RELEASE_REPORT_TEMPLATE.md +0 -61
  88. package/assets/toolkit/toolkit/templates/docs/qa/TEST_CASE_CREATION_RULES.md +0 -129
  89. package/assets/toolkit/toolkit/templates/docs/qa/TEST_CASE_TEMPLATE.md +0 -104
  90. package/assets/toolkit/toolkit/templates/docs/specs/BA_SPEC_TEMPLATE.md +0 -139
  91. package/assets/toolkit/toolkit/templates/docs/specs/FLOW_ACTION_SPEC_CREATION_RULES.md +0 -200
  92. package/assets/toolkit/toolkit/templates/docs/specs/FLOW_ACTION_SPEC_TEMPLATE.md +0 -172
  93. package/assets/toolkit/toolkit/templates/handoffs/ARCH_TO_DEV.md +0 -31
  94. package/assets/toolkit/toolkit/templates/handoffs/BA_TO_ARCH.md +0 -28
  95. package/assets/toolkit/toolkit/templates/handoffs/DEV_STAGE1_SPEC_REVIEW.md +0 -26
  96. package/assets/toolkit/toolkit/templates/handoffs/DEV_STAGE2_CODE_QUALITY_REVIEW.md +0 -20
  97. package/assets/toolkit/toolkit/templates/handoffs/DEV_TO_QA.md +0 -23
  98. package/assets/toolkit/toolkit/templates/handoffs/PM_TO_BA.md +0 -26
  99. package/assets/toolkit/toolkit/templates/handoffs/QA_RELEASE_DECISION.md +0 -21
  100. package/bin/sdtk.js +0 -15
  101. package/src/commands/auth.js +0 -85
  102. package/src/commands/generate.js +0 -177
  103. package/src/commands/help.js +0 -101
  104. package/src/commands/init.js +0 -97
  105. package/src/commands/runtime.js +0 -217
  106. package/src/index.js +0 -59
  107. package/src/lib/args.js +0 -116
  108. package/src/lib/errors.js +0 -41
  109. package/src/lib/github-access.js +0 -68
  110. package/src/lib/powershell.js +0 -85
  111. package/src/lib/scope.js +0 -68
  112. package/src/lib/state.js +0 -83
  113. package/src/lib/toolkit-payload.js +0 -99
@@ -1,200 +0,0 @@
1
- # Flow Action Spec Creation Rules for AI Agents
2
-
3
- This document defines reusable rules for creating and updating screen flow-action specifications
4
- (for example `docs/specs/*_FLOW_ACTION_SPEC.md`).
5
-
6
- ## 1. Scope and Goal
7
-
8
- - Produce a screen-level specification that is traceable from BA/ARCH to FE/BE implementation.
9
- - Keep one source of truth for:
10
- - screen flow
11
- - UI items and actions
12
- - API calls per action
13
- - screen-to-API mapping
14
- - Keep documentation implementation-aware and review-friendly.
15
-
16
- ## 2. Mandatory Document Structure
17
-
18
- A flow-action spec should include, at minimum:
19
-
20
- 1. `Abbreviations`
21
- 2. `Feature overview`
22
- 3. `Assumptions`
23
- 4. `Screen flow action` (with PlantUML)
24
- 5. `Screen layout spec by flow action`
25
- 6. `System processing flow`
26
- 7. `Open questions`
27
- 8. `Screen - API mapping`
28
- 9. `Document history`
29
-
30
- If a section is not in scope, keep the section and mark explicitly as `N/A` with reason.
31
-
32
- ## 3. Table Standards
33
-
34
- - Every table must include a `No` column (sequential numbering).
35
- - Use stable headers for action tables:
36
- - `No | Item Name | Item Type | Attribute | DB Column | Size | Default Value | Action | Description | Note`
37
- - Use stable headers for API mapping tables:
38
- - `No | Trigger/When | UI item (No / Item Name) | API to call | Data usage / Notes`
39
- - Use stable headers for screen mapping:
40
- - `No | Screen (section) | Screen ID | Read/Search APIs | Write APIs | Notes / Q&A refs`
41
- - Table rows must keep column count consistent with the header (no broken or merged rows).
42
- - Avoid single-line merged content that collapses multiple logical items into one table row.
43
-
44
- ### 3.1 Action Table Mapping Completion Rules
45
-
46
- - After API endpoint spec and database spec are available, the action-table columns `Attribute`, `DB Column`, `Size`, and `Default Value` must not be left blank when the mapping can be derived from current source-of-truth inputs.
47
- - Fill these four columns only after the relevant API contract and DB schema are stable enough to be treated as the current source of truth for the active phase.
48
- - Source priority for filling the four columns:
49
- 1. `docs/api/*_ENDPOINTS.md` and OpenAPI YAML for request/response contract
50
- 2. `docs/database/DATABASE_SPEC_*.md` for physical column names, nullability, storage shape, and query-source aliases
51
- 3. confirmed flow/business rules for default state and behavior
52
- 4. design source (Figma/Excel) for screen label and control type only
53
- - `Attribute` rules:
54
- - input item: use the canonical request payload path
55
- - display item: use the canonical response path
56
- - UI-only item: use `ui.*` namespace
57
- - `DB Column` rules:
58
- - use physical DB column names or query-source aliases from the API/database spec
59
- - if multiple columns participate, list them explicitly
60
- - if the control is UI-only, write `N/A`
61
- - `Size` rules:
62
- - document data format/type, not pixel width
63
- - prefer canonical forms such as `uuid`, `DATE (YYYY-MM-DD)`, `DATETIME`, `TIME (HH:mm)`, `boolean`, `array[uuid]`, `enum(...)`, `JSON string`
64
- - prefer DB storage type first; if not available, fall back to API schema type/format
65
- - `Default Value` rules:
66
- - use confirmed business, UI, or runtime defaults
67
- - if the default comes from settings or environment, state that clearly
68
- - if not finalized, use `TBD` and keep or raise an open-question reference in `Note`
69
- - If screen labels conflict with canonical API/DB naming, preserve the original screen label in the visible screen columns, but keep `Attribute` and `DB Column` aligned to API/DB source of truth and explain the mismatch in `Note`.
70
-
71
- ### 3.2 Language and Encoding Standards (EN Artifacts)
72
-
73
- - For EN artifacts (`docs/en/**` or explicitly requested EN version), narrative text must be English.
74
- - JP labels, if provided by the input, should be kept in a clearly marked appendix or note column, not in the default item table columns.
75
- - Do not leave mixed-language fragments in one sentence/cell (for example VI+EN mixed text).
76
- - If original VI/JP text is required for traceability, keep it in a clearly marked appendix block (`Original Text`), then provide EN translation.
77
- - Save files as UTF-8 and avoid mojibake/broken glyphs (`�`, `ↁE`, garbled sequences).
78
- - Keep canonical terminology stable across documents (for example: `bukken`, `sagyo`, `customer employee`).
79
-
80
- ### 3.3 Markdown Structure Hygiene
81
-
82
- - Keep each heading on its own line; do not concatenate multiple headings/sections on one line.
83
- - Keep metadata blocks (`Information`, `Note`, `Behavior notes`) as structured bullet blocks, not single compressed lines.
84
- - Keep image, table, and separator (`---`) boundaries explicit to preserve parser/render stability.
85
-
86
- ### 3.4 Assumptions Section
87
-
88
- - Every flow-action spec must include a top-level `## Assumptions` section.
89
- - Use this table format exactly: `# | Assumption | Verified | Risk if wrong`.
90
- - Keep assumptions explicit when downstream mapping or behavior depends on an unresolved decision.
91
- - If an assumption affects UI behavior, API mapping, or DB mapping, reflect the risk in `Note` and keep or raise the related `OQ-xx` item.
92
-
93
- ## 4. Item Numbering and Duplication Rules
94
-
95
- - Use one numbering mode only: `global across document`.
96
- - Number values must increase across all action tables in the document.
97
- - Avoid duplicate item descriptions for the same UI control across screens unless behavior differs.
98
- - If duplicate number is intentional (rare), annotate reason in `Note`.
99
-
100
- ## 5. Screen Section Rules
101
-
102
- For each screen section:
103
-
104
- - Provide metadata:
105
- - official screen name
106
- - Screen ID
107
- - Design Source Type
108
- - Design Source Reference
109
- - Embed one representative image per screen (from Figma, screenshot, or generated layout).
110
- - Provide one action table.
111
- - Provide one API mapping table.
112
- - If a screen has dialogs, create explicit dialog sub-sections with their own tables and API mapping.
113
-
114
- ## 5.1 Design Source Modes
115
-
116
- Each screen section must declare a design source using one of these modes:
117
-
118
- | Mode | When | Design Source Reference |
119
- |------|------|----------------------|
120
- | `source-backed` | Figma URL or screenshot is available | Figma URL or screenshot path |
121
- | `generated-draft` | No Figma/screenshot, but feature has UI scope | Section reference in `docs/design/DESIGN_LAYOUT_[FEATURE_KEY].md` |
122
- | `none` | Feature has no UI scope for this screen | State `N/A - no UI scope` |
123
-
124
- Rules:
125
- - For UI-scope features, `none` is only valid when the specific screen truly has no visual layout.
126
- - When using `generated-draft`, the `DESIGN_LAYOUT_[FEATURE_KEY].md` must exist before the flow-action spec is finalized.
127
- - The flow-action spec and the design-layout doc must remain separate documents.
128
- - When Figma becomes available later, update the source mode from `generated-draft` to `source-backed`.
129
-
130
- ## 6. API Traceability Rules
131
-
132
- - Every actionable UI event that changes state must map to a write API.
133
- - Every data-loading UI event must map to a read/search API.
134
- - If one endpoint serves multiple actions (initial load, search, refresh), state this explicitly.
135
- - If no API is called for an action, state `No API` and explain why.
136
-
137
- ## 7. PlantUML Rules for Screen Flow
138
-
139
- - Use valid PlantUML syntax and renderability checks before handoff.
140
- - Use `\\n` for multi-line labels in nodes.
141
- - Keep diagram at navigation/action level (not low-level SQL or backend internals).
142
- - Ensure screen names in PlantUML match section names in layout spec.
143
-
144
- ## 8. Data Source and Asset Rules
145
-
146
- - Prioritize source order:
147
- 1. Confirmed design source (for example Figma)
148
- 2. Confirmed requirement files (Excel/spec)
149
- 3. User-provided screenshots
150
- - Store images in repository-relative paths.
151
- - Do not keep temporary local absolute paths in markdown.
152
-
153
- ### 8.1 Rendered Screen Images for Generated-Draft Screens
154
-
155
- When `Design Source Type` is `generated-draft`:
156
- - Screen preview images may be rendered from `DESIGN_LAYOUT_[FEATURE_KEY].md` PlantUML SALT wireframes.
157
- - Renderer: `toolkit/skills/sdtk-design-layout/scripts/render_design_layout_images.py`
158
- - Expected output path: `docs/specs/assets/<feature_snake>/screens/<screen_id>.svg`
159
- - If the rendered `.svg` file exists, use it as the `Screen image:` reference.
160
- - If rendering is unavailable or the `.svg` does not exist, replace the image line with:
161
- `> Screen image not rendered in this environment. See Design Source Reference for layout.`
162
- - Do not leave a broken image reference pointing to a non-existent file.
163
-
164
- ## 9. Consistency with Other Specs
165
-
166
- - Align terms with:
167
- - BA spec glossary
168
- - API endpoints spec
169
- - Database spec
170
- - If terminology differs across docs, raise an open question and add a temporary mapping note.
171
- - Keep endpoint paths in flow-action spec consistent with API endpoint spec.
172
-
173
- ## 10. Open Questions and Uncertainty Handling
174
-
175
- - Capture unresolved items in `Open questions` table.
176
- - Do not invent UI behavior or API contracts when source is ambiguous.
177
- - Mark uncertain mappings as `Draft` and include impacted files/sections.
178
-
179
- ## 11. Change Management
180
-
181
- - On each update:
182
- - update impacted screen sections
183
- - update API mapping tables
184
- - update screen-to-API mapping summary
185
- - append one row in document history
186
- - Never overwrite past history rows.
187
-
188
- ## 12. Final Checklist Before Handoff
189
-
190
- - PlantUML renders successfully.
191
- - All mandatory sections exist.
192
- - All tables include `No`.
193
- - Numbering is global across the document (no resets).
194
- - No broken image links (for `generated-draft` screens: `.svg` exists or render-skipped note is present).
195
- - Screen/API mappings are consistent with `*_ENDPOINTS.md`.
196
- - Assumptions section exists and unresolved assumptions are traceable.
197
- - Open questions are explicit and traceable.
198
- - For EN artifact: no leftover VI text outside allowed `Original Text` appendix blocks.
199
- - No mojibake/encoding corruption markers.
200
- - Headings/tables are structurally clean (no merged lines that break readability/traceability).
@@ -1,172 +0,0 @@
1
- # {{FEATURE_NAME}} - Screen Flow Action Specification
2
-
3
- **Document ID:** {{FEATURE_KEY}}_FLOW_ACTION_SPEC
4
- **Version:** 1.0.0
5
- **Date:** {{DATE}}
6
- **Author:** ARCH Agent
7
- **Status:** DRAFT
8
- **Related Specs:** `docs/specs/BA_SPEC_{{FEATURE_KEY}}.md`, `docs/api/{{FEATURE_KEY}}_ENDPOINTS.md`, `docs/database/DATABASE_SPEC_{{FEATURE_KEY}}.md`
9
-
10
- ---
11
-
12
- ## Abbreviations
13
-
14
- | No | Abbreviation | Meaning |
15
- | ---: | --- | --- |
16
- | 1 | UI | User Interface |
17
- | 2 | UX | User Experience |
18
- | 3 | API | Application Programming Interface |
19
- | 4 | FE | Frontend |
20
- | 5 | BE | Backend |
21
- | 6 | OQ | Open Question |
22
-
23
- ---
24
-
25
- ## 1) Feature overview
26
-
27
- ### 1.1 Background and user needs
28
- - TBD
29
-
30
- ### 1.2 Target features in scope
31
- - TBD
32
-
33
- ### 1.3 Implementation direction
34
- - TBD
35
-
36
- ## Assumptions
37
-
38
- | # | Assumption | Verified | Risk if wrong |
39
- | ---: | --- | --- | --- |
40
- | 1 | TBD | No | TBD |
41
-
42
- ---
43
-
44
- ## 2) Screen flow action
45
-
46
- ### 2.1 Flow diagram (PlantUML)
47
-
48
- ```plantuml
49
- @startuml
50
- left to right direction
51
- skinparam shadowing false
52
- skinparam packageStyle rectangle
53
-
54
- rectangle "Screen A" as A
55
- rectangle "Screen B" as B
56
- rectangle "Dialog C" as C
57
-
58
- A --> B : action
59
- B --> C : open dialog
60
- @enduml
61
- ```
62
-
63
- ### 2.2 Mapping to major screens
64
-
65
- | No | Screen Group | Screen Name | Screen ID | Notes |
66
- | ---: | --- | --- | --- | --- |
67
- | 1 | Main | Screen A | SCR-01 | TBD |
68
- | 2 | Main | Screen B | SCR-02 | TBD |
69
-
70
- ---
71
-
72
- ## 3) Screen layout spec by flow action
73
-
74
- > Standard item table format:
75
- > `No | Item Name | Item Type | Attribute | DB Column | Size | Default Value | Action | Description | Note`
76
-
77
- ### 3.1 Screen A
78
-
79
- Information:
80
- - Screen ID: SCR-01
81
- - Design Source Type: source-backed | generated-draft | none
82
- - Design Source Reference: Figma URL | screenshot path | `docs/design/DESIGN_LAYOUT_{{FEATURE_KEY}}.md` section reference | `N/A - no UI scope`
83
-
84
- Screen image:
85
- ![3.1 Screen A](assets/{{FEATURE_SNAKE}}/screens/scr_01.svg)
86
-
87
- <!-- If the .svg file does not exist (render unavailable), replace the image line above with: -->
88
- <!-- > Screen image not rendered in this environment. See Design Source Reference for layout. -->
89
-
90
- | No | Item Name | Item Type | Attribute | DB Column | Size | Default Value | Action | Description | Note |
91
- | ---: | --- | --- | --- | --- | --- | --- | --- | --- | --- |
92
- | 1 | Item A | Button | - | - | - | - | Click | TBD | TBD |
93
- | 2 | Item B | Input | string | column_a | 100 | empty | Input | TBD | TBD |
94
-
95
- #### API Mapping (Draft)
96
-
97
- | No | Trigger/When | UI item (No / Item Name) | API to call | Data usage / Notes |
98
- | ---: | --- | --- | --- | --- |
99
- | 1 | Initial load | Main area | `GET /api/...` | Load initial dataset |
100
- | 2 | Click search | No 1 | `POST /api/.../search` | Refresh grid |
101
-
102
- ---
103
-
104
- ### 3.2 Screen B
105
-
106
- Information:
107
- - Screen ID: SCR-02
108
- - Design Source Type: source-backed | generated-draft | none
109
- - Design Source Reference: Figma URL | screenshot path | `docs/design/DESIGN_LAYOUT_{{FEATURE_KEY}}.md` section reference | `N/A - no UI scope`
110
-
111
- Screen image:
112
- ![3.2 Screen B](assets/{{FEATURE_SNAKE}}/screens/scr_02.svg)
113
-
114
- <!-- If the .svg file does not exist (render unavailable), replace the image line above with: -->
115
- <!-- > Screen image not rendered in this environment. See Design Source Reference for layout. -->
116
-
117
- | No | Item Name | Item Type | Attribute | DB Column | Size | Default Value | Action | Description | Note |
118
- | ---: | --- | --- | --- | --- | --- | --- | --- | --- | --- |
119
- | 3 | Item C | Toggle | boolean | flag_a | - | false | Toggle | TBD | TBD |
120
-
121
- #### API Mapping (Draft)
122
-
123
- | No | Trigger/When | UI item (No / Item Name) | API to call | Data usage / Notes |
124
- | ---: | --- | --- | --- | --- |
125
- | 1 | Change mode | No 3 | `POST /api/.../edit/{uuid}` | Persist mode |
126
-
127
- ---
128
-
129
- ## 4) System processing flow
130
-
131
- ### 4.1 Initial load
132
- 1. Validate screen permissions.
133
- 2. Load settings/profile context.
134
- 3. Load main dataset.
135
-
136
- ### 4.2 Create/Update/Delete flow
137
- 1. Validate request.
138
- 2. Execute write API.
139
- 3. Refresh read dataset.
140
-
141
- ---
142
-
143
- ## 5) Notes
144
-
145
- - Keep item numbering strategy explicit (`global` or `per-screen`).
146
- - Do not duplicate item descriptions across screens unless behavior differs.
147
-
148
- ---
149
-
150
- ## 6) Open questions
151
-
152
- | No | Scope | Question | Impact |
153
- | ---: | --- | --- | --- |
154
- | 1 | UI | TBD | TBD |
155
- | 2 | API | TBD | TBD |
156
-
157
- ---
158
-
159
- ## 7) Screen - API Mapping
160
-
161
- | No | Screen (section) | Screen ID | Read/Search APIs | Write APIs | Notes / Q&A refs |
162
- | ---: | --- | --- | --- | --- | --- |
163
- | 1 | 3.1 Screen A | SCR-01 | `GET /api/...` | `POST /api/...` | TBD |
164
- | 2 | 3.2 Screen B | SCR-02 | `POST /api/.../search` | `POST /api/.../edit/{uuid}` | TBD |
165
-
166
- ---
167
-
168
- ## Document History
169
-
170
- | No | Version | Date | Author | Changes |
171
- | ---: | --- | --- | --- | --- |
172
- | 1 | 1.0.0 | {{DATE}} | ARCH Agent | Initial template-based version |
@@ -1,31 +0,0 @@
1
- # ARCH to DEV Handoff
2
-
3
- ## Required Inputs
4
- - `docs/architecture/ARCH_DESIGN_[FEATURE_KEY].md`
5
- - `docs/product/BACKLOG_[FEATURE_KEY].md`
6
- - when applicable:
7
- - `docs/api/[FeaturePascal]_API.yaml`
8
- - `docs/api/[FEATURE_KEY]_ENDPOINTS.md`
9
- - `docs/database/DATABASE_SPEC_[FEATURE_KEY].md`
10
- - `docs/design/DESIGN_LAYOUT_[FEATURE_KEY].md`
11
- - `docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md`
12
-
13
- ## Required Outputs
14
- - `docs/dev/FEATURE_IMPL_PLAN_[FEATURE_KEY].md`
15
- - code and tests
16
- - Stage 1 and Stage 2 review evidence before QA handoff
17
-
18
- ## Mandatory Checks
19
- - ARCH outputs are current and reference the same feature scope.
20
- - UI scope includes `DESIGN_LAYOUT` before `FLOW_ACTION_SPEC`.
21
- - API and DB source-of-truth files are available when implementation depends on them.
22
-
23
- ## Forbidden Shortcuts
24
- - Do not start implementation before `FEATURE_IMPL_PLAN` is written and approved.
25
- - Do not treat architecture assumptions as verified facts without citing the source.
26
-
27
- ## Handoff Message Shape
28
- - Feature: `[FEATURE_KEY]`
29
- - Required implementation slice: file or module scope
30
- - Required proving checks: test or lint or build commands
31
- - Upstream blockers or assumptions: explicit list
@@ -1,28 +0,0 @@
1
- # BA to ARCH Handoff
2
-
3
- ## Required Inputs
4
- - `docs/specs/BA_SPEC_[FEATURE_KEY].md`
5
- - `docs/product/PRD_[FEATURE_KEY].md`
6
- - `docs/product/BACKLOG_[FEATURE_KEY].md`
7
- - current `SHARED_PLANNING.md`
8
-
9
- ## Required Outputs
10
- - `docs/architecture/ARCH_DESIGN_[FEATURE_KEY].md`
11
- - API, DB, and UI design artifacts when in scope
12
- - updated `SHARED_PLANNING.md`
13
- - updated `QUALITY_CHECKLIST.md`
14
-
15
- ## Mandatory Checks
16
- - `REQ -> UC/BR/AC` traceability exists in BA output.
17
- - unresolved `OQ-xx` items are visible to ARCH.
18
- - ARCH knows whether API, DB, and UI scope are required.
19
-
20
- ## Forbidden Shortcuts
21
- - Do not jump into implementation details before architecture scope is mapped.
22
- - Do not hide unresolved business rules inside architecture assumptions.
23
-
24
- ## Handoff Message Shape
25
- - Feature: `[FEATURE_KEY]`
26
- - In-scope use cases: `UC-xx`
27
- - Key business rules: `BR-xx`
28
- - Blocking open questions: `OQ-xx` or `None`
@@ -1,26 +0,0 @@
1
- # DEV Stage 1 Spec Review
2
-
3
- ## Required Inputs
4
- - implementation diff or changed files
5
- - `docs/specs/BA_SPEC_[FEATURE_KEY].md`
6
- - `docs/api/[FeaturePascal]_API.yaml` and `docs/api/[FEATURE_KEY]_ENDPOINTS.md` when API scope exists
7
- - `docs/specs/[FEATURE_KEY]_FLOW_ACTION_SPEC.md` when UI scope exists
8
- - `docs/database/DATABASE_SPEC_[FEATURE_KEY].md` when data scope exists
9
-
10
- ## Required Outputs
11
- - PASS or FAIL verdict
12
- - mismatch table with exact file references
13
- - explicit handoff decision to Stage 2 or back to DEV
14
-
15
- ## Mandatory Checks
16
- - code matches BA, API, DB, and flow-action requirements line by line
17
- - missing mappings and drift are called out explicitly
18
- - unresolved assumptions that affect behavior are treated as blockers
19
-
20
- ## Verification Evidence
21
- - quote the exact specification text before declaring a match or mismatch
22
- - use: `Spec says: "[exact quote]" -> Evidence: [match/mismatch + file reference]`
23
-
24
- ## Forbidden Shortcuts
25
- - Do not start with style or maintainability feedback.
26
- - Do not trust the implementer report without checking artifacts directly.
@@ -1,20 +0,0 @@
1
- # DEV Stage 2 Code Quality Review
2
-
3
- ## Required Inputs
4
- - Stage 1 review result marked PASS
5
- - implementation diff or changed files
6
- - relevant test or lint outputs
7
-
8
- ## Required Outputs
9
- - PASS or FAIL verdict
10
- - quality findings with file references
11
- - recommendation for QA handoff readiness
12
-
13
- ## Mandatory Checks
14
- - Stage 1 spec review already passed
15
- - naming, structure, tests, and maintainability are reviewed
16
- - verification commands cited are fresh and relevant to the current diff
17
-
18
- ## Forbidden Shortcuts
19
- - Do not reopen Stage 1 requirement matching as a substitute for quality review.
20
- - Do not declare QA-ready without confirming Stage 1 PASS and fresh verification evidence.
@@ -1,23 +0,0 @@
1
- # DEV to QA Handoff
2
-
3
- ## Required Inputs
4
- - `docs/dev/FEATURE_IMPL_PLAN_[FEATURE_KEY].md`
5
- - implementation diff summary
6
- - Stage 1 spec review PASS evidence
7
- - Stage 2 code-quality review PASS evidence
8
- - fresh test or lint outputs used for QA handoff
9
-
10
- ## Required Outputs
11
- - QA test scope
12
- - explicit release-risk notes
13
- - updated `SHARED_PLANNING.md`
14
- - updated `QUALITY_CHECKLIST.md`
15
-
16
- ## Mandatory Checks
17
- - both DEV review gates are PASS
18
- - verification evidence is fresh
19
- - known limitations or assumptions are recorded, not hidden
20
-
21
- ## Forbidden Shortcuts
22
- - Do not hand off to QA with only one review gate complete.
23
- - Do not describe expected behavior as if it were verified runtime evidence.
@@ -1,26 +0,0 @@
1
- # PM to BA Handoff
2
-
3
- ## Required Inputs
4
- - `docs/product/PROJECT_INITIATION_[FEATURE_KEY].md`
5
- - source requirement notes or attachments
6
- - current `SHARED_PLANNING.md`
7
-
8
- ## Required Outputs
9
- - `docs/specs/BA_SPEC_[FEATURE_KEY].md`
10
- - updated `SHARED_PLANNING.md`
11
- - updated `QUALITY_CHECKLIST.md`
12
-
13
- ## Mandatory Checks
14
- - `REQ-xx` scope is explicit and testable.
15
- - in-scope and out-of-scope are visible.
16
- - unresolved ambiguities are logged as `OQ-xx`, not hidden.
17
-
18
- ## Forbidden Shortcuts
19
- - Do not skip glossary, BR, UC, AC, or traceability expectations.
20
- - Do not invent missing stakeholder decisions without logging them.
21
-
22
- ## Handoff Message Shape
23
- - Feature: `[FEATURE_KEY]`
24
- - PM scope summary: 3 to 7 bullets
25
- - Known open questions: `OQ-xx` list or `None`
26
- - Expected BA focus: rules, use cases, acceptance criteria, NFRs
@@ -1,21 +0,0 @@
1
- # QA Release Decision
2
-
3
- ## Required Inputs
4
- - `docs/qa/QA_RELEASE_REPORT_[FEATURE_KEY].md`
5
- - Stage 1 and Stage 2 DEV review PASS evidence
6
- - fresh proving checks or benchmark-mode evidence
7
- - open defect list with severity
8
-
9
- ## Required Outputs
10
- - `APPROVED` or `REJECTED`
11
- - explicit evidence summary
12
- - unresolved risks and assumptions list
13
-
14
- ## Mandatory Checks
15
- - verdict is backed by fresh command evidence or benchmark policy
16
- - specification quotes are used for requirement-based validation
17
- - defects and known gaps are visible in the decision
18
-
19
- ## Forbidden Shortcuts
20
- - Do not issue `APPROVED` based on planned checks.
21
- - Do not hide environment limitations; state when runtime verification was not possible.
package/bin/sdtk.js DELETED
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- "use strict";
4
-
5
- const { run } = require("../src/index");
6
-
7
- run(process.argv.slice(2))
8
- .then((exitCode) => {
9
- process.exitCode = Number.isInteger(exitCode) ? exitCode : 0;
10
- })
11
- .catch((error) => {
12
- console.error(`sdtk: ${error.message}`);
13
- process.exitCode =
14
- typeof error.exitCode === "number" ? error.exitCode : 4;
15
- });
@@ -1,85 +0,0 @@
1
- "use strict";
2
-
3
- const { clearAuthState, readAuthState, writeAuthState } = require("../lib/state");
4
- const { parseFlags } = require("../lib/args");
5
- const { checkRepoAccess } = require("../lib/github-access");
6
- const { ValidationError } = require("../lib/errors");
7
-
8
- const FLAG_DEFS = {
9
- token: { type: "string" },
10
- status: { type: "boolean" },
11
- logout: { type: "boolean" },
12
- verify: { type: "boolean" },
13
- };
14
-
15
- /**
16
- * Redact a token for safe display (show first 4 chars only).
17
- */
18
- function redactToken(token) {
19
- if (!token || token.length < 8) return "****";
20
- return token.slice(0, 4) + "****";
21
- }
22
-
23
- async function cmdAuth(args) {
24
- const { flags } = parseFlags(args, FLAG_DEFS);
25
-
26
- if (flags.status) {
27
- const state = readAuthState();
28
- if (!state.authenticated) {
29
- console.log("Auth status: not authenticated");
30
- console.log('Run "sdtk auth --token <value>" to authenticate.');
31
- return 1;
32
- }
33
- console.log("Auth status: authenticated");
34
- console.log(`Token: ${redactToken(state.token)}`);
35
- return 0;
36
- }
37
-
38
- if (flags.logout) {
39
- clearAuthState();
40
- console.log("Auth state cleared.");
41
- return 0;
42
- }
43
-
44
- // Process --token first, then optionally --verify in the same invocation.
45
- // This supports: sdtk auth --token <value> --verify
46
- if (flags.token) {
47
- const { path: authFile, hardened } = writeAuthState(flags.token);
48
- if (hardened) {
49
- console.log("Token stored securely.");
50
- } else {
51
- console.log("Token stored (file permission hardening was not applied).");
52
- }
53
- console.log(`Auth file: ${authFile}`);
54
-
55
- if (flags.verify) {
56
- console.log("");
57
- console.log("Verifying repository access...");
58
- const result = await checkRepoAccess(flags.token);
59
- console.log(result.message);
60
- return result.hasAccess ? 0 : 1;
61
- }
62
-
63
- console.log('Run "sdtk auth --verify" to check repository access.');
64
- return 0;
65
- }
66
-
67
- if (flags.verify) {
68
- const state = readAuthState();
69
- if (!state.authenticated) {
70
- console.log("Not authenticated. Store a token first with --token.");
71
- return 1;
72
- }
73
- const result = await checkRepoAccess(state.token);
74
- console.log(result.message);
75
- return result.hasAccess ? 0 : 1;
76
- }
77
-
78
- throw new ValidationError(
79
- "Usage: sdtk auth --token <value> [--verify] | --status | --logout"
80
- );
81
- }
82
-
83
- module.exports = {
84
- cmdAuth,
85
- };