ai-spector 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +169 -0
  2. package/_templates/basic_design/db-design-template.md +177 -0
  3. package/_templates/basic_design/detail-api-template.md +278 -0
  4. package/_templates/basic_design/detail-screen-template.md +281 -0
  5. package/_templates/basic_design/list-api-template.md +130 -0
  6. package/_templates/basic_design/list-screen-template.md +242 -0
  7. package/_templates/detail_design/common/architecture-overview-template.md +302 -0
  8. package/_templates/detail_design/common/deployment-infrastructure-template.md +461 -0
  9. package/_templates/detail_design/common/error-handling-patterns-template.md +460 -0
  10. package/_templates/detail_design/common/integration-patterns-template.md +410 -0
  11. package/_templates/detail_design/common/performance-standards-template.md +406 -0
  12. package/_templates/detail_design/common/security-patterns-template.md +395 -0
  13. package/_templates/detail_design/feature-detail-design-template.md +773 -0
  14. package/_templates/detail_design/feature-list-template.md +39 -0
  15. package/_templates/srs/1-introduction.md +58 -0
  16. package/_templates/srs/2-overall-description.md +91 -0
  17. package/_templates/srs/3-use-case-detail-template.md +142 -0
  18. package/_templates/srs/3-use-cases.md +53 -0
  19. package/_templates/srs/4-system-feature-detail-template.md +131 -0
  20. package/_templates/srs/4-system-features-list-template.md +39 -0
  21. package/_templates/srs/5-data-requirements.md +59 -0
  22. package/_templates/srs/6-external-interfaces.md +56 -0
  23. package/_templates/srs/7-quality-attributes.md +74 -0
  24. package/_templates/srs/8-internationalization.md +36 -0
  25. package/_templates/srs/9-other-requirements.md +46 -0
  26. package/assets/cursor/commands/analyze.md +39 -0
  27. package/assets/cursor/commands/generate-detail-design.md +35 -0
  28. package/assets/cursor/commands/generate-srs.md +38 -0
  29. package/assets/cursor/skills/spec-writer/SKILL.md +33 -0
  30. package/assets/workflow/config/analyze.graphify.json +36 -0
  31. package/assets/workflow/config/completeness-rules.detail-design.json +57 -0
  32. package/assets/workflow/config/completeness-rules.srs.json +72 -0
  33. package/assets/workflow/config/dag.detail-design.json +64 -0
  34. package/assets/workflow/config/dag.srs.json +87 -0
  35. package/assets/workflow/state/state.template.json +26 -0
  36. package/assets/workflow/templates/basic_design/db-design-template.md +177 -0
  37. package/assets/workflow/templates/basic_design/detail-api-template.md +278 -0
  38. package/assets/workflow/templates/basic_design/detail-screen-template.md +281 -0
  39. package/assets/workflow/templates/basic_design/list-api-template.md +130 -0
  40. package/assets/workflow/templates/basic_design/list-screen-template.md +242 -0
  41. package/assets/workflow/templates/detail_design/common/architecture-overview-template.md +302 -0
  42. package/assets/workflow/templates/detail_design/common/deployment-infrastructure-template.md +461 -0
  43. package/assets/workflow/templates/detail_design/common/error-handling-patterns-template.md +460 -0
  44. package/assets/workflow/templates/detail_design/common/integration-patterns-template.md +410 -0
  45. package/assets/workflow/templates/detail_design/common/performance-standards-template.md +406 -0
  46. package/assets/workflow/templates/detail_design/common/security-patterns-template.md +395 -0
  47. package/assets/workflow/templates/detail_design/feature-detail-design-template.md +773 -0
  48. package/assets/workflow/templates/detail_design/feature-list-template.md +39 -0
  49. package/assets/workflow/templates/srs/1-introduction.md +58 -0
  50. package/assets/workflow/templates/srs/2-overall-description.md +91 -0
  51. package/assets/workflow/templates/srs/3-use-case-detail-template.md +142 -0
  52. package/assets/workflow/templates/srs/3-use-cases.md +53 -0
  53. package/assets/workflow/templates/srs/4-system-feature-detail-template.md +131 -0
  54. package/assets/workflow/templates/srs/4-system-features-list-template.md +39 -0
  55. package/assets/workflow/templates/srs/5-data-requirements.md +59 -0
  56. package/assets/workflow/templates/srs/6-external-interfaces.md +56 -0
  57. package/assets/workflow/templates/srs/7-quality-attributes.md +74 -0
  58. package/assets/workflow/templates/srs/8-internationalization.md +36 -0
  59. package/assets/workflow/templates/srs/9-other-requirements.md +46 -0
  60. package/bin/spec-writer.js +56 -0
  61. package/package.json +25 -0
  62. package/src/cli/helpers/fs.js +50 -0
  63. package/src/cli/init.js +178 -0
