@daniel-da-silva-alves/sddk 2.0.0 → 2.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.
- package/CHANGELOG.md +23 -0
- package/README.md +21 -4
- package/bin/cli.js +4 -4
- package/package.json +7 -2
- package/sddk/plugin.json +1 -1
- package/sddk/skills/code-review/SKILL.md +142 -141
- package/sddk/skills/code-review/references/anti-ai-design-patterns.md +90 -90
- package/sddk/skills/code-review/references/refactoring-severity-guide.md +60 -60
- package/sddk/skills/code-review/references/security-checklist.md +59 -59
- package/sddk/skills/fullstack-development/SKILL.md +79 -78
- package/sddk/skills/fullstack-development/references/clean-code-rules.md +65 -65
- package/sddk/skills/fullstack-development/references/self-review-checklist.md +42 -42
- package/sddk/skills/implementation-planning/SKILL.md +65 -64
- package/sddk/skills/implementation-planning/references/manual-tests-template.md +53 -53
- package/sddk/skills/implementation-planning/references/microtask-template.md +47 -47
- package/sddk/skills/software-requirements-specification/SKILL.md +46 -45
- package/sddk/skills/software-requirements-specification/references/checklist-template.md +48 -48
- package/sddk/skills/software-requirements-specification/references/ieee-830-template.md +94 -94
- package/sddk/skills/software-requirements-specification/references/socratic-interview-guide.md +65 -65
- package/sddk/skills/system-design-document/SKILL.md +108 -107
- package/sddk/skills/system-design-document/references/architecture-patterns.md +59 -59
- package/sddk/skills/system-design-document/references/documentation-sources-guide.md +69 -69
- package/sddk/skills/system-design-document/references/sdd-template.md +117 -117
- package/sddk/skills/system-design-document/references/standards-api-template.md +47 -47
- package/sddk/skills/system-design-document/references/standards-architecture-template.md +42 -42
- package/sddk/skills/system-design-document/references/standards-coding-template.md +64 -64
- package/sddk/skills/system-design-document/references/standards-design-system-template.md +81 -81
- package/sddk/skills/system-design-document/references/standards-naming-template.md +59 -59
- package/sddk/skills/system-design-document/references/standards-onboarding-guide.md +80 -80
- package/sddk/skills/system-design-document/references/tech-stack-analysis.md +37 -37
|
@@ -1,126 +1,126 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Technical Documentation Sources Configuration Guide
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Purpose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
During development (Skill 4) and code review (Skill 5), the agent needs to consult technical documentation for the stack's technologies. This guide defines how to configure documentation sources for each technology, ensuring the agent uses **the correct version** and **the most reliable source**.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Lookup Hierarchy
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
When needing technical documentation, the agent follows this priority order:
|
|
10
10
|
|
|
11
11
|
```
|
|
12
|
-
1. 📁
|
|
13
|
-
↓
|
|
14
|
-
2. 🔌 MCP/Skill
|
|
15
|
-
↓
|
|
16
|
-
3. 🌐
|
|
17
|
-
↓
|
|
18
|
-
4. 🔍 Web search
|
|
12
|
+
1. 📁 Local project docs (docs/, README, ARCHITECTURE.md)
|
|
13
|
+
↓ if not found
|
|
14
|
+
2. 🔌 Technology MCP/Skill (if it exists and matches the version)
|
|
15
|
+
↓ if it doesn't exist
|
|
16
|
+
3. 🌐 Pre-configured official URL (registered in the SDD, pinned to version)
|
|
17
|
+
↓ if it doesn't cover the case
|
|
18
|
+
4. 🔍 Web search as fallback (search directed at the official site)
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
###
|
|
21
|
+
### Why this order?
|
|
22
22
|
|
|
23
|
-
|
|
|
23
|
+
| Priority | Source | Justification |
|
|
24
24
|
|:---:|:---|:---|
|
|
25
|
-
| 1 | **
|
|
26
|
-
| 2 | **MCP/Skill** |
|
|
27
|
-
| 3 | **URL
|
|
28
|
-
| 4 | **Web search** |
|
|
25
|
+
| 1 | **Local docs** | Most specific to the project, custom standards, internal conventions |
|
|
26
|
+
| 2 | **MCP/Skill** | Curated, reliable, token-efficient, works offline |
|
|
27
|
+
| 3 | **Official URL** | Canonical source of the technology, pinned to the correct version |
|
|
28
|
+
| 4 | **Web search** | Universal fallback, but noisy and may bring the wrong version |
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
32
|
-
##
|
|
32
|
+
## How to Conduct the Sources Interview
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
During Phase 2.5 of the SDD, after defining the stack, ask for each technology:
|
|
35
35
|
|
|
36
|
-
###
|
|
36
|
+
### Standard question (via ask_question):
|
|
37
37
|
|
|
38
38
|
```
|
|
39
|
-
|
|
39
|
+
For technology {name} v{version}, which documentation source should we use?
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
**
|
|
43
|
-
1. **URL
|
|
44
|
-
2. **MCP
|
|
45
|
-
3. **
|
|
46
|
-
4. **Docs
|
|
42
|
+
**Options:**
|
|
43
|
+
1. **Official URL** — provide the official documentation URL pinned to the version
|
|
44
|
+
2. **MCP available** — specify which MCP server provides docs for this technology
|
|
45
|
+
3. **Local skill** — the project has a custom skill for this technology
|
|
46
|
+
4. **Docs in project** — there's a `docs/` folder or wiki with internal documentation
|
|
47
47
|
|
|
48
|
-
###
|
|
48
|
+
### Technologies with known MCPs:
|
|
49
49
|
|
|
50
|
-
|
|
|
50
|
+
| Technology | MCP Available | Notes |
|
|
51
51
|
|:---|:---|:---|
|
|
52
|
-
|
|
|
52
|
+
| Multiple libs | Context7 | Covers many popular libraries via `context7` |
|
|
53
53
|
| PostgreSQL | postgres-mcp | Schema awareness |
|
|
54
54
|
| GitHub | github-mcp | Issues, PRs, repos |
|
|
55
|
-
| Filesystem | filesystem-mcp |
|
|
55
|
+
| Filesystem | filesystem-mcp | Native to Antigravity |
|
|
56
56
|
|
|
57
57
|
> [!NOTE]
|
|
58
|
-
>
|
|
58
|
+
> MCP availability changes frequently. Ask the user if they have MCPs configured in their project.
|
|
59
59
|
|
|
60
60
|
---
|
|
61
61
|
|
|
62
|
-
##
|
|
62
|
+
## SDD Section Format
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
Section "10. Technical Documentation Sources" in the SDD should follow this format:
|
|
65
65
|
|
|
66
66
|
```markdown
|
|
67
|
-
## 10.
|
|
67
|
+
## 10. Technical Documentation Sources
|
|
68
68
|
|
|
69
|
-
### 10.1
|
|
69
|
+
### 10.1 Source Configuration
|
|
70
70
|
|
|
71
|
-
|
|
|
71
|
+
| Technology | Version | Primary Source | Official URL | MCP/Skill |
|
|
72
72
|
|:---|:---|:---|:---|:---|
|
|
73
|
-
| Next.js | 15.2 | URL
|
|
74
|
-
| React | 19.1 | URL
|
|
73
|
+
| Next.js | 15.2 | Official URL | https://nextjs.org/docs | — |
|
|
74
|
+
| React | 19.1 | Official URL | https://react.dev/reference | — |
|
|
75
75
|
| Prisma | 6.3 | MCP | https://prisma.io/docs | context7 |
|
|
76
|
-
| Tailwind CSS | 4.0 | URL
|
|
76
|
+
| Tailwind CSS | 4.0 | Official URL | https://tailwindcss.com/docs | — |
|
|
77
77
|
| PostgreSQL | 16 | MCP | https://www.postgresql.org/docs/16/ | postgres-mcp |
|
|
78
|
-
| TypeScript | 5.7 | URL
|
|
78
|
+
| TypeScript | 5.7 | Official URL | https://www.typescriptlang.org/docs/ | — |
|
|
79
79
|
|
|
80
|
-
### 10.2
|
|
80
|
+
### 10.2 Local Project Documentation
|
|
81
81
|
|
|
82
|
-
|
|
|
82
|
+
| Path | Content |
|
|
83
83
|
|:---|:---|
|
|
84
|
-
| `docs/api.md` |
|
|
85
|
-
| `docs/conventions.md` |
|
|
86
|
-
| `ARCHITECTURE.md` |
|
|
84
|
+
| `docs/api.md` | Internal API documentation |
|
|
85
|
+
| `docs/conventions.md` | Project code conventions |
|
|
86
|
+
| `ARCHITECTURE.md` | General system architecture |
|
|
87
87
|
|
|
88
|
-
### 10.3
|
|
88
|
+
### 10.3 Lookup Rule
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
1.
|
|
92
|
-
2. MCP/Skill (
|
|
93
|
-
3. URL
|
|
94
|
-
4. Web search (
|
|
90
|
+
Priority order for documentation lookup during development:
|
|
91
|
+
1. Local project documentation (paths listed in 10.2)
|
|
92
|
+
2. MCP/Skill (if listed in the MCP/Skill column in 10.1)
|
|
93
|
+
3. Official URL (use `read_url_content` on the URL listed in 10.1)
|
|
94
|
+
4. Web search (use `search_web` with query: "{technology} {version} {topic} site:{official domain}")
|
|
95
95
|
```
|
|
96
96
|
|
|
97
97
|
---
|
|
98
98
|
|
|
99
|
-
##
|
|
99
|
+
## Agent Instructions (Dev and CodeReview)
|
|
100
100
|
|
|
101
|
-
|
|
101
|
+
When the agent needs to consult documentation during development:
|
|
102
102
|
|
|
103
|
-
###
|
|
104
|
-
|
|
103
|
+
### Step 1: Read section 10 of the SDD
|
|
104
|
+
Open `.specs/features/{feature}/sdd.md` and read section "10. Technical Documentation Sources"
|
|
105
105
|
|
|
106
|
-
###
|
|
107
|
-
1. **
|
|
108
|
-
2. **MCP/Skill?** →
|
|
109
|
-
3. **URL
|
|
110
|
-
4. **
|
|
106
|
+
### Step 2: Follow the hierarchy
|
|
107
|
+
1. **Local docs?** → `view_file` on the path listed in 10.2
|
|
108
|
+
2. **MCP/Skill?** → Use the tool/skill configured in 10.1
|
|
109
|
+
3. **Official URL?** → `read_url_content("{url-from-table-10.1}/specific-topic")`
|
|
110
|
+
4. **None?** → `search_web("{technology} {version} {topic} site:{domain}")`
|
|
111
111
|
|
|
112
|
-
###
|
|
112
|
+
### Step 3: Validate the version
|
|
113
113
|
> [!WARNING]
|
|
114
|
-
>
|
|
114
|
+
> Before using any documentation information, verify it matches the version listed in table 10.1. Documentation from the wrong version may generate incompatible code.
|
|
115
115
|
|
|
116
|
-
###
|
|
116
|
+
### Practical lookup example:
|
|
117
117
|
|
|
118
118
|
```
|
|
119
|
-
Microtask: "
|
|
119
|
+
Microtask: "Implement user creation server action"
|
|
120
120
|
Stack: Next.js 15.2
|
|
121
121
|
|
|
122
|
-
1.
|
|
123
|
-
2. MCP/Skill? →
|
|
124
|
-
3. URL
|
|
125
|
-
4.
|
|
122
|
+
1. Local docs? → No docs about server actions
|
|
123
|
+
2. MCP/Skill? → No Next.js MCP
|
|
124
|
+
3. Official URL? → read_url_content("https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations")
|
|
125
|
+
4. If URL doesn't cover → search_web("Next.js 15 server actions mutations site:nextjs.org")
|
|
126
126
|
```
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
#
|
|
1
|
+
# System Design Document (SDD) Template
|
|
2
2
|
|
|
3
|
-
Use
|
|
3
|
+
Use this template as a base to generate the SDD document. Adapt sections according to the feature's complexity.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Document Structure
|
|
8
8
|
|
|
9
9
|
```markdown
|
|
10
10
|
# System Design Document (SDD)
|
|
11
|
-
## {
|
|
11
|
+
## {Feature Name}
|
|
12
12
|
|
|
13
|
-
**
|
|
14
|
-
**
|
|
15
|
-
**
|
|
16
|
-
**Feature**: {
|
|
17
|
-
**SRS
|
|
13
|
+
**Version**: 1.0
|
|
14
|
+
**Date**: {creation date}
|
|
15
|
+
**Project**: {project name}
|
|
16
|
+
**Feature**: {feature name}
|
|
17
|
+
**SRS Reference**: [srs.md](./srs.md)
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
## 1.
|
|
21
|
+
## 1. Technical Overview
|
|
22
22
|
|
|
23
|
-
### 1.1
|
|
24
|
-
|
|
23
|
+
### 1.1 Summary
|
|
24
|
+
Brief technical description of what will be implemented and how.
|
|
25
25
|
|
|
26
|
-
### 1.2 Stack
|
|
26
|
+
### 1.2 Technology Stack
|
|
27
27
|
|
|
28
|
-
|
|
|
28
|
+
| Layer | Technology | Justification |
|
|
29
29
|
|:---|:---|:---|
|
|
30
|
-
|
|
|
31
|
-
| Framework | {
|
|
32
|
-
|
|
|
33
|
-
| ORM/Query | {
|
|
34
|
-
|
|
|
35
|
-
|
|
|
30
|
+
| Language | {e.g.: TypeScript} | {why this choice} |
|
|
31
|
+
| Framework | {e.g.: Next.js 14} | {why this choice} |
|
|
32
|
+
| Database | {e.g.: PostgreSQL} | {why this choice} |
|
|
33
|
+
| ORM/Query | {e.g.: Prisma} | {why this choice} |
|
|
34
|
+
| Authentication | {e.g.: NextAuth.js} | {why this choice} |
|
|
35
|
+
| Styling | {e.g.: Tailwind CSS v4} | {why this choice} |
|
|
36
36
|
|
|
37
|
-
### 1.3
|
|
37
|
+
### 1.3 Architectural Decisions
|
|
38
38
|
|
|
39
|
-
|
|
|
39
|
+
| Decision | Choice | Alternatives Considered | Justification |
|
|
40
40
|
|:---|:---|:---|:---|
|
|
41
|
-
|
|
|
42
|
-
| State Management | {
|
|
41
|
+
| Pattern | {e.g.: Clean Architecture} | MVC, Hexagonal | {reason} |
|
|
42
|
+
| State Management | {e.g.: Zustand} | Redux, Context | {reason} |
|
|
43
43
|
|
|
44
44
|
---
|
|
45
45
|
|
|
46
|
-
## 2.
|
|
46
|
+
## 2. System Architecture
|
|
47
47
|
|
|
48
|
-
### 2.1
|
|
48
|
+
### 2.1 Architecture Diagram
|
|
49
49
|
|
|
50
50
|
```mermaid
|
|
51
51
|
graph TB
|
|
@@ -61,46 +61,46 @@ graph TB
|
|
|
61
61
|
C --> D
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
### 2.2
|
|
64
|
+
### 2.2 Directory Structure
|
|
65
65
|
|
|
66
66
|
```
|
|
67
67
|
src/
|
|
68
68
|
├── app/ # Routes / pages
|
|
69
|
-
├── components/ #
|
|
69
|
+
├── components/ # Reusable components
|
|
70
70
|
│ ├── ui/ # Design system (atoms)
|
|
71
|
-
│ └── features/ #
|
|
72
|
-
├── lib/ #
|
|
73
|
-
├── services/ #
|
|
74
|
-
├── repositories/ #
|
|
71
|
+
│ └── features/ # Feature components
|
|
72
|
+
├── lib/ # Utilities and helpers
|
|
73
|
+
├── services/ # Business logic
|
|
74
|
+
├── repositories/ # Data access
|
|
75
75
|
├── types/ # TypeScript types/interfaces
|
|
76
|
-
└── config/ #
|
|
76
|
+
└── config/ # Configurations
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
### 2.3
|
|
79
|
+
### 2.3 Layers and Responsibilities
|
|
80
80
|
|
|
81
|
-
|
|
|
81
|
+
| Layer | Responsibility | Example |
|
|
82
82
|
|:---|:---|:---|
|
|
83
|
-
| **Presentation** | UI,
|
|
84
|
-
| **Application** |
|
|
85
|
-
| **Domain** |
|
|
86
|
-
| **Infrastructure** |
|
|
83
|
+
| **Presentation** | UI, forms, visual validation | React Components |
|
|
84
|
+
| **Application** | Orchestration, use cases | Services |
|
|
85
|
+
| **Domain** | Pure business rules | Entities, Value Objects |
|
|
86
|
+
| **Infrastructure** | Data access, external APIs | Repositories, API clients |
|
|
87
87
|
|
|
88
88
|
---
|
|
89
89
|
|
|
90
|
-
## 3.
|
|
90
|
+
## 3. Data Model
|
|
91
91
|
|
|
92
|
-
### 3.1
|
|
92
|
+
### 3.1 Entities
|
|
93
93
|
|
|
94
|
-
#### {
|
|
94
|
+
#### {EntityName}
|
|
95
95
|
|
|
96
|
-
|
|
|
96
|
+
| Field | Type | Constraints | Description |
|
|
97
97
|
|:---|:---|:---|:---|
|
|
98
|
-
| id | UUID | PK, auto-generated |
|
|
99
|
-
| {
|
|
100
|
-
| created_at | DateTime | NOT NULL, default NOW |
|
|
101
|
-
| updated_at | DateTime | NOT NULL, auto-update |
|
|
98
|
+
| id | UUID | PK, auto-generated | Unique identifier |
|
|
99
|
+
| {field} | {type} | {constraints} | {description} |
|
|
100
|
+
| created_at | DateTime | NOT NULL, default NOW | Creation date |
|
|
101
|
+
| updated_at | DateTime | NOT NULL, auto-update | Last update |
|
|
102
102
|
|
|
103
|
-
### 3.2
|
|
103
|
+
### 3.2 Relationships
|
|
104
104
|
|
|
105
105
|
```mermaid
|
|
106
106
|
erDiagram
|
|
@@ -110,23 +110,23 @@ erDiagram
|
|
|
110
110
|
|
|
111
111
|
### 3.3 Migrations
|
|
112
112
|
|
|
113
|
-
|
|
114
|
-
1. `001_create_{table}.sql` —
|
|
115
|
-
2. `002_create_{table}.sql` —
|
|
113
|
+
List of required migrations in order:
|
|
114
|
+
1. `001_create_{table}.sql` — Create main table
|
|
115
|
+
2. `002_create_{table}.sql` — Create secondary tables
|
|
116
116
|
|
|
117
117
|
---
|
|
118
118
|
|
|
119
|
-
## 4. Design
|
|
119
|
+
## 4. API Design
|
|
120
120
|
|
|
121
121
|
### 4.1 Endpoints
|
|
122
122
|
|
|
123
123
|
#### `POST /api/{resource}`
|
|
124
|
-
- **
|
|
125
|
-
- **Auth**: {
|
|
124
|
+
- **Description**: {what it does}
|
|
125
|
+
- **Auth**: {requires authentication? which role?}
|
|
126
126
|
- **Request Body**:
|
|
127
127
|
```json
|
|
128
128
|
{
|
|
129
|
-
"field": "type —
|
|
129
|
+
"field": "type — description"
|
|
130
130
|
}
|
|
131
131
|
```
|
|
132
132
|
- **Response 200**:
|
|
@@ -135,125 +135,125 @@ Lista de migrations necessárias em ordem:
|
|
|
135
135
|
"data": {}
|
|
136
136
|
}
|
|
137
137
|
```
|
|
138
|
-
- **Errors**: 400 (
|
|
138
|
+
- **Errors**: 400 (validation), 401 (unauthenticated), 403 (unauthorized), 500 (internal error)
|
|
139
139
|
|
|
140
|
-
### 4.2
|
|
140
|
+
### 4.2 Validations
|
|
141
141
|
|
|
142
|
-
| Endpoint |
|
|
142
|
+
| Endpoint | Field | Rule |
|
|
143
143
|
|:---|:---|:---|
|
|
144
|
-
| POST /api/{resource} | {
|
|
144
|
+
| POST /api/{resource} | {field} | {validation rule} |
|
|
145
145
|
|
|
146
146
|
---
|
|
147
147
|
|
|
148
|
-
## 5. Design
|
|
148
|
+
## 5. Interface Design (Frontend)
|
|
149
149
|
|
|
150
|
-
### 5.1
|
|
150
|
+
### 5.1 Components
|
|
151
151
|
|
|
152
|
-
|
|
|
152
|
+
| Component | Type | Description |
|
|
153
153
|
|:---|:---|:---|
|
|
154
|
-
| `{ComponentName}` | Page | {
|
|
155
|
-
| `{ComponentName}` | Feature | {
|
|
156
|
-
| `{ComponentName}` | UI/Atom | {
|
|
154
|
+
| `{ComponentName}` | Page | {description} |
|
|
155
|
+
| `{ComponentName}` | Feature | {description} |
|
|
156
|
+
| `{ComponentName}` | UI/Atom | {description} |
|
|
157
157
|
|
|
158
|
-
### 5.2
|
|
158
|
+
### 5.2 State and Data Flow
|
|
159
159
|
|
|
160
|
-
|
|
161
|
-
-
|
|
162
|
-
-
|
|
160
|
+
Describe how state flows between components:
|
|
161
|
+
- Data source
|
|
162
|
+
- Local vs global state
|
|
163
163
|
- Cache strategy
|
|
164
164
|
|
|
165
165
|
### 5.3 Design Tokens
|
|
166
166
|
|
|
167
|
-
| Token |
|
|
167
|
+
| Token | Value | Usage |
|
|
168
168
|
|:---|:---|:---|
|
|
169
|
-
| `--color-primary` | {
|
|
170
|
-
| `--spacing-md` | {
|
|
169
|
+
| `--color-primary` | {value} | {where to use} |
|
|
170
|
+
| `--spacing-md` | {value} | {where to use} |
|
|
171
171
|
|
|
172
172
|
---
|
|
173
173
|
|
|
174
|
-
## 6.
|
|
174
|
+
## 6. Integrations
|
|
175
175
|
|
|
176
|
-
### 6.1 APIs
|
|
176
|
+
### 6.1 External APIs
|
|
177
177
|
|
|
178
|
-
|
|
|
178
|
+
| Service | Purpose | Endpoint | Auth |
|
|
179
179
|
|:---|:---|:---|:---|
|
|
180
|
-
| {
|
|
180
|
+
| {name} | {what for} | {base URL} | {auth type} |
|
|
181
181
|
|
|
182
|
-
### 6.2
|
|
182
|
+
### 6.2 Events / Webhooks
|
|
183
183
|
|
|
184
|
-
|
|
|
184
|
+
| Event | Trigger | Payload |
|
|
185
185
|
|:---|:---|:---|
|
|
186
|
-
| {
|
|
186
|
+
| {name} | {when it fires} | {data sent} |
|
|
187
187
|
|
|
188
188
|
---
|
|
189
189
|
|
|
190
|
-
## 7.
|
|
190
|
+
## 7. Error Handling
|
|
191
191
|
|
|
192
|
-
### 7.1
|
|
192
|
+
### 7.1 Strategy
|
|
193
193
|
|
|
194
|
-
|
|
|
194
|
+
| Layer | Strategy | Example |
|
|
195
195
|
|:---|:---|:---|
|
|
196
|
-
| Frontend | {
|
|
197
|
-
| API | {
|
|
198
|
-
| Service | {
|
|
196
|
+
| Frontend | {e.g.: Error Boundary + toast} | {when to use} |
|
|
197
|
+
| API | {e.g.: HTTP status + standardized error body} | {format} |
|
|
198
|
+
| Service | {e.g.: Custom exceptions + logging} | {error types} |
|
|
199
199
|
|
|
200
200
|
### 7.2 Error Codes
|
|
201
201
|
|
|
202
|
-
|
|
|
202
|
+
| Code | Message | User Action |
|
|
203
203
|
|:---|:---|:---|
|
|
204
|
-
| {code} | {
|
|
204
|
+
| {code} | {message} | {what to do} |
|
|
205
205
|
|
|
206
206
|
---
|
|
207
207
|
|
|
208
|
-
## 8.
|
|
208
|
+
## 8. Security
|
|
209
209
|
|
|
210
|
-
### 8.1
|
|
211
|
-
|
|
210
|
+
### 8.1 Authentication
|
|
211
|
+
Describe the authentication mechanism.
|
|
212
212
|
|
|
213
|
-
### 8.2
|
|
214
|
-
|
|
213
|
+
### 8.2 Authorization
|
|
214
|
+
Describe the permissions model (RBAC, ABAC, etc.).
|
|
215
215
|
|
|
216
|
-
### 8.3
|
|
217
|
-
|
|
216
|
+
### 8.3 Data Protection
|
|
217
|
+
Sensitive fields, encryption, LGPD/GDPR.
|
|
218
218
|
|
|
219
219
|
---
|
|
220
220
|
|
|
221
|
-
## 9.
|
|
221
|
+
## 9. SRS References
|
|
222
222
|
|
|
223
|
-
|
|
|
223
|
+
| SDD Section | SRS Requirement | Reference |
|
|
224
224
|
|:---|:---|:---|
|
|
225
|
-
| 3.
|
|
225
|
+
| 3. Data Model | FR-001 | [SRS#3 FR-001](./srs.md#fr-001) |
|
|
226
226
|
|
|
227
227
|
---
|
|
228
228
|
|
|
229
|
-
## 10.
|
|
229
|
+
## 10. Technical Documentation Sources
|
|
230
230
|
|
|
231
|
-
### 10.1
|
|
231
|
+
### 10.1 Source Configuration
|
|
232
232
|
|
|
233
|
-
|
|
|
233
|
+
| Technology | Version | Primary Source | Official URL | MCP/Skill |
|
|
234
234
|
|:---|:---|:---|:---|:---|
|
|
235
|
-
| {
|
|
235
|
+
| {technology} | {version} | {Official URL / MCP / Skill / Local docs} | {URL} | {MCP name or —} |
|
|
236
236
|
|
|
237
|
-
### 10.2
|
|
237
|
+
### 10.2 Local Project Documentation
|
|
238
238
|
|
|
239
|
-
|
|
|
239
|
+
| Path | Content |
|
|
240
240
|
|:---|:---|
|
|
241
|
-
| {
|
|
241
|
+
| {path} | {content description} |
|
|
242
242
|
|
|
243
|
-
### 10.3
|
|
243
|
+
### 10.3 Lookup Rule
|
|
244
244
|
|
|
245
|
-
|
|
246
|
-
1.
|
|
247
|
-
2. MCP/Skill (
|
|
248
|
-
3. URL
|
|
249
|
-
4. Web search (
|
|
245
|
+
Priority order for documentation lookup during development:
|
|
246
|
+
1. Local project documentation (paths listed in 10.2)
|
|
247
|
+
2. MCP/Skill (if listed in the MCP/Skill column in 10.1)
|
|
248
|
+
3. Official URL (use `read_url_content` on the URL listed in 10.1)
|
|
249
|
+
4. Web search (use `search_web` with query: "{technology} {version} {topic} site:{official domain}")
|
|
250
250
|
```
|
|
251
251
|
|
|
252
|
-
##
|
|
252
|
+
## Filling Rules
|
|
253
253
|
|
|
254
|
-
1. **
|
|
255
|
-
2. **
|
|
256
|
-
3. **Endpoints
|
|
257
|
-
4. **
|
|
258
|
-
5. **Design tokens
|
|
259
|
-
6. **
|
|
254
|
+
1. **Each architectural decision MUST have justification** — never just "because"
|
|
255
|
+
2. **Data model MUST correspond to SRS requirements** — use reference matrix
|
|
256
|
+
3. **Endpoints MUST cover all functional requirements** from the SRS
|
|
257
|
+
4. **Components MUST be granular** — never a monolithic component
|
|
258
|
+
5. **Design tokens MUST be defined** — never use hardcoded values
|
|
259
|
+
6. **Documentation sources MUST be configured** for each technology in the stack with pinned version
|