ai-spector 0.1.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 (168) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +150 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +173 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/analyze.d.ts +9 -0
  8. package/dist/commands/analyze.d.ts.map +1 -0
  9. package/dist/commands/analyze.js +62 -0
  10. package/dist/commands/analyze.js.map +1 -0
  11. package/dist/commands/bootstrap.d.ts +4 -0
  12. package/dist/commands/bootstrap.d.ts.map +1 -0
  13. package/dist/commands/bootstrap.js +58 -0
  14. package/dist/commands/bootstrap.js.map +1 -0
  15. package/dist/commands/graph-impact.d.ts +10 -0
  16. package/dist/commands/graph-impact.d.ts.map +1 -0
  17. package/dist/commands/graph-impact.js +31 -0
  18. package/dist/commands/graph-impact.js.map +1 -0
  19. package/dist/commands/graph-merge.d.ts +11 -0
  20. package/dist/commands/graph-merge.d.ts.map +1 -0
  21. package/dist/commands/graph-merge.js +88 -0
  22. package/dist/commands/graph-merge.js.map +1 -0
  23. package/dist/commands/graph-query.d.ts +10 -0
  24. package/dist/commands/graph-query.d.ts.map +1 -0
  25. package/dist/commands/graph-query.js +31 -0
  26. package/dist/commands/graph-query.js.map +1 -0
  27. package/dist/commands/graph-visualize.d.ts +10 -0
  28. package/dist/commands/graph-visualize.d.ts.map +1 -0
  29. package/dist/commands/graph-visualize.js +72 -0
  30. package/dist/commands/graph-visualize.js.map +1 -0
  31. package/dist/commands/init.d.ts +6 -0
  32. package/dist/commands/init.d.ts.map +1 -0
  33. package/dist/commands/init.js +47 -0
  34. package/dist/commands/init.js.map +1 -0
  35. package/dist/commands/validate.d.ts +10 -0
  36. package/dist/commands/validate.d.ts.map +1 -0
  37. package/dist/commands/validate.js +89 -0
  38. package/dist/commands/validate.js.map +1 -0
  39. package/dist/config/load.d.ts +21 -0
  40. package/dist/config/load.d.ts.map +1 -0
  41. package/dist/config/load.js +77 -0
  42. package/dist/config/load.js.map +1 -0
  43. package/dist/config/types.d.ts +22 -0
  44. package/dist/config/types.d.ts.map +1 -0
  45. package/dist/config/types.js +2 -0
  46. package/dist/config/types.js.map +1 -0
  47. package/dist/graph/InMemoryGraph.d.ts +20 -0
  48. package/dist/graph/InMemoryGraph.d.ts.map +1 -0
  49. package/dist/graph/InMemoryGraph.js +181 -0
  50. package/dist/graph/InMemoryGraph.js.map +1 -0
  51. package/dist/graph/defaults.d.ts +10 -0
  52. package/dist/graph/defaults.d.ts.map +1 -0
  53. package/dist/graph/defaults.js +10 -0
  54. package/dist/graph/defaults.js.map +1 -0
  55. package/dist/graph/impact.d.ts +32 -0
  56. package/dist/graph/impact.d.ts.map +1 -0
  57. package/dist/graph/impact.js +88 -0
  58. package/dist/graph/impact.js.map +1 -0
  59. package/dist/graph/knowledge.d.ts +53 -0
  60. package/dist/graph/knowledge.d.ts.map +1 -0
  61. package/dist/graph/knowledge.js +79 -0
  62. package/dist/graph/knowledge.js.map +1 -0
  63. package/dist/graph/load.d.ts +4 -0
  64. package/dist/graph/load.d.ts.map +1 -0
  65. package/dist/graph/load.js +12 -0
  66. package/dist/graph/load.js.map +1 -0
  67. package/dist/graph/loadGraph.d.ts +3 -0
  68. package/dist/graph/loadGraph.d.ts.map +1 -0
  69. package/dist/graph/loadGraph.js +7 -0
  70. package/dist/graph/loadGraph.js.map +1 -0
  71. package/dist/graph/merge.d.ts +15 -0
  72. package/dist/graph/merge.d.ts.map +1 -0
  73. package/dist/graph/merge.js +63 -0
  74. package/dist/graph/merge.js.map +1 -0
  75. package/dist/graph/query.d.ts +18 -0
  76. package/dist/graph/query.d.ts.map +1 -0
  77. package/dist/graph/query.js +132 -0
  78. package/dist/graph/query.js.map +1 -0
  79. package/dist/registry/build.d.ts +3 -0
  80. package/dist/registry/build.d.ts.map +1 -0
  81. package/dist/registry/build.js +53 -0
  82. package/dist/registry/build.js.map +1 -0
  83. package/dist/registry/slug.d.ts +4 -0
  84. package/dist/registry/slug.d.ts.map +1 -0
  85. package/dist/registry/slug.js +16 -0
  86. package/dist/registry/slug.js.map +1 -0
  87. package/dist/types.d.ts +45 -0
  88. package/dist/types.d.ts.map +1 -0
  89. package/dist/types.js +2 -0
  90. package/dist/types.js.map +1 -0
  91. package/dist/util/fs.d.ts +6 -0
  92. package/dist/util/fs.d.ts.map +1 -0
  93. package/dist/util/fs.js +24 -0
  94. package/dist/util/fs.js.map +1 -0
  95. package/dist/util/paths.d.ts +16 -0
  96. package/dist/util/paths.d.ts.map +1 -0
  97. package/dist/util/paths.js +19 -0
  98. package/dist/util/paths.js.map +1 -0
  99. package/dist/visualize/html.d.ts +13 -0
  100. package/dist/visualize/html.d.ts.map +1 -0
  101. package/dist/visualize/html.js +374 -0
  102. package/dist/visualize/html.js.map +1 -0
  103. package/dist/visualize/stats.d.ts +21 -0
  104. package/dist/visualize/stats.d.ts.map +1 -0
  105. package/dist/visualize/stats.js +45 -0
  106. package/dist/visualize/stats.js.map +1 -0
  107. package/documents.json +64 -0
  108. package/package.json +65 -0
  109. package/scaffold/.ai-spector/.docflow/config/analyze.graphify.json +40 -0
  110. package/scaffold/.ai-spector/.docflow/config/completeness-rules.basic-design.json +18 -0
  111. package/scaffold/.ai-spector/.docflow/config/completeness-rules.detail-design.json +57 -0
  112. package/scaffold/.ai-spector/.docflow/config/completeness-rules.srs.json +72 -0
  113. package/scaffold/.ai-spector/.docflow/config/dag.basic-design.json +38 -0
  114. package/scaffold/.ai-spector/.docflow/config/dag.detail-design.json +64 -0
  115. package/scaffold/.ai-spector/.docflow/config/dag.srs.json +87 -0
  116. package/scaffold/.ai-spector/.docflow/config/data-source.json +5 -0
  117. package/scaffold/.ai-spector/.docflow/config/index.docs.json +22 -0
  118. package/scaffold/.ai-spector/.docflow/config/workflow.dependencies.json +271 -0
  119. package/scaffold/.ai-spector/.docflow/extract/patch.example.json +20 -0
  120. package/scaffold/.ai-spector/.docflow/state.json +11 -0
  121. package/scaffold/.ai-spector/docflow.config.json +7 -0
  122. package/scaffold/.ai-spector/index/README.md +18 -0
  123. package/scaffold/.ai-spector/index/basic-design.md +5 -0
  124. package/scaffold/.ai-spector/index/srs.md +5 -0
  125. package/scaffold/.cursor/commands/_cli-failures.md +110 -0
  126. package/scaffold/.cursor/commands/_graph.md +48 -0
  127. package/scaffold/.cursor/commands/_prerequisites.md +48 -0
  128. package/scaffold/.cursor/commands/_workflow.md +50 -0
  129. package/scaffold/.cursor/commands/analyze.md +92 -0
  130. package/scaffold/.cursor/commands/generate-basic-design.md +26 -0
  131. package/scaffold/.cursor/commands/generate-detail-design.md +19 -0
  132. package/scaffold/.cursor/commands/generate-srs.md +63 -0
  133. package/scaffold/.cursor/commands/graph-impact.md +45 -0
  134. package/scaffold/.cursor/commands/index-docs.md +36 -0
  135. package/scaffold/.cursor/commands/sync-graph.md +30 -0
  136. package/scaffold/.cursor/commands/validate-graph.md +28 -0
  137. package/scaffold/.cursor/commands/visualize-graph.md +24 -0
  138. package/scaffold/.cursor/skills/ai-spector/SKILL.md +39 -0
  139. package/scaffold/docs/data-source/README.md +7 -0
  140. package/schemas/rules.impact.json +17 -0
  141. package/schemas/rules.traceability.json +30 -0
  142. package/schemas/schema.extract-patch.json +19 -0
  143. package/schemas/schema.graph.json +83 -0
  144. package/schemas/schema.knowledge.json +107 -0
  145. package/templates/basic_design/db-design-template.md +177 -0
  146. package/templates/basic_design/detail-api-template.md +278 -0
  147. package/templates/basic_design/detail-screen-template.md +281 -0
  148. package/templates/basic_design/list-api-template.md +130 -0
  149. package/templates/basic_design/list-screen-template.md +242 -0
  150. package/templates/detail_design/common/architecture-overview-template.md +302 -0
  151. package/templates/detail_design/common/deployment-infrastructure-template.md +461 -0
  152. package/templates/detail_design/common/error-handling-patterns-template.md +460 -0
  153. package/templates/detail_design/common/integration-patterns-template.md +410 -0
  154. package/templates/detail_design/common/performance-standards-template.md +406 -0
  155. package/templates/detail_design/common/security-patterns-template.md +395 -0
  156. package/templates/detail_design/feature-detail-design-template.md +773 -0
  157. package/templates/detail_design/feature-list-template.md +39 -0
  158. package/templates/srs/1-introduction.md +58 -0
  159. package/templates/srs/2-overall-description.md +91 -0
  160. package/templates/srs/3-use-case-detail-template.md +142 -0
  161. package/templates/srs/3-use-cases.md +53 -0
  162. package/templates/srs/4-system-feature-detail-template.md +131 -0
  163. package/templates/srs/4-system-features-list-template.md +39 -0
  164. package/templates/srs/5-data-requirements.md +59 -0
  165. package/templates/srs/6-external-interfaces.md +56 -0
  166. package/templates/srs/7-quality-attributes.md +74 -0
  167. package/templates/srs/8-internationalization.md +36 -0
  168. package/templates/srs/9-other-requirements.md +46 -0