@@ -0,0 +1,39 @@
1
+ # Detail Design: Feature List
2
+
3
+ > This document lists all features that have (or will have) a detail design. Each feature links to its **detail design document**, where component design, sequence diagrams, API specs, database schema, UI design, and implementation details are specified.
4
+ >
5
+ > **Structure:** (1) This file — index of all features with links; (2) **One file per feature** (e.g. in `features/` or alongside this file), each created from the [Feature Detail Design Template](feature-detail-design-template.md).
6
+
7
+ **Related Documents:**
8
+ - [Architecture Overview](common/architecture-overview-template.md)
9
+ - [Security Patterns](common/security-patterns-template.md)
10
+ - [Error Handling Patterns](common/error-handling-patterns-template.md)
11
+ - [Performance Standards](common/performance-standards-template.md)
12
+ - [Integration Patterns](common/integration-patterns-template.md)
13
+ - [Deployment & Infrastructure](common/deployment-infrastructure-template.md)
14
+ - [Feature Detail Design Template](feature-detail-design-template.md) — template for each feature’s detail doc
15
+ - [Basic Design - API Design](../../basic_design/api-design-template.md)
16
+ - [Basic Design - Database Design](../../basic_design/db-design-template.md)
17
+ - [Basic Design - Mockup Screens](../../basic_design/mockup-screens-template.md)
18
+
19
+ ---
20
+
21
+ ## 1. List of Features
22
+
23
+ | Feature ID | Feature Name | SRS Reference | Priority | Status |
24
+ |------------|--------------|----------------|----------|--------|
25
+ | F-01 | <Feature Name> | SRS Section 4.1 | High/Medium/Low | Draft/Approved |
26
+ | F-02 | <Feature Name> | SRS Section 4.2 | High/Medium/Low | Draft/Approved |
27
+
28
+ **Conventions:**
29
+ - **Feature ID:** Matches SRS system feature ID (e.g. F-01, F-02) or your project’s ID scheme.
30
+
31
+ ---
32
+
33
+ ## 2. Feature Dependencies (Optional)
34
+
35
+ > Document which features depend on others for implementation or integration.
36
+
37
+ | Feature | Depends On | Description |
38
+ |---------|------------|-------------|
39
+ | F-02 | F-01 | <e.g. F-02 uses APIs/data from F-01> |
@@ -0,0 +1,58 @@
1
+ ## 1. Introduction
2
+
3
+ > The introduction presents an overview to help the reader understand how the SRS is organized and how to use it.
4
+
5
+ ### 1.1 Document Purpose
6
+
7
+ > Identify the product whose software requirements are specified in this document, including the revision or release number. Describe the different types of reader that the document is intended for.
8
+
9
+ **Product Name:**
10
+
11
+ **Document Version:**
12
+
13
+ **Intended Audience:**
14
+
15
+ - Developers
16
+ - Project Managers
17
+ - Business Analysts
18
+ - Testers
19
+ -
20
+
21
+ ### 1.2 Document Conventions
22
+
23
+ > Describe any standards or typographical conventions used, including the meaning of specific text styles, highlighting, or notations. Specify the format for requirement identifiers.
24
+
25
+ **Requirement ID Format:** <Format, e.g., FR-XX-YY>
26
+
27
+ **Notation Conventions:**
28
+
29
+ - **Bold text:**
30
+ - `Code/Technical terms:`
31
+
32
+ ### 1.3 Project Scope
33
+
34
+ > Provide a short description of the software being specified and its purpose. Relate the software to user or corporate goals and to business objectives and strategies.
35
+
36
+ **Software Purpose:**
37
+
38
+ > Describe the purpose of the software being specified.
39
+
40
+ **Major Features:**
41
+
42
+ - <Feature 1>
43
+ - <Feature 2>
44
+ - <Feature 3>
45
+
46
+ **Out of Scope:**
47
+
48
+ - <Out of scope item 1>
49
+ - <Out of scope item 2>
50
+
51
+ ### 1.4 References
52
+
53
+ > List any documents or other resources to which this SRS refers. Include hyperlinks if available.
54
+
55
+
56
+ | Reference ID | Title | Version | Date | Source/URL |
57
+ | ------------ | ----- | ------- | ---- | ---------- |
58
+ | REF-01 | | | | |
@@ -0,0 +1,91 @@
1
+ ## 2. Overall Description
2
+
3
+ > This section presents a high-level overview of the product and the environment in which it will be used, the anticipated users, and known constraints, assumptions, and dependencies.
4
+
5
+ ### 2.1 Product Perspective
6
+
7
+ > Describe the product's context and origin. If this SRS defines a component of a larger system, state how this software relates to the overall system and identify major interfaces.
8
+
9
+ **Product Context:**
10
+
11
+ > Describe whether this is a new product, replacement, upgrade, or component of a larger system.
12
+
13
+ **System Relationships:**
14
+
15
+ > If part of a larger system, describe relationships and interfaces.
16
+
17
+ **Context Diagram:**
18
+
19
+ > Optionally include a context diagram.
20
+
21
+ ```mermaid
22
+ graph TB
23
+ subgraph "External Systems"
24
+ ES1[External System 1]
25
+ end
26
+ subgraph "Your System"
27
+ YourSystem[Your Product]
28
+ end
29
+ ES1 --> YourSystem
30
+ ```
31
+
32
+
33
+
34
+ ### 2.2 User Classes and Characteristics
35
+
36
+ > Identify the various user classes that you anticipate will use this product and describe their pertinent characteristics.
37
+
38
+
39
+ | User Class | Description | Characteristics | Priority |
40
+ | -------------- | ----------- | --------------- | ----------------- |
41
+ | <User Class 1> | | | Primary/Secondary |
42
+
43
+
44
+ ### 2.3 Operating Environment
45
+
46
+ > Describe the environment in which the software will operate.
47
+
48
+ **Hardware Platform:**
49
+
50
+ - <Hardware requirement 1>
51
+ - <Hardware requirement 2>
52
+
53
+ **Operating Systems:**
54
+
55
+ - <OS 1>
56
+ - <OS 2>
57
+
58
+ **Software Components:**
59
+
60
+ - <Software component 1>
61
+ - <Software component 2>
62
+
63
+ ### 2.4 Design and Implementation Constraints
64
+
65
+ > Describe any factors that will limit the options available to the developers.
66
+
67
+ **Technology Constraints:**
68
+
69
+ - **Programming Languages:**
70
+ - **Databases:**
71
+ - **Frameworks:**
72
+
73
+ **Corporate/Regulatory Policies:**
74
+
75
+ - <Policy 1>
76
+ - <Policy 2>
77
+
78
+ ### 2.5 Assumptions and Dependencies
79
+
80
+ > List any assumed factors that could affect the requirements stated in the SRS. Identify any dependencies the project has on external factors.
81
+
82
+ **Assumptions:**
83
+
84
+ - <Assumption 1>
85
+ - <Assumption 2>
86
+
87
+ **Dependencies:**
88
+
89
+ - <Dependency 1>
90
+ - <Dependency 2>
91
+
@@ -0,0 +1,142 @@
1
+ ## Use Case:
2
+
3
+ **Use Case ID:** UC-XX
4
+ **Version:** 1.0
5
+ **Status:** Draft / In Review / Approved
6
+
7
+ ---
8
+
9
+ ### 1. Use Case Overview
10
+
11
+ **Use Case Name:**
12
+
13
+ **Brief Description:**
14
+
15
+ > Provide a concise one or two sentence description of what this use case accomplishes.
16
+
17
+ **Actor(s):**
18
+
19
+ - **Primary Actor:**
20
+ - **Secondary Actor(s):** <Other actors involved, if any>
21
+
22
+ **Priority:** High / Medium / Low
23
+
24
+ **Preconditions:**
25
+
26
+ - Precondition 1
27
+ - Precondition 2
28
+
29
+ **Postconditions:**
30
+
31
+ - Postcondition 1
32
+ - Postcondition 2
33
+
34
+ **Trigger:**
35
+
36
+ > Describe the event that initiates this use case.
37
+
38
+ ---
39
+
40
+ ### 2. Main Success Scenario (Basic Flow)
41
+
42
+ > Describe the primary path through the use case when everything goes as expected.
43
+
44
+ ---
45
+
46
+ ### 3. Alternative Flows
47
+
48
+ #### 3.1 Alternative Flow A:
49
+
50
+ **Condition:**
51
+
52
+ **Steps:**
53
+
54
+ ---
55
+
56
+ ### 4. Exception Flows (Error Handling)
57
+
58
+ #### 4.1 Exception A:
59
+
60
+ **Condition:**
61
+
62
+ **Steps:**
63
+
64
+ ---
65
+
66
+ ### 5. Business Rules
67
+
68
+
69
+ | Rule ID | Description |
70
+ | -------- | ----------- |
71
+ | BR-XX-01 | |
72
+
73
+
74
+ ---
75
+
76
+ ### 6. Functional Requirements
77
+
78
+
79
+ | Req ID | Requirement Description |
80
+ | -------- | ----------------------- |
81
+ | FR-XX-01 | |
82
+
83
+
84
+ ---
85
+
86
+ ### 7. Data Requirements
87
+
88
+ **Input Data:**
89
+
90
+
91
+ | Data Element | Type | Required | Validation Rules |
92
+ | ------------ | ---- | -------- | ---------------- |
93
+ | | | Yes/No | |
94
+
95
+
96
+ **Output Data:**
97
+
98
+
99
+ | Data Element | Type | Description |
100
+ | ------------ | ---- | ----------- |
101
+ | | | |
102
+
103
+
104
+ ---
105
+
106
+ ### 8. User Interface Requirements
107
+
108
+ **Screen/Page:**
109
+
110
+ **Key UI Elements:**
111
+
112
+ - <UI element 1>
113
+ - <UI element 2>
114
+
115
+ **UI Reference:**
116
+
117
+ ---
118
+
119
+ ### 9. Related Use Cases
120
+
121
+
122
+ | Use Case ID | Relationship | Description |
123
+ | ----------- | ------------ | ----------- |
124
+ | UC-YY | includes | |
125
+
126
+
127
+ ---
128
+
129
+ ### 10. Notes
130
+
131
+ **Sequence Diagram (Optional):**
132
+
133
+ ```mermaid
134
+ sequenceDiagram
135
+ participant Actor as <Actor Name>
136
+ participant System as <System Name>
137
+ Actor->>System: <Action>
138
+ System-->>Actor: <Response>
139
+ ```
140
+
141
+
142
+
@@ -0,0 +1,53 @@
1
+ ## 3. Use Cases
2
+
3
+ > This section documents how users interact with the system to achieve specific goals. Use cases provide detailed interaction flows that guide implementation and testing, bridging high-level user needs and detailed system requirements.
4
+ >
5
+ > **Structure:** Split into **two parts**: (1) this index file — diagrams and list with links; (2) **one file per use case** in `03-use-cases/` (e.g. `03-use-cases/uc-01-<name>.md`). Generate each use case detail from the **use-case-detail template** (`3-use-case-detail-template.md`).
6
+
7
+ ### 3.1 Use Case Diagrams
8
+
9
+ > Provide visual representations of actors, use cases, and their relationships using UML use case diagrams. Use Mermaid diagrams or equivalent notation. Include system boundary, actors (stick figures or actor notation), use cases (ovals), and relationships (associations, includes, extends).
10
+
11
+ **System Context Diagram:**
12
+
13
+ > Provide visual representations of actors, use cases, and their relationships using UML use case diagrams. Use Mermaid diagrams or equivalent notation.
14
+
15
+ ```mermaid
16
+ graph TB
17
+ subgraph "Your System Name"
18
+ UC1[Use Case 1]
19
+ UC2[Use Case 2]
20
+ end
21
+ Actor1((Actor 1))
22
+ Actor2((Actor 2))
23
+ Actor1 --> UC1
24
+ Actor2 --> UC2
25
+ UC2 -.includes.-> UC1
26
+ ```
27
+
28
+
29
+
30
+ ---
31
+
32
+ ### 3.2 List Use Case
33
+
34
+ > Provide a comprehensive list of all use cases in the system.
35
+
36
+
37
+ | Use Case ID | Use Case Name | Actor(s) | Priority | Status |
38
+ | ----------- | ------------- | -------- | --------------- | -------------- |
39
+ | UC-01 | | | High/Medium/Low | Draft/Approved |
40
+ | UC-02 | | | High/Medium/Low | Draft/Approved |
41
+ | UC-03 | | | High/Medium/Low | Draft/Approved |
42
+
43
+
44
+ **Use Case Relationships:**
45
+
46
+ > Document relationships between use cases (includes, extends, generalizes).
47
+
48
+
49
+ | Use Case | Relationship Type | Related Use Case | Description |
50
+ | -------- | ----------------- | ---------------- | ----------- |
51
+ | UC-02 | includes | UC-01 | |
52
+
53
+
@@ -0,0 +1,131 @@
1
+ ## Feature:
2
+
3
+ **Feature ID:** F-XX
4
+ **Version:** 1.0
5
+ **Status:** Draft / In Review / Approved
6
+
7
+ > Replace "F-XX" with the actual feature ID and "<System Feature Name>" in section 1 with the actual feature name.
8
+
9
+ ---
10
+
11
+ ### 1. Description
12
+
13
+ > Provide a short description of the feature and indicate whether it is of High, Medium, or Low priority.
14
+
15
+ **Feature Name:** <System Feature Name>
16
+
17
+ **Priority:** High / Medium / Low
18
+
19
+ **Brief Description:**
20
+ > Provide a concise description of what this feature does and why it's needed.
21
+
22
+ **User Story (Optional - Agile format):**
23
+ > Use this format for Agile projects or when you want to express requirements from a user perspective.
24
+
25
+ **As a** <user role>, **I want to** <action/functionality> **so that** <benefit/value>.
26
+
27
+ *Example: As a Sales Representative, I want to create a new order so that I can record transactions with customers.*
28
+
29
+ **Feature Scope:**
30
+ **In Scope:**
31
+ - <Scope item 1>
32
+ - <Scope item 2>
33
+
34
+ **Out of Scope:**
35
+ - <Out of scope item 1>
36
+
37
+ **Related Use Cases:**
38
+ - UC-XX: <Use Case Name>
39
+ - UC-YY: <Use Case Name>
40
+
41
+ ---
42
+
43
+ ### 2. Stimulus/Response Sequences
44
+
45
+ > List the sequences of user actions and system responses that stimulate the behavior defined for this feature.
46
+
47
+ **Sequence 1: <Primary User Action>**
48
+
49
+ | Step | Actor/Action | System Response |
50
+ |------|--------------|-----------------|
51
+ | 1 | <Actor> <action> | <System> <response> |
52
+ | 2 | <Actor> <action> | <System> <response> |
53
+ | 3 | <System> <response> | <Use case ends> |
54
+
55
+ **Error Handling:**
56
+
57
+ | Step | Actor/Action | System Response | Error Condition |
58
+ |------|--------------|-----------------|------------------|
59
+ | 1 | <Actor> <action> | <System> <response> | <Error condition> |
60
+ | 2 | <System> <detects error> | <System> <error handling> | |
61
+
62
+ ---
63
+
64
+ ### 3. Functional Requirements
65
+
66
+ > Itemize the specific functional requirements associated with this feature. Use "TBD" as a placeholder when necessary information is not yet available.
67
+
68
+ | Req ID | Requirement Description | Priority | Status |
69
+ |--------|------------------------|----------|--------|
70
+ | FR-XX-01 | <Functional requirement description> | High/Medium/Low | Draft/Approved |
71
+ | FR-XX-02 | <Functional requirement description> | High/Medium/Low | Draft/Approved |
72
+
73
+ **FR-XX-01: <Requirement Name>**
74
+
75
+ **User Story (if applicable):**
76
+ > *As a <user role>, I want to <action> so that <benefit>.*
77
+
78
+ **Description:**
79
+ > Elaborate on what the system must do.
80
+
81
+ **Acceptance Criteria:**
82
+ - <Criterion 1>
83
+ - <Criterion 2>
84
+
85
+ **Error Handling:**
86
+ - <Error condition 1>: <Handling approach>
87
+ - <Error condition 2>: <Handling approach>
88
+
89
+ ---
90
+
91
+ **Data Requirements:**
92
+
93
+ **Input Data:**
94
+ | Data Element | Type | Required | Validation Rules |
95
+ |--------------|------|----------|------------------|
96
+ | <Field Name> | <Type> | Yes/No | <Validation rules> |
97
+
98
+ **Output Data:**
99
+ | Data Element | Type | Description |
100
+ |--------------|------|-------------|
101
+ | <Field Name> | <Type> | <Description> |
102
+
103
+ ---
104
+
105
+ **User Interface Requirements:**
106
+
107
+ **Screens/Pages:**
108
+ - <Screen 1>: <Description>
109
+ - <Screen 2>: <Description>
110
+
111
+ **Key UI Elements:**
112
+ - <UI element 1>
113
+ - <UI element 2>
114
+
115
+ **UI Reference:** <Link to wireframe or mockup>
116
+
117
+ ---
118
+
119
+ **Dependencies:**
120
+
121
+ **Internal Dependencies:**
122
+ - <Other feature / component>: <Dependency description>
123
+
124
+ **External Dependencies:**
125
+ - <External system/component>: <Dependency description>
126
+
127
+ ---
128
+
129
+ **Assumptions:**
130
+ - <Assumption 1>
131
+ - <Assumption 2>
@@ -0,0 +1,39 @@
1
+ ## 4. System Features
2
+
3
+ > This section catalogs **what the system delivers** as discrete features: names, ownership by role, priority, status, and links to deeper specs. Use **Section 3** for interaction flows (use cases); use this section for a **feature-level** view of the product or subsystem.
4
+ >
5
+ > **Structure:** (1) this index — optional diagram(s) and the register table; (2) **one file per feature** in `04-system-features/` (for example `04-system-features/f-01-<name>.md`). Generate each detail from **`4-system-feature-detail-template.md`**. Keep **System Feature ID** values stable and consistent with the detail doc.
6
+
7
+ ### 4.1 Feature Diagram (Optional)
8
+
9
+ > Use Mermaid when a picture helps: group features by area, show **depends on** / **enables**, or map actors to features. Replace the placeholder below or add more diagrams like in Section 3.
10
+
11
+ ```mermaid
12
+ graph TB
13
+ subgraph "Your System Name"
14
+ F01[F-01 Feature 1]
15
+ F02[F-02 Feature 2]
16
+ end
17
+ F01 --> F02
18
+ ```
19
+
20
+ ---
21
+
22
+ ### 4.2 List of System Features
23
+
24
+ > Provide a complete register: one row per feature ID. Use **Summary** for a single scannable sentence; put requirements, acceptance criteria, and edge cases in the linked detail file.
25
+
26
+ *Optional: one line of context (e.g. how this list maps to modules, epics, or releases).*
27
+
28
+ | System Feature ID | System Feature Name | Summary | Related use case IDs | Actor(s) | Priority | Status | Link to Detail |
29
+ | ----------------- | ------------------- | ------- | -------------------- | -------- | --------------- | -------------- | -------------- |
30
+ | F-01 | | | UC-01, UC-02 | | High/Medium/Low | Draft/Approved | [F-01 Detail](04-system-features/f-01-<slug>.md) |
31
+ | F-02 | | | | | High/Medium/Low | Draft/Approved | [F-02 Detail](04-system-features/f-02-<slug>.md) |
32
+
33
+ ### 4.3 Feature Relationships (Optional)
34
+
35
+ > Document **depends on**, **includes**, **extends**, or other relationships between features so the register stays easy to read.
36
+
37
+ | Feature | Relationship Type | Related Feature | Description |
38
+ | ------- | ----------------- | --------------- | ----------- |
39
+ | F-02 | depends on | F-01 | |
@@ -0,0 +1,59 @@
1
+ ## 5. Data Requirements
2
+
3
+ > This section describes various aspects of the data that the system will consume as inputs, process in some fashion, or create as outputs.
4
+
5
+ ### 5.1 Logical Data Model
6
+
7
+ > A data model is a visual representation of the data objects and collections the system will process and the relationships between them.
8
+
9
+ **Entity-Relationship Diagram:**
10
+ > Include an ER diagram or data model here.
11
+
12
+ ```mermaid
13
+ erDiagram
14
+ ENTITY1 ||--o{ ENTITY2 : "relationship"
15
+ ENTITY1 {
16
+ string field1
17
+ int field2
18
+ }
19
+ ```
20
+
21
+ **Data Objects:**
22
+ | Data Object | Description | Key Attributes |
23
+ |-------------|-------------|----------------|
24
+ | <Object 1> | <Description> | <Attributes> |
25
+
26
+ ### 5.2 Data Dictionary
27
+
28
+ > The data dictionary defines the composition of data structures and the meaning, data type, length, format, and allowed values for the data elements.
29
+
30
+ **Note:** If the data dictionary is extensive, consider storing it as a separate document and referencing it here.
31
+
32
+ | Element Name | Data Type | Length | Format | Allowed Values | Description |
33
+ |--------------|-----------|--------|--------|----------------|-------------|
34
+ | <Element 1> | <Type> | <Length> | <Format> | <Values> | <Description> |
35
+
36
+ ### 5.3 Reports
37
+
38
+ > If your application will generate any reports, identify them here and describe their characteristics.
39
+
40
+ | Report ID | Report Name | Description | Frequency | Audience |
41
+ |-----------|-------------|-------------|-----------|----------|
42
+ | RPT-01 | <Report Name> | <Description> | <Frequency> | <Audience> |
43
+
44
+ ### 5.4 Data Acquisition, Integrity, Retention, and Disposal
45
+
46
+ > Describe how data is acquired and maintained. State requirements regarding data integrity, retention, and disposal.
47
+
48
+ **Data Integrity:**
49
+ - **Validation:** <Validation requirements>
50
+ - **Backups:** <Backup requirements>
51
+
52
+ **Data Retention:**
53
+ - <Retention policy 1>
54
+ - <Retention policy 2>
55
+
56
+ **Data Disposal:**
57
+ - <Disposal policy 1>
58
+ - <Disposal policy 2>
59
+
@@ -0,0 +1,56 @@
1
+ ## 6. External Interface Requirements
2
+
3
+ > This section provides information to ensure that the system will communicate properly with users and with external hardware or software elements.
4
+
5
+ ### 6.1 User Interfaces
6
+
7
+ > Describe the logical characteristics of each interface between the software product and the users.
8
+
9
+ **UI Standards:**
10
+ - <UI standard 1>
11
+ - <UI standard 2>
12
+
13
+ **Standard UI Elements:**
14
+ - <UI element 1>
15
+ - <UI element 2>
16
+
17
+ **Error Message Standards:**
18
+ - <Standard 1>
19
+ - <Standard 2>
20
+
21
+ **UI Specification Reference:**
22
+ > Reference separate UI specification document if available.
23
+ - <UI specification document>
24
+
25
+ ### 6.2 Software Interfaces
26
+
27
+ > Describe the connections between this product and other software components.
28
+
29
+ | Component Name | Version | Purpose | Interface Type |
30
+ |----------------|---------|---------|---------------|
31
+ | <Component 1> | <Version> | <Purpose> | <Type> |
32
+
33
+ **Interface Details:**
34
+ - **Protocol:** <Protocol>
35
+ - **Data Format:** <Data format>
36
+ - **Service Level:** <Response time, frequency>
37
+ - **Security:** <Security requirements>
38
+
39
+ ### 6.3 Hardware Interfaces
40
+
41
+ > Describe the characteristics of each interface between the software and hardware (if any) components of the system.
42
+
43
+ | Hardware Component | Description | Interface Type | Protocol |
44
+ |-------------------|-------------|----------------|----------|
45
+ | <Component 1> | <Description> | <Type> | <Protocol> |
46
+
47
+ ### 6.4 Communications Interfaces
48
+
49
+ > State the requirements for any communication functions the product will use.
50
+
51
+ **Communication Functions:**
52
+ - **Email:** <Requirements>
53
+ - **Web Browser:** <Supported browsers>
54
+ - **Network Protocols:** <Protocols>
55
+ - **Security:** <Security requirements>
56
+