@@ -0,0 +1,278 @@
1
+ # API Detail: <Project Name>
2
+
3
+ > This document specifies detailed request/response schemas, path/query parameters, and error handling for each API endpoint. For the endpoint list and overview, see the API List document.
4
+
5
+ **Source Requirements:** SRS Section 4 (System Features), Section 6.2 (Software Interfaces)
6
+
7
+ ---
8
+
9
+ ## 1. Detailed Endpoint Specifications
10
+
11
+ ### 1.1 `POST /resource`
12
+
13
+ **Summary:** <Brief description>
14
+
15
+ **Operation ID:** `createResource`
16
+
17
+ **Source Requirement:** SRS Section <X.X> - <Feature Name>
18
+
19
+ **Authentication:** Required
20
+
21
+ **Request:**
22
+
23
+ **Headers:**
24
+ ```
25
+ Authorization: Bearer <token>
26
+ Content-Type: application/json
27
+ ```
28
+
29
+ **Body Schema:**
30
+ ```json
31
+ {
32
+ "field1": "<type>",
33
+ "field2": "<type>",
34
+ "field3": "<type>"
35
+ }
36
+ ```
37
+
38
+ **Field Descriptions:**
39
+
40
+ | Field | Type | Required | Validation | Description |
41
+ |-------|------|----------|------------|-------------|
42
+ | `field1` | `<type>` | Yes | <Validation rules> | <Description> |
43
+ | `field2` | `<type>` | No | <Validation rules> | <Description> |
44
+
45
+ **Example Request:**
46
+ ```json
47
+ {
48
+ "field1": "value1",
49
+ "field2": "value2"
50
+ }
51
+ ```
52
+
53
+ **Responses:**
54
+
55
+ **201 Created:**
56
+ ```json
57
+ {
58
+ "id": 123,
59
+ "status": "success",
60
+ "message": "<Message>"
61
+ }
62
+ ```
63
+
64
+ **400 Bad Request:**
65
+ ```json
66
+ {
67
+ "error": "validation_error",
68
+ "message": "<Error message>",
69
+ "details": [
70
+ {
71
+ "field": "field1",
72
+ "message": "<Field-specific error>"
73
+ }
74
+ ]
75
+ }
76
+ ```
77
+
78
+ **401 Unauthorized:**
79
+ ```json
80
+ {
81
+ "error": "unauthorized",
82
+ "message": "Authentication required"
83
+ }
84
+ ```
85
+
86
+ **500 Internal Server Error:**
87
+ ```json
88
+ {
89
+ "error": "internal_error",
90
+ "message": "<Error message>"
91
+ }
92
+ ```
93
+
94
+ ---
95
+
96
+ ### 1.2 `GET /resource/{id}`
97
+
98
+ **Summary:** <Brief description>
99
+
100
+ **Operation ID:** `getResource`
101
+
102
+ **Source Requirement:** SRS Section <X.X>
103
+
104
+ **Authentication:** Required
105
+
106
+ **Path Parameters:**
107
+
108
+ | Parameter | Type | Required | Description |
109
+ |-----------|------|----------|-------------|
110
+ | `id` | integer | Yes | Resource identifier |
111
+
112
+ **Query Parameters:**
113
+
114
+ | Parameter | Type | Required | Description |
115
+ |-----------|------|----------|-------------|
116
+ | `include` | string | No | Related resources to include |
117
+ | `fields` | string | No | Fields to return |
118
+
119
+ **Responses:**
120
+
121
+ **200 OK:**
122
+ ```json
123
+ {
124
+ "id": 123,
125
+ "field1": "value1",
126
+ "field2": "value2",
127
+ "created_at": "2025-01-01T00:00:00Z"
128
+ }
129
+ ```
130
+
131
+ **404 Not Found:**
132
+ ```json
133
+ {
134
+ "error": "not_found",
135
+ "message": "Resource not found"
136
+ }
137
+ ```
138
+
139
+ ---
140
+
141
+ ### 1.3 `PUT /resource/{id}`
142
+
143
+ **Summary:** <Brief description>
144
+
145
+ **Operation ID:** `updateResource`
146
+
147
+ **Authentication:** Required
148
+
149
+ **Path Parameters:**
150
+ - `id`: Resource identifier
151
+
152
+ **Request Body:**
153
+ > Similar structure to POST
154
+
155
+ **Responses:**
156
+ > Similar structure to GET/POST
157
+
158
+ ---
159
+
160
+ ### 1.4 `DELETE /resource/{id}`
161
+
162
+ **Summary:** <Brief description>
163
+
164
+ **Operation ID:** `deleteResource`
165
+
166
+ **Authentication:** Required
167
+
168
+ **Path Parameters:**
169
+ - `id`: Resource identifier
170
+
171
+ **Responses:**
172
+
173
+ **204 No Content:**
174
+ > Success response with no body
175
+
176
+ **404 Not Found:**
177
+ > Error response
178
+
179
+ ---
180
+
181
+ ## 2. Data Models
182
+
183
+ ### 2.1 Resource Model
184
+
185
+ **Description:** <Description of the data model>
186
+
187
+ **Schema:**
188
+ ```json
189
+ {
190
+ "id": "integer",
191
+ "field1": "string",
192
+ "field2": "integer",
193
+ "created_at": "datetime",
194
+ "updated_at": "datetime"
195
+ }
196
+ ```
197
+
198
+ **Field Details:**
199
+
200
+ | Field | Type | Description | Constraints |
201
+ |-------|------|-------------|-------------|
202
+ | `id` | integer | Unique identifier | Auto-generated |
203
+ | `field1` | string | <Description> | Max 255 chars |
204
+ | `field2` | integer | <Description> | Min 0, Max 100 |
205
+
206
+ ---
207
+
208
+ ## 3. Error Handling
209
+
210
+ **Standard Error Response Format:**
211
+ ```json
212
+ {
213
+ "error": "<error_code>",
214
+ "message": "<Human-readable message>",
215
+ "details": {
216
+ "<additional_info>": "<value>"
217
+ }
218
+ }
219
+ ```
220
+
221
+ **Error Codes:**
222
+
223
+ | Code | HTTP Status | Description |
224
+ |------|-------------|-------------|
225
+ | `validation_error` | 400 | Request validation failed |
226
+ | `unauthorized` | 401 | Authentication required |
227
+ | `forbidden` | 403 | Insufficient permissions |
228
+ | `not_found` | 404 | Resource not found |
229
+ | `conflict` | 409 | Resource conflict |
230
+ | `internal_error` | 500 | Server error |
231
+
232
+ ---
233
+
234
+ ## 4. Rate Limiting
235
+
236
+ **Limits:**
237
+ - <Limit description>
238
+
239
+ **Headers:**
240
+ ```
241
+ X-RateLimit-Limit: <number>
242
+ X-RateLimit-Remaining: <number>
243
+ X-RateLimit-Reset: <timestamp>
244
+ ```
245
+
246
+ **Response when limit exceeded:**
247
+ ```json
248
+ {
249
+ "error": "rate_limit_exceeded",
250
+ "message": "Too many requests",
251
+ "retry_after": 60
252
+ }
253
+ ```
254
+
255
+ ---
256
+
257
+ ## 5. Webhooks (if applicable)
258
+
259
+ **Events:**
260
+ - `<event_name>`: <Description>
261
+
262
+ **Payload Format:**
263
+ ```json
264
+ {
265
+ "event": "<event_name>",
266
+ "timestamp": "<ISO 8601>",
267
+ "data": {
268
+ "<resource_data>": "..."
269
+ }
270
+ }
271
+ ```
272
+
273
+ ---
274
+
275
+ ## 6. Future Enhancements
276
+
277
+ - <Enhancement 1>
278
+ - <Enhancement 2>
@@ -0,0 +1,281 @@
1
+ # Screen Detail:
2
+
3
+ > This document provides detailed layout, component, and interaction specifications for each screen. For the screen map and design system, see the Screen Map (List Screen) document. Use one section per screen; duplicate the structure below for each screen in the Screen Index.
4
+
5
+ **Source Requirements:** SRS Section 6.1 (User Interfaces)
6
+
7
+ ---
8
+
9
+ ## 1. Screen:
10
+
11
+ **Purpose:**
12
+
13
+ > Describe the purpose of this screen and what users can accomplish.
14
+
15
+ **User Role:**
16
+
17
+ **Source Requirements:** SRS Section <X.X> -
18
+
19
+ ### 1.1 Visual Wireframe
20
+
21
+ > Use ASCII art or grid-based layout to show the visual structure. You can also reference an image file or Figma link.
22
+
23
+ **Option 1: ASCII Wireframe**
24
+
25
+ ```
26
+ ┌─────────────────────────────────────────────────────────┐
27
+ │ [Logo] [User Menu] [Notifications] │ ← Header (60px)
28
+ ├──────────┬───────────────────────────────────────────────┤
29
+ │ │ │
30
+ │ Nav │ Main Content Area │
31
+ │ Menu │ ┌─────────────────┐ │
32
+ │ │ │ Card/Component │ │
33
+ │ Item 1 │ │ │ │
34
+ │ Item 2 │ └─────────────────┘ │
35
+ │ Item 3 │ ┌─────────────────┐ │
36
+ │ │ │ Card/Component │ │
37
+ │ │ │ │ │
38
+ │ │ └─────────────────┘ │
39
+ │ │ │
40
+ ├──────────┴───────────────────────────────────────────────┤
41
+ │ Footer Content │ ← Footer (40px)
42
+ └─────────────────────────────────────────────────────────┘
43
+ ```
44
+
45
+ **Option 2: Grid Layout Description**
46
+
47
+ ```
48
+ ┌─────────────────────────────────────────────────────────┐
49
+ │ HEADER (100% width, 60px height) │
50
+ │ [Logo: 200px] [Spacer] [User Menu: 150px] [Notif: 50px] │
51
+ ├─────────────────────────────────────────────────────────┤
52
+ │ SIDEBAR │ MAIN CONTENT (flex: 1) │
53
+ │ (250px) │ ┌───────────────────────────────────────────┐ │
54
+ │ │ │ STATS CARDS (3 columns, equal width) │ │
55
+ │ Nav │ │ [Card 1] [Card 2] [Card 3] │ │
56
+ │ Menu │ └───────────────────────────────────────────┘ │
57
+ │ │ ┌───────────────────────────────────────────┐ │
58
+ │ Item 1 │ │ TABLE/LIST (full width) │ │
59
+ │ Item 2 │ │ [Row 1] [Row 2] [Row 3] │ │
60
+ │ │ └───────────────────────────────────────────┘ │
61
+ └─────────┴───────────────────────────────────────────────┘
62
+ ```
63
+
64
+ **Option 3: Image Reference**
65
+
66
+ > **Wireframe Image:** `[screens/screen-name-wireframe.png]` or `[Figma Link]`
67
+ >
68
+ > **High-Fidelity Mockup:** `[screens/screen-name-mockup.png]` or `[Figma Link]`
69
+
70
+ ### 1.2 Layout Structure
71
+
72
+
73
+ | Component | Position | Width/Height | Description |
74
+ | ---------------- | --------------- | ------------ | ----------- |
75
+ | **Header** | Top | 100% × 60px | |
76
+ | **Navigation** | <Left/Side/Top> | 250px × auto | |
77
+ | **Main Content** | Center | flex: 1 | |
78
+ | **Sidebar** | <Right/Left> | 300px × auto | |
79
+ | **Footer** | Bottom | 100% × 40px | |
80
+
81
+
82
+ ### 1.3 Component Details
83
+
84
+ **Header:**
85
+
86
+ - Logo:
87
+ - User menu:
88
+ - Notifications:
89
+
90
+ **Main Content Area:**
91
+
92
+
93
+ | Component | Description | Visual Style |
94
+ | ------------------ | ----------- | ------------ |
95
+ | **Component Name** | Description | Style notes |
96
+
97
+
98
+ **Key Components:**
99
+
100
+ **Component Name:**
101
+
102
+ - **Purpose:** What it does
103
+ - **Visual Representation:**
104
+ ```
105
+ ┌─────────────────────────────┐
106
+ │ [Icon] Title Text │
107
+ │ ─────────────────────────── │
108
+ │ Content area │
109
+ │ [Button] [Button] │
110
+ └─────────────────────────────┘
111
+ ```
112
+ - **Elements:**
113
+ - <Element 1>: (Position: <top/left/right>, Size: )
114
+ - <Element 2>: (Position: <top/left/right>, Size: )
115
+ - **Visual Style:**
116
+ - Background:
117
+ - Border: <1px solid color>
118
+ - Padding: <16px>
119
+ - Margin: <8px>
120
+ - Border radius: <4px>
121
+ - **Dimensions:** <Width × Height>
122
+ - **Interaction:**
123
+
124
+ ### 1.4 User Interactions
125
+
126
+ **Primary Actions:**
127
+
128
+ - <Action 1>:
129
+ - <Action 2>:
130
+
131
+ **Navigation Flow:**
132
+
133
+ - From this screen, users can navigate to:
134
+ - <Screen/Page>:
135
+ - <Screen/Page>:
136
+
137
+ **Form Layout (if applicable):**
138
+
139
+ ```
140
+ ┌─────────────────────────────────────┐
141
+ │ Form Title │
142
+ │ ─────────────────────────────────── │
143
+ │ [Label] │
144
+ │ ┌─────────────────────────────────┐ │
145
+ │ │ Input Field │ │
146
+ │ └─────────────────────────────────┘ │
147
+ │ [Label] │
148
+ │ ┌─────────────────────────────────┐ │
149
+ │ │ Dropdown/Select │ │
150
+ │ └─────────────────────────────────┘ │
151
+ │ │
152
+ │ [Cancel] [Submit Button] │
153
+ └─────────────────────────────────────┘
154
+ ```
155
+
156
+ **Form Interactions:**
157
+
158
+ - :
159
+ - :
160
+
161
+ ### 1.5 Field Validation and Default Data
162
+
163
+ > This section documents validation rules and default values for all input fields on this screen.
164
+ >
165
+ > **Note:** If this screen has no input fields or forms, this section can be omitted or marked as "N/A - No input fields on this screen."
166
+
167
+ **Field Validation and Default Data:**
168
+
169
+
170
+ | Field Name | Field Type | Required | Default Value | Default Source | Validation Rules | Error Messages | Notes |
171
+ | ---------- | --------------------------------- | -------- | -------------------------- | --------------------------------------- | ---------------- | -------------- | ----- |
172
+ | | <Text/Email/Number/Date/Dropdown> | <Yes/No> | <Default value or "Empty"> | <Auto-generated/System/User preference> | | | |
173
+
174
+
175
+ **Detailed Field Information:**
176
+
177
+ **:**
178
+
179
+ - **Type:**
180
+ - **Required:** <Yes/No>
181
+ - **Default Value:** <Value or "Empty">
182
+ - **Default Source:**
183
+ - **Min Length:** characters
184
+ - **Max Length:** characters
185
+ - **Pattern/Format:**
186
+ - **Custom Validation:**
187
+ - **Error Messages:**
188
+ - Required: ""
189
+ - Format: ""
190
+ - Custom: ""
191
+ - **Real-time Validation:** <Yes/No - validates on blur/on change>
192
+ - **Dependencies:**
193
+ - **Notes:**
194
+
195
+ **(Dropdown):**
196
+
197
+ - **Type:** Dropdown/Select
198
+ - **Required:** <Yes/No>
199
+ - **Default Value:**
200
+ - **Default Source:** <System/First option/User preference>
201
+ - **Options Source:** <Static list/Dynamic from API/User selection>
202
+ - **Options:**
203
+ - : -
204
+ - : -
205
+ - **Dependencies:**
206
+ - **Validation Rules:**
207
+ - **Error Messages:**
208
+
209
+ ---
210
+
211
+ ## 2. Screen:
212
+
213
+ **Purpose:**
214
+
215
+ > Describe the purpose of this screen.
216
+
217
+ **User Role:**
218
+
219
+ **Source Requirements:** SRS Section <X.X>
220
+
221
+ ### 2.1 Visual Wireframe
222
+
223
+ ```
224
+ ┌─────────────────────────────────────────────────────────┐
225
+ │ [Screen Layout - Use ASCII art or reference image] │
226
+ └─────────────────────────────────────────────────────────┘
227
+ ```
228
+
229
+ **Wireframe Image:** `[screens/screen-name-wireframe.png]` or `[Figma Link]`
230
+
231
+ ### 2.2 Layout Structure
232
+
233
+
234
+ | Component | Position | Width/Height | Description |
235
+ | --------- | -------- | ------------ | ----------- |
236
+ | | | | |
237
+
238
+
239
+ ### 2.3 Component Details
240
+
241
+ **:**
242
+
243
+ - **Purpose:**
244
+ - **Visual Representation:**
245
+ ```
246
+ ┌─────────────────────────────┐
247
+ │ Component Layout │
248
+ └─────────────────────────────┘
249
+ ```
250
+ - **Elements:**
251
+ - <Element 1>
252
+ - <Element 2>
253
+ - **Visual Style:**
254
+ - **Dimensions:** <Width × Height>
255
+ - **Interaction:**
256
+
257
+ ### 2.4 User Interactions
258
+
259
+ **Primary Actions:**
260
+
261
+ - <Action 1>
262
+ - <Action 2>
263
+
264
+ ---
265
+
266
+ ## 3. Screen:
267
+
268
+ **Purpose:**
269
+
270
+ > Describe the purpose of this screen.
271
+
272
+ **User Role:**
273
+
274
+ ### 3.1 Visual Wireframe
275
+
276
+ ### 3.2 Layout Structure
277
+
278
+ ---
279
+
280
+ > Repeat the same section structure (Screen name → Wireframe → Layout → Component Details → User Interactions → Field Validation if applicable) for each additional screen in the Screen Index.
281
+
@@ -0,0 +1,130 @@
1
+ # API List:
2
+
3
+ > This document provides the API overview, authentication, and a summary list of all endpoints. For detailed request/response specifications per endpoint, see the Detail API document.
4
+
5
+ **Source Requirements:** SRS Section 4 (System Features), Section 6.2 (Software Interfaces)
6
+
7
+ ---
8
+
9
+ ## 1. API Overview
10
+
11
+ **Base URL:** `<https://api.example.com/v1>`
12
+
13
+ **API Version:** `v1.0`
14
+
15
+ **Protocol:** `HTTPS`
16
+
17
+ **Authentication:** <JWT/OAuth2/API Key>
18
+
19
+ **Content Type:** `application/json`
20
+
21
+ **Source Requirements:**
22
+
23
+ - SRS Section 4:
24
+ - SRS Section 6.2:
25
+ - SRS Section 7.3:
26
+
27
+ ---
28
+
29
+ ## 2. Authentication
30
+
31
+ **Method:** <JWT Bearer Token / OAuth2 / API Key>
32
+
33
+ **How to Authenticate:**
34
+
35
+ > Describe the authentication flow.
36
+
37
+ **Token Format:**
38
+
39
+ > Describe token structure if applicable.
40
+
41
+ **Example:**
42
+
43
+ ```http
44
+ Authorization: Bearer <token>
45
+ ```
46
+
47
+ **Token Expiration:**
48
+
49
+ > Describe token expiration and refresh mechanism.
50
+
51
+ ---
52
+
53
+ ## 3. Endpoint Summary
54
+
55
+
56
+ | Method | Endpoint | Description | Authentication |
57
+ | -------- | ---------------- | ----------- | -------------- |
58
+ | `POST` | `/resource` | | Required |
59
+ | `GET` | `/resource` | | Required |
60
+ | `GET` | `/resource/{id}` | | Required |
61
+ | `PUT` | `/resource/{id}` | | Required |
62
+ | `DELETE` | `/resource/{id}` | | Required |
63
+
64
+
65
+ > Add one row per endpoint. For detailed specifications (request/response schemas, path/query params), see the Detail API document.
66
+
67
+ ---
68
+
69
+ ## 4. Pagination
70
+
71
+ **Query Parameters:**
72
+
73
+ - `page`: Page number (default: 1)
74
+ - `per_page`: Items per page (default: 20, max: 100)
75
+
76
+ **Response Format:**
77
+
78
+ ```json
79
+ {
80
+ "data": [...],
81
+ "pagination": {
82
+ "page": 1,
83
+ "per_page": 20,
84
+ "total": 100,
85
+ "total_pages": 5
86
+ }
87
+ }
88
+ ```
89
+
90
+ ---
91
+
92
+ ## 5. Filtering and Sorting
93
+
94
+ **Query Parameters:**
95
+
96
+ - `filter[field]`: Filter by field value
97
+ - `sort`: Sort field and direction (e.g., `created_at:desc`)
98
+
99
+ **Examples:**
100
+
101
+ ```
102
+ GET /resource?filter[status]=active&sort=created_at:desc
103
+ ```
104
+
105
+ ---
106
+
107
+ ## 6. OpenAPI / Specification Reference
108
+
109
+ > Reference or include link to OpenAPI/Swagger specification file.
110
+
111
+ **Location:** `<api-spec.yaml>`
112
+
113
+ **Note:** For detailed endpoint specifications, see the Detail API document.
114
+
115
+ ---
116
+
117
+ ## 7. Notes
118
+
119
+ **API Versioning Strategy:**
120
+
121
+ > Describe versioning approach.
122
+
123
+ **Deprecation Policy:**
124
+
125
+ > Describe how deprecated endpoints are handled.
126
+
127
+ **Testing:**
128
+
129
+ > Reference API testing documentation or Postman collection.
130
+