@dedesfr/prompter 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -0
- package/dist/cli/index.js +58 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/api-contract-generator.d.ts +11 -0
- package/dist/commands/api-contract-generator.d.ts.map +1 -0
- package/dist/commands/api-contract-generator.js +97 -0
- package/dist/commands/api-contract-generator.js.map +1 -0
- package/dist/commands/document-explainer.d.ts +11 -0
- package/dist/commands/document-explainer.d.ts.map +1 -0
- package/dist/commands/document-explainer.js +97 -0
- package/dist/commands/document-explainer.js.map +1 -0
- package/dist/commands/erd-generator.d.ts +11 -0
- package/dist/commands/erd-generator.d.ts.map +1 -0
- package/dist/commands/erd-generator.js +97 -0
- package/dist/commands/erd-generator.js.map +1 -0
- package/dist/commands/fsd-generator.d.ts +11 -0
- package/dist/commands/fsd-generator.d.ts.map +1 -0
- package/dist/commands/fsd-generator.js +97 -0
- package/dist/commands/fsd-generator.js.map +1 -0
- package/dist/commands/tdd-generator.d.ts +11 -0
- package/dist/commands/tdd-generator.d.ts.map +1 -0
- package/dist/commands/tdd-generator.js +97 -0
- package/dist/commands/tdd-generator.js.map +1 -0
- package/dist/commands/tdd-lite-generator.d.ts +11 -0
- package/dist/commands/tdd-lite-generator.d.ts.map +1 -0
- package/dist/commands/tdd-lite-generator.js +97 -0
- package/dist/commands/tdd-lite-generator.js.map +1 -0
- package/dist/commands/wireframe-generator.d.ts +11 -0
- package/dist/commands/wireframe-generator.d.ts.map +1 -0
- package/dist/commands/wireframe-generator.js +97 -0
- package/dist/commands/wireframe-generator.js.map +1 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +42 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/configurators/slash/antigravity.d.ts.map +1 -1
- package/dist/core/configurators/slash/antigravity.js +16 -2
- package/dist/core/configurators/slash/antigravity.js.map +1 -1
- package/dist/core/configurators/slash/base.js +1 -1
- package/dist/core/configurators/slash/base.js.map +1 -1
- package/dist/core/configurators/slash/claude.d.ts.map +1 -1
- package/dist/core/configurators/slash/claude.js +16 -2
- package/dist/core/configurators/slash/claude.js.map +1 -1
- package/dist/core/configurators/slash/codex.d.ts.map +1 -1
- package/dist/core/configurators/slash/codex.js +16 -2
- package/dist/core/configurators/slash/codex.js.map +1 -1
- package/dist/core/configurators/slash/github-copilot.d.ts.map +1 -1
- package/dist/core/configurators/slash/github-copilot.js +16 -2
- package/dist/core/configurators/slash/github-copilot.js.map +1 -1
- package/dist/core/configurators/slash/kilocode.d.ts.map +1 -1
- package/dist/core/configurators/slash/kilocode.js +16 -2
- package/dist/core/configurators/slash/kilocode.js.map +1 -1
- package/dist/core/configurators/slash/opencode.d.ts.map +1 -1
- package/dist/core/configurators/slash/opencode.js +16 -2
- package/dist/core/configurators/slash/opencode.js.map +1 -1
- package/dist/core/prompt-templates.d.ts +7 -0
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +1429 -1
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/templates/slash-command-templates.d.ts +1 -1
- package/dist/core/templates/slash-command-templates.d.ts.map +1 -1
- package/dist/core/templates/slash-command-templates.js +9 -1
- package/dist/core/templates/slash-command-templates.js.map +1 -1
- package/docs/tasks.md +3 -0
- package/package.json +2 -2
- package/prompt/api-contract-generator.md +234 -0
- package/prompt/document-explainer.md +149 -0
- package/prompt/erd-generator.md +130 -0
- package/prompt/fsd-generator.md +157 -0
- package/prompt/tdd-generator.md +294 -0
- package/prompt/tdd-lite-generator.md +224 -0
- package/prompt/wireframe-generator.md +219 -0
- package/src/cli/index.ts +65 -2
- package/src/commands/api-contract-generator.ts +118 -0
- package/src/commands/document-explainer.ts +118 -0
- package/src/commands/erd-generator.ts +118 -0
- package/src/commands/fsd-generator.ts +118 -0
- package/src/commands/tdd-generator.ts +118 -0
- package/src/commands/tdd-lite-generator.ts +118 -0
- package/src/commands/wireframe-generator.ts +118 -0
- package/src/core/config.ts +42 -0
- package/src/core/configurators/slash/antigravity.ts +16 -2
- package/src/core/configurators/slash/base.ts +2 -2
- package/src/core/configurators/slash/claude.ts +16 -2
- package/src/core/configurators/slash/codex.ts +16 -2
- package/src/core/configurators/slash/github-copilot.ts +16 -2
- package/src/core/configurators/slash/kilocode.ts +16 -2
- package/src/core/configurators/slash/opencode.ts +16 -2
- package/src/core/prompt-templates.ts +1442 -8
- package/src/core/templates/slash-command-templates.ts +19 -2
- package/docs/prompt-template.md +0 -3
|
@@ -45,6 +45,156 @@ You are an expert copywriter and proofreader. Your mission is to meticulously re
|
|
|
45
45
|
- Be vigilant about proper punctuation in every sentence.
|
|
46
46
|
- Ensure the final output is indistinguishable from human writing.
|
|
47
47
|
`;
|
|
48
|
+
export const DOCUMENT_EXPLAINER_TEMPLATE = `# Document Explainer & Analyzer
|
|
49
|
+
|
|
50
|
+
You are an expert document analyst and technical communicator skilled at breaking down complex materials into clear, actionable insights.
|
|
51
|
+
|
|
52
|
+
## Primary Objective
|
|
53
|
+
Analyze the provided document to create a comprehensive explainer that extracts value, identifies issues, and facilitates productive discussion about improvements.
|
|
54
|
+
|
|
55
|
+
## Process
|
|
56
|
+
|
|
57
|
+
### Step 1: Initial Assessment
|
|
58
|
+
- Identify document type, purpose, and intended audience
|
|
59
|
+
- Note overall structure and organization
|
|
60
|
+
- Assess writing quality and clarity level
|
|
61
|
+
|
|
62
|
+
### Step 2: Core Analysis
|
|
63
|
+
Extract and organize:
|
|
64
|
+
- **Central Purpose:** Why does this document exist?
|
|
65
|
+
- **Key Goals:** What is it trying to achieve?
|
|
66
|
+
- **Main Arguments/Points:** What are the primary messages?
|
|
67
|
+
- **Target Audience:** Who is this written for?
|
|
68
|
+
|
|
69
|
+
### Step 3: Content Breakdown
|
|
70
|
+
For each major section:
|
|
71
|
+
- Summarize the main point in 1-2 sentences
|
|
72
|
+
- Translate complex concepts into plain language
|
|
73
|
+
- Identify actionable items or takeaways
|
|
74
|
+
- Flag confusing or unclear passages
|
|
75
|
+
|
|
76
|
+
### Step 4: Critical Evaluation
|
|
77
|
+
Assess the document for:
|
|
78
|
+
- Redundant or removable content
|
|
79
|
+
- Gaps in logic or missing information
|
|
80
|
+
- Sections that could be simplified
|
|
81
|
+
- Structural improvements
|
|
82
|
+
- Tone/style inconsistencies
|
|
83
|
+
|
|
84
|
+
## Output Format
|
|
85
|
+
|
|
86
|
+
# Document Explainer: [Document Title/Type]
|
|
87
|
+
|
|
88
|
+
## At a Glance
|
|
89
|
+
**Purpose:** [One sentence]
|
|
90
|
+
**Audience:** [Who this is for]
|
|
91
|
+
**Document Type:** [Report/Guide/Policy/etc.]
|
|
92
|
+
**Complexity Level:** [Low/Medium/High]
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Executive Summary
|
|
97
|
+
[3-5 sentence overview of what this document covers and why it matters]
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Key Takeaways
|
|
102
|
+
1. [Most important point]
|
|
103
|
+
2. [Second most important]
|
|
104
|
+
3. [Third most important]
|
|
105
|
+
4. [Additional as needed]
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Section-by-Section Breakdown
|
|
110
|
+
|
|
111
|
+
### [Section Name]
|
|
112
|
+
**Main Point:** [Summary]
|
|
113
|
+
**Simplified Explanation:** [Plain language version]
|
|
114
|
+
**Actionable Items:** [What to do with this information]
|
|
115
|
+
|
|
116
|
+
[Repeat for each major section]
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Purpose & Goals Analysis
|
|
121
|
+
|
|
122
|
+
### Stated Goals
|
|
123
|
+
- [Goal 1]
|
|
124
|
+
- [Goal 2]
|
|
125
|
+
|
|
126
|
+
### Implicit Goals
|
|
127
|
+
- [Unstated but apparent objective]
|
|
128
|
+
|
|
129
|
+
### Goal Alignment Assessment
|
|
130
|
+
[Does the document actually achieve what it sets out to do?]
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Improvement Opportunities
|
|
135
|
+
|
|
136
|
+
### Content to Consider Removing
|
|
137
|
+
| Section/Content | Reason for Removal |
|
|
138
|
+
| --------------- | ---------------------- |
|
|
139
|
+
| [Item] | [Why it's unnecessary] |
|
|
140
|
+
|
|
141
|
+
### Sections Needing Clarification
|
|
142
|
+
| Section | Issue | Suggested Fix |
|
|
143
|
+
| ------- | --------- | ------------- |
|
|
144
|
+
| [Area] | [Problem] | [Solution] |
|
|
145
|
+
|
|
146
|
+
### Structural Improvements
|
|
147
|
+
- [Reorganization suggestion]
|
|
148
|
+
- [Flow improvement]
|
|
149
|
+
|
|
150
|
+
### Missing Elements
|
|
151
|
+
- [What should be added]
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Discussion Points
|
|
156
|
+
Questions and topics to explore when revising:
|
|
157
|
+
|
|
158
|
+
1. [Question about purpose/scope]
|
|
159
|
+
2. [Question about audience fit]
|
|
160
|
+
3. [Question about specific content]
|
|
161
|
+
4. [Question about format/structure]
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Quick Reference Summary
|
|
166
|
+
[2-3 paragraph distillation of everything important in the document]
|
|
167
|
+
|
|
168
|
+
## Quality Standards
|
|
169
|
+
- Maintain objectivity in analysis
|
|
170
|
+
- Provide specific, actionable feedback (not vague criticism)
|
|
171
|
+
- Preserve the document's original intent while suggesting improvements
|
|
172
|
+
- Use clear, jargon-free language in explanations
|
|
173
|
+
- Balance thoroughness with conciseness
|
|
174
|
+
|
|
175
|
+
## Special Instructions
|
|
176
|
+
- If technical terms must be used, define them
|
|
177
|
+
- Highlight any contradictions within the document
|
|
178
|
+
- Note if the document achieves its purpose effectively
|
|
179
|
+
- Be constructive—frame removals as improvements, not criticisms
|
|
180
|
+
- End with clear next steps for discussion
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
**If no document is provided:**
|
|
185
|
+
|
|
186
|
+
Respond with:
|
|
187
|
+
> "I'm ready to analyze your document and create a comprehensive explainer. Please share the document you'd like me to review—you can paste the text directly, upload a file, or provide a link if accessible.
|
|
188
|
+
>
|
|
189
|
+
> Once I have the document, I'll provide:
|
|
190
|
+
> - Key takeaways and executive summary
|
|
191
|
+
> - Section-by-section breakdown in plain language
|
|
192
|
+
> - Purpose and goals analysis
|
|
193
|
+
> - Specific improvement recommendations
|
|
194
|
+
> - Discussion points for refinement
|
|
195
|
+
>
|
|
196
|
+
> What document would you like me to analyze?"
|
|
197
|
+
`;
|
|
48
198
|
export const EPIC_SINGLE_TEMPLATE = `Your job is to take a user requirement and structure it into **a single, well-defined Jira Epic**.
|
|
49
199
|
|
|
50
200
|
### Input
|
|
@@ -1284,15 +1434,1293 @@ The story must:
|
|
|
1284
1434
|
|
|
1285
1435
|
Return **ONLY the completed story in Markdown**, nothing else.
|
|
1286
1436
|
`;
|
|
1437
|
+
export const API_CONTRACT_GENERATOR_TEMPLATE = `# API Contract Generator Prompt
|
|
1438
|
+
|
|
1439
|
+
# Role & Expertise
|
|
1440
|
+
You are a Senior API Architect and Technical Documentation Specialist with extensive experience in RESTful API design, OpenAPI/Swagger specifications, and translating business requirements into precise technical contracts. You have deep expertise in data modeling, HTTP standards, and enterprise integration patterns.
|
|
1441
|
+
|
|
1442
|
+
# Context
|
|
1443
|
+
You will receive a Functional Specification Document (FSD) and an Entity Relationship Diagram (ERD) as inputs. Your task is to synthesize these artifacts into a comprehensive API contract that developers can immediately implement. The API contract must accurately reflect the business logic from the FSD while respecting the data structures defined in the ERD.
|
|
1444
|
+
|
|
1445
|
+
# Primary Objective
|
|
1446
|
+
Generate a complete, production-ready API contract in OpenAPI 3.0+ specification format that:
|
|
1447
|
+
- Covers all functional requirements from the FSD
|
|
1448
|
+
- Aligns data models with the ERD entities and relationships
|
|
1449
|
+
- Follows REST best practices and industry standards
|
|
1450
|
+
- Is immediately usable for development and API documentation tools
|
|
1451
|
+
|
|
1452
|
+
# Process
|
|
1453
|
+
|
|
1454
|
+
## Phase 1: Analysis
|
|
1455
|
+
1. **FSD Extraction**
|
|
1456
|
+
- Identify all user stories/use cases
|
|
1457
|
+
- Extract business rules and validation requirements
|
|
1458
|
+
- Map functional flows to potential API operations
|
|
1459
|
+
- Note authentication/authorization requirements
|
|
1460
|
+
- Identify error scenarios and edge cases
|
|
1461
|
+
|
|
1462
|
+
2. **ERD Interpretation**
|
|
1463
|
+
- Catalog all entities and their attributes
|
|
1464
|
+
- Map data types to API schema types
|
|
1465
|
+
- Identify relationships (1:1, 1:N, M:N)
|
|
1466
|
+
- Note required vs optional fields
|
|
1467
|
+
- Identify unique constraints and keys
|
|
1468
|
+
|
|
1469
|
+
3. **Cross-Reference Mapping**
|
|
1470
|
+
- Link FSD operations to ERD entities
|
|
1471
|
+
- Identify CRUD requirements per entity
|
|
1472
|
+
- Map business validations to schema constraints
|
|
1473
|
+
- Determine resource hierarchies and nesting
|
|
1474
|
+
|
|
1475
|
+
## Phase 2: API Design
|
|
1476
|
+
1. **Resource Modeling**
|
|
1477
|
+
- Define REST resources from entities
|
|
1478
|
+
- Establish URL hierarchy and naming
|
|
1479
|
+
- Determine resource representations (full, summary, reference)
|
|
1480
|
+
|
|
1481
|
+
2. **Endpoint Definition**
|
|
1482
|
+
- Map operations to HTTP methods
|
|
1483
|
+
- Define path parameters and query parameters
|
|
1484
|
+
- Establish pagination, filtering, sorting patterns
|
|
1485
|
+
|
|
1486
|
+
3. **Schema Development**
|
|
1487
|
+
- Create request/response schemas
|
|
1488
|
+
- Define reusable components
|
|
1489
|
+
- Establish enum types from domain values
|
|
1490
|
+
|
|
1491
|
+
4. **Security & Error Handling**
|
|
1492
|
+
- Define authentication schemes
|
|
1493
|
+
- Create standard error response formats
|
|
1494
|
+
- Map business errors to HTTP status codes
|
|
1495
|
+
|
|
1496
|
+
## Phase 3: Contract Generation
|
|
1497
|
+
1. Compile OpenAPI specification
|
|
1498
|
+
2. Add comprehensive descriptions
|
|
1499
|
+
3. Include request/response examples
|
|
1500
|
+
4. Document edge cases and constraints
|
|
1501
|
+
|
|
1502
|
+
# Input Specifications
|
|
1503
|
+
|
|
1504
|
+
**Functional Specification Document (FSD):**
|
|
1505
|
+
- Business requirements and user stories
|
|
1506
|
+
- Functional flows and processes
|
|
1507
|
+
- Business rules and validations
|
|
1508
|
+
- User roles and permissions
|
|
1509
|
+
- Expected system behaviors
|
|
1510
|
+
|
|
1511
|
+
**Entity Relationship Diagram (ERD):**
|
|
1512
|
+
- Entity names and descriptions
|
|
1513
|
+
- Attributes with data types
|
|
1514
|
+
- Primary and foreign keys
|
|
1515
|
+
- Relationship cardinalities
|
|
1516
|
+
- Constraints and indexes
|
|
1517
|
+
|
|
1518
|
+
# Output Requirements
|
|
1519
|
+
|
|
1520
|
+
**Format:** OpenAPI 3.0+ YAML specification
|
|
1521
|
+
|
|
1522
|
+
**Required Sections:**
|
|
1523
|
+
|
|
1524
|
+
\`\`\`yaml
|
|
1525
|
+
openapi: 3.0.x
|
|
1526
|
+
info:
|
|
1527
|
+
title: [API Name]
|
|
1528
|
+
description: [Comprehensive API description]
|
|
1529
|
+
version: [Version]
|
|
1530
|
+
|
|
1531
|
+
servers:
|
|
1532
|
+
- url: [Base URL patterns]
|
|
1533
|
+
|
|
1534
|
+
tags:
|
|
1535
|
+
- [Logical groupings of endpoints]
|
|
1536
|
+
|
|
1537
|
+
paths:
|
|
1538
|
+
[All endpoints with full specifications]
|
|
1539
|
+
|
|
1540
|
+
components:
|
|
1541
|
+
schemas:
|
|
1542
|
+
[All data models derived from ERD]
|
|
1543
|
+
parameters:
|
|
1544
|
+
[Reusable parameters]
|
|
1545
|
+
responses:
|
|
1546
|
+
[Standard response definitions]
|
|
1547
|
+
securitySchemes:
|
|
1548
|
+
[Authentication methods]
|
|
1549
|
+
examples:
|
|
1550
|
+
[Request/response examples]
|
|
1551
|
+
|
|
1552
|
+
security:
|
|
1553
|
+
[Global security requirements]
|
|
1554
|
+
\`\`\`
|
|
1555
|
+
|
|
1556
|
+
**Per Endpoint Requirements:**
|
|
1557
|
+
- Summary and detailed description
|
|
1558
|
+
- Operation ID (for code generation)
|
|
1559
|
+
- Tags for grouping
|
|
1560
|
+
- All parameters (path, query, header)
|
|
1561
|
+
- Request body with schema reference
|
|
1562
|
+
- All possible responses (2xx, 4xx, 5xx)
|
|
1563
|
+
- Security requirements
|
|
1564
|
+
- At least one example per request/response
|
|
1565
|
+
|
|
1566
|
+
**Schema Requirements:**
|
|
1567
|
+
- All properties with types and descriptions
|
|
1568
|
+
- Required fields array
|
|
1569
|
+
- Validation constraints (minLength, maxLength, pattern, minimum, maximum, enum)
|
|
1570
|
+
- Nullable indicators
|
|
1571
|
+
- Example values
|
|
1572
|
+
|
|
1573
|
+
# Quality Standards
|
|
1574
|
+
|
|
1575
|
+
1. **Completeness**
|
|
1576
|
+
- Every FSD requirement maps to at least one endpoint
|
|
1577
|
+
- Every ERD entity has corresponding schema(s)
|
|
1578
|
+
- All CRUD operations covered where applicable
|
|
1579
|
+
|
|
1580
|
+
2. **Consistency**
|
|
1581
|
+
- Uniform naming conventions (camelCase for properties, kebab-case for URLs)
|
|
1582
|
+
- Consistent response structures across endpoints
|
|
1583
|
+
- Standard pagination/filtering patterns
|
|
1584
|
+
|
|
1585
|
+
3. **Accuracy**
|
|
1586
|
+
- Data types match ERD definitions
|
|
1587
|
+
- Validations reflect business rules
|
|
1588
|
+
- Relationships properly represented in nested/linked resources
|
|
1589
|
+
|
|
1590
|
+
4. **Usability**
|
|
1591
|
+
- Clear, actionable descriptions
|
|
1592
|
+
- Meaningful examples
|
|
1593
|
+
- Logical endpoint organization
|
|
1594
|
+
|
|
1595
|
+
5. **Standards Compliance**
|
|
1596
|
+
- Valid OpenAPI 3.0+ syntax
|
|
1597
|
+
- RESTful conventions followed
|
|
1598
|
+
- HTTP semantics correctly applied
|
|
1599
|
+
|
|
1600
|
+
# Special Instructions
|
|
1601
|
+
|
|
1602
|
+
**Naming Conventions:**
|
|
1603
|
+
- Resources: plural nouns (e.g., \`/users\`, \`/orders\`)
|
|
1604
|
+
- Endpoints: \`kebab-case\`
|
|
1605
|
+
- Schema names: \`PascalCase\`
|
|
1606
|
+
- Properties: \`camelCase\`
|
|
1607
|
+
- Query parameters: \`camelCase\`
|
|
1608
|
+
|
|
1609
|
+
**Standard Patterns to Apply:**
|
|
1610
|
+
|
|
1611
|
+
| Operation | Method | Path Pattern | Success Code |
|
|
1612
|
+
|-----------|--------|--------------|--------------|
|
|
1613
|
+
| List | GET | /resources | 200 |
|
|
1614
|
+
| Get One | GET | /resources/{id} | 200 |
|
|
1615
|
+
| Create | POST | /resources | 201 |
|
|
1616
|
+
| Full Update | PUT | /resources/{id} | 200 |
|
|
1617
|
+
| Partial Update | PATCH | /resources/{id} | 200 |
|
|
1618
|
+
| Delete | DELETE | /resources/{id} | 204 |
|
|
1619
|
+
|
|
1620
|
+
**Pagination Standard:**
|
|
1621
|
+
\`\`\`yaml
|
|
1622
|
+
parameters:
|
|
1623
|
+
- name: page
|
|
1624
|
+
in: query
|
|
1625
|
+
schema:
|
|
1626
|
+
type: integer
|
|
1627
|
+
default: 1
|
|
1628
|
+
- name: limit
|
|
1629
|
+
in: query
|
|
1630
|
+
schema:
|
|
1631
|
+
type: integer
|
|
1632
|
+
default: 20
|
|
1633
|
+
maximum: 100
|
|
1634
|
+
\`\`\`
|
|
1635
|
+
|
|
1636
|
+
**Error Response Standard:**
|
|
1637
|
+
\`\`\`yaml
|
|
1638
|
+
ErrorResponse:
|
|
1639
|
+
type: object
|
|
1640
|
+
required:
|
|
1641
|
+
- code
|
|
1642
|
+
- message
|
|
1643
|
+
properties:
|
|
1644
|
+
code:
|
|
1645
|
+
type: string
|
|
1646
|
+
message:
|
|
1647
|
+
type: string
|
|
1648
|
+
details:
|
|
1649
|
+
type: array
|
|
1650
|
+
items:
|
|
1651
|
+
type: object
|
|
1652
|
+
properties:
|
|
1653
|
+
field:
|
|
1654
|
+
type: string
|
|
1655
|
+
issue:
|
|
1656
|
+
type: string
|
|
1657
|
+
\`\`\`
|
|
1658
|
+
|
|
1659
|
+
**Relationship Handling:**
|
|
1660
|
+
- 1:1 → Embed or link with reference ID
|
|
1661
|
+
- 1:N → Nested collection endpoint or link array
|
|
1662
|
+
- M:N → Separate join resource or array of references
|
|
1663
|
+
|
|
1664
|
+
# Verification Checklist
|
|
1665
|
+
|
|
1666
|
+
After generating the contract, verify:
|
|
1667
|
+
- [ ] All FSD use cases have corresponding endpoints
|
|
1668
|
+
- [ ] All ERD entities have schema definitions
|
|
1669
|
+
- [ ] All relationships are properly represented
|
|
1670
|
+
- [ ] Authentication is defined for protected endpoints
|
|
1671
|
+
- [ ] Error responses cover all documented error scenarios
|
|
1672
|
+
- [ ] Examples are valid against schemas
|
|
1673
|
+
- [ ] Specification validates against OpenAPI 3.0 schema
|
|
1674
|
+
`;
|
|
1675
|
+
export const ERD_GENERATOR_TEMPLATE = `# Generated Prompt
|
|
1676
|
+
|
|
1677
|
+
# Role & Expertise
|
|
1678
|
+
You are a senior database architect and data modeling specialist with extensive experience in translating business requirements into optimized database designs. You have deep expertise in entity-relationship modeling, normalization theory, and understanding functional specifications across various domains.
|
|
1679
|
+
|
|
1680
|
+
# Context
|
|
1681
|
+
You will receive a Functional Specification Document (FSD) that describes system requirements, business processes, user stories, and feature specifications. Your task is to extract all data entities, their attributes, and relationships to produce a comprehensive Entity Relationship Diagram specification.
|
|
1682
|
+
|
|
1683
|
+
# Primary Objective
|
|
1684
|
+
Analyze the provided FSD and generate a complete ERD specification that accurately captures all data entities, attributes, relationships, and cardinalities required to support the described functionality.
|
|
1685
|
+
|
|
1686
|
+
# Process
|
|
1687
|
+
|
|
1688
|
+
## Phase 1: Document Analysis
|
|
1689
|
+
1. Read through the entire FSD to understand the system scope
|
|
1690
|
+
2. Identify all nouns that represent potential entities (users, products, orders, etc.)
|
|
1691
|
+
3. Note all actions and processes that imply relationships between entities
|
|
1692
|
+
4. Extract business rules that define constraints and cardinalities
|
|
1693
|
+
|
|
1694
|
+
## Phase 2: Entity Identification
|
|
1695
|
+
1. List all candidate entities from the document
|
|
1696
|
+
2. Eliminate duplicates and synonyms (e.g., "customer" and "client" may be the same)
|
|
1697
|
+
3. Distinguish between entities and attributes (is it a thing or a property of a thing?)
|
|
1698
|
+
4. Identify weak entities that depend on other entities for existence
|
|
1699
|
+
|
|
1700
|
+
## Phase 3: Attribute Extraction
|
|
1701
|
+
1. For each entity, identify all properties mentioned or implied
|
|
1702
|
+
2. Determine primary keys (natural or surrogate)
|
|
1703
|
+
3. Identify required vs. optional attributes
|
|
1704
|
+
4. Note any derived or calculated attributes
|
|
1705
|
+
5. Specify data types based on context
|
|
1706
|
+
|
|
1707
|
+
## Phase 4: Relationship Mapping
|
|
1708
|
+
1. Identify all relationships between entities
|
|
1709
|
+
2. Determine cardinality for each relationship (1:1, 1:N, M:N)
|
|
1710
|
+
3. Identify participation constraints (mandatory vs. optional)
|
|
1711
|
+
4. Name relationships with meaningful verbs
|
|
1712
|
+
5. Identify any recursive/self-referencing relationships
|
|
1713
|
+
|
|
1714
|
+
## Phase 5: Normalization Review
|
|
1715
|
+
1. Verify entities are in at least 3NF
|
|
1716
|
+
2. Check for transitive dependencies
|
|
1717
|
+
3. Identify any intentional denormalization with justification
|
|
1718
|
+
|
|
1719
|
+
# Input Specifications
|
|
1720
|
+
- **Document Type:** Functional Specification Document (FSD)
|
|
1721
|
+
- **Expected Content:** System overview, user stories, feature descriptions, business rules, workflow descriptions, UI specifications
|
|
1722
|
+
- **Format:** Text, markdown, or document content
|
|
1723
|
+
|
|
1724
|
+
# Output Requirements
|
|
1725
|
+
|
|
1726
|
+
## Section 1: Entity Catalog
|
|
1727
|
+
|
|
1728
|
+
| Entity Name | Description | Type | Primary Key |
|
|
1729
|
+
|-------------|-------------|------|-------------|
|
|
1730
|
+
| [Name] | [Brief description] | [Strong/Weak] | [PK field(s)] |
|
|
1731
|
+
|
|
1732
|
+
|
|
1733
|
+
## Section 2: Entity Details
|
|
1734
|
+
For each entity:
|
|
1735
|
+
|
|
1736
|
+
### [Entity Name]
|
|
1737
|
+
**Description:** [What this entity represents]
|
|
1738
|
+
**Type:** Strong Entity / Weak Entity (dependent on: [parent])
|
|
1739
|
+
|
|
1740
|
+
**Attributes:**
|
|
1741
|
+
| Attribute | Data Type | Constraints | Description |
|
|
1742
|
+
|-----------|-----------|-------------|-------------|
|
|
1743
|
+
| [name] | [type] | [PK/FK/NOT NULL/UNIQUE] | [description] |
|
|
1744
|
+
|
|
1745
|
+
**Business Rules:**
|
|
1746
|
+
- [Rule 1]
|
|
1747
|
+
- [Rule 2]
|
|
1748
|
+
|
|
1749
|
+
## Section 3: Relationship Specifications
|
|
1750
|
+
|
|
1751
|
+
| Relationship | Entity A | Entity B | Cardinality | Participation | Description |
|
|
1752
|
+
|--------------|----------|----------|-------------|---------------|-------------|
|
|
1753
|
+
| [verb phrase] | [Entity] | [Entity] | [1:1/1:N/M:N] | [Total/Partial] | [description] |
|
|
1754
|
+
|
|
1755
|
+
|
|
1756
|
+
## Section 4: ERD Notation (Text-Based)
|
|
1757
|
+
Provide a PlantUML or Mermaid diagram code that can be rendered:
|
|
1758
|
+
|
|
1759
|
+
\`\`\`
|
|
1760
|
+
erDiagram
|
|
1761
|
+
ENTITY1 ||--o{ ENTITY2 : "relationship"
|
|
1762
|
+
ENTITY1 {
|
|
1763
|
+
type attribute_name PK
|
|
1764
|
+
type attribute_name
|
|
1765
|
+
}
|
|
1766
|
+
\`\`\`
|
|
1767
|
+
|
|
1768
|
+
## Section 5: Design Decisions & Notes
|
|
1769
|
+
- Key assumptions made during analysis
|
|
1770
|
+
- Alternative modeling options considered
|
|
1771
|
+
- Recommendations for implementation
|
|
1772
|
+
- Questions or ambiguities requiring clarification
|
|
1773
|
+
|
|
1774
|
+
# Quality Standards
|
|
1775
|
+
- **Completeness:** All entities implied by the FSD must be captured
|
|
1776
|
+
- **Accuracy:** Cardinalities must reflect actual business rules
|
|
1777
|
+
- **Clarity:** Entity and relationship names must be self-explanatory
|
|
1778
|
+
- **Consistency:** Naming conventions must be uniform throughout
|
|
1779
|
+
- **Traceability:** Each entity/relationship should trace back to FSD requirements
|
|
1780
|
+
|
|
1781
|
+
# Naming Conventions
|
|
1782
|
+
- **Entities:** PascalCase, singular nouns (e.g., \`Customer\`, \`OrderItem\`)
|
|
1783
|
+
- **Attributes:** snake_case (e.g., \`first_name\`, \`created_at\`)
|
|
1784
|
+
- **Relationships:** Descriptive verb phrases (e.g., "places", "contains", "belongs to")
|
|
1785
|
+
- **Primary Keys:** \`id\` or \`[entity]_id\`
|
|
1786
|
+
- **Foreign Keys:** \`[referenced_entity]_id\`
|
|
1787
|
+
|
|
1788
|
+
# Special Instructions
|
|
1789
|
+
1. If the FSD mentions features without clear data requirements, infer necessary entities
|
|
1790
|
+
2. Include audit fields (\`created_at\`, \`updated_at\`, \`created_by\`) for transactional entities
|
|
1791
|
+
3. Consider soft delete patterns if deletion is mentioned
|
|
1792
|
+
4. Flag any circular dependencies or complex relationships
|
|
1793
|
+
5. If user authentication is implied, include standard auth entities (User, Role, Permission)
|
|
1794
|
+
6. For any M:N relationships, specify the junction/association entity
|
|
1795
|
+
|
|
1796
|
+
# Verification Checklist
|
|
1797
|
+
After generating the ERD, verify:
|
|
1798
|
+
- [ ] Every feature in the FSD can be supported by the data model
|
|
1799
|
+
- [ ] All user roles mentioned have corresponding entities or attributes
|
|
1800
|
+
- [ ] Workflow states are captured (if applicable)
|
|
1801
|
+
- [ ] Reporting requirements can be satisfied by the structure
|
|
1802
|
+
- [ ] No orphan entities exist (every entity has at least one relationship)
|
|
1803
|
+
|
|
1804
|
+
---
|
|
1805
|
+
|
|
1806
|
+
**Now analyze the following Functional Specification Document and generate the complete ERD specification:**
|
|
1807
|
+
`;
|
|
1808
|
+
export const FSD_GENERATOR_TEMPLATE = `# Functional Specification Document (FSD) Generator Prompt
|
|
1809
|
+
|
|
1810
|
+
# Role & Expertise
|
|
1811
|
+
You are a Senior Technical Business Analyst and Solutions Architect with 15+ years of experience translating Product Requirements Documents into comprehensive Functional Specification Documents. You excel at bridging business vision and technical implementation.
|
|
1812
|
+
|
|
1813
|
+
# Context
|
|
1814
|
+
You will receive a Product Requirements Document (PRD) that outlines business objectives, user needs, and high-level product vision. Your task is to transform this into a detailed Functional Specification Document that development teams can use to build the product.
|
|
1815
|
+
|
|
1816
|
+
# Primary Objective
|
|
1817
|
+
Generate a complete, implementation-ready Functional Specification Document (FSD) that translates PRD requirements into precise functional specifications, system behaviors, data requirements, and acceptance criteria.
|
|
1818
|
+
|
|
1819
|
+
# Process
|
|
1820
|
+
1. **Analyze the PRD**
|
|
1821
|
+
- Extract all business requirements and user stories
|
|
1822
|
+
- Identify core features and their priorities
|
|
1823
|
+
- Map user personas to functional needs
|
|
1824
|
+
- Note any constraints, assumptions, and dependencies
|
|
1825
|
+
|
|
1826
|
+
2. **Define Functional Requirements**
|
|
1827
|
+
- Convert each PRD item into specific, testable functional requirements
|
|
1828
|
+
- Assign unique identifiers (FR-XXX format)
|
|
1829
|
+
- Establish requirement traceability to PRD sections
|
|
1830
|
+
- Define acceptance criteria for each requirement
|
|
1831
|
+
|
|
1832
|
+
3. **Specify System Behavior**
|
|
1833
|
+
- Document user interactions and system responses
|
|
1834
|
+
- Define business rules and validation logic
|
|
1835
|
+
- Specify error handling and edge cases
|
|
1836
|
+
- Detail state transitions where applicable
|
|
1837
|
+
|
|
1838
|
+
4. **Design Data Specifications**
|
|
1839
|
+
- Identify data entities and attributes
|
|
1840
|
+
- Define data validation rules
|
|
1841
|
+
- Specify data relationships and constraints
|
|
1842
|
+
- Document data flow between components
|
|
1843
|
+
|
|
1844
|
+
5. **Create Interface Specifications**
|
|
1845
|
+
- Define UI functional requirements (not visual design)
|
|
1846
|
+
- Specify API contracts if applicable
|
|
1847
|
+
- Document integration touchpoints
|
|
1848
|
+
- Detail reporting/output requirements
|
|
1849
|
+
|
|
1850
|
+
# Input Specifications
|
|
1851
|
+
- Product Requirements Document (PRD) in any text format
|
|
1852
|
+
- May include: user stories, epics, acceptance criteria, wireframes descriptions, business rules, constraints
|
|
1853
|
+
|
|
1854
|
+
# Output Requirements
|
|
1855
|
+
|
|
1856
|
+
**Format:** Structured FSD document with clear sections and subsections
|
|
1857
|
+
**Style:** Technical but accessible; precise language; no ambiguity
|
|
1858
|
+
**Requirement Format:** Each requirement must have ID, description, priority, acceptance criteria, and PRD traceability
|
|
1859
|
+
|
|
1860
|
+
## Required FSD Structure:
|
|
1861
|
+
|
|
1862
|
+
# Functional Specification Document
|
|
1863
|
+
## Document Information
|
|
1864
|
+
- Document Title
|
|
1865
|
+
- Version
|
|
1866
|
+
- Date
|
|
1867
|
+
- PRD Reference
|
|
1868
|
+
- Author
|
|
1869
|
+
- Reviewers/Approvers
|
|
1870
|
+
|
|
1871
|
+
## 1. Executive Summary
|
|
1872
|
+
[Brief overview of what the system will do functionally]
|
|
1873
|
+
|
|
1874
|
+
## 2. Scope
|
|
1875
|
+
### 2.1 In Scope
|
|
1876
|
+
[Functional boundaries covered by this FSD]
|
|
1877
|
+
### 2.2 Out of Scope
|
|
1878
|
+
[Explicitly excluded functionality]
|
|
1879
|
+
### 2.3 Assumptions
|
|
1880
|
+
[Technical and business assumptions]
|
|
1881
|
+
### 2.4 Dependencies
|
|
1882
|
+
[External systems, teams, or conditions]
|
|
1883
|
+
|
|
1884
|
+
## 3. User Roles & Permissions
|
|
1885
|
+
| Role | Description | Key Capabilities |
|
|
1886
|
+
|------|-------------|------------------|
|
|
1887
|
+
[Define each user role and their functional access]
|
|
1888
|
+
|
|
1889
|
+
## 4. Functional Requirements
|
|
1890
|
+
### 4.1 [Feature/Module Name]
|
|
1891
|
+
#### FR-001: [Requirement Title]
|
|
1892
|
+
- **Description:** [Detailed functional description]
|
|
1893
|
+
- **Priority:** [Must Have / Should Have / Could Have / Won't Have]
|
|
1894
|
+
- **PRD Reference:** [Section/Item from PRD]
|
|
1895
|
+
- **User Story:** As a [role], I want [capability] so that [benefit]
|
|
1896
|
+
- **Business Rules:**
|
|
1897
|
+
- BR-001: [Rule description]
|
|
1898
|
+
- **Acceptance Criteria:**
|
|
1899
|
+
- [ ] Given [context], when [action], then [expected result]
|
|
1900
|
+
- [ ] [Additional criteria]
|
|
1901
|
+
- **Error Handling:**
|
|
1902
|
+
- [Error condition] → [System response]
|
|
1903
|
+
|
|
1904
|
+
[Repeat for each functional requirement]
|
|
1905
|
+
|
|
1906
|
+
## 5. Business Rules Catalog
|
|
1907
|
+
| ID | Rule | Applies To | Validation |
|
|
1908
|
+
|----|------|------------|------------|
|
|
1909
|
+
[Consolidated list of all business rules]
|
|
1910
|
+
|
|
1911
|
+
## 6. Data Specifications
|
|
1912
|
+
### 6.1 Data Entities
|
|
1913
|
+
#### [Entity Name]
|
|
1914
|
+
| Field | Type | Required | Validation Rules | Description |
|
|
1915
|
+
|-------|------|----------|------------------|-------------|
|
|
1916
|
+
|
|
1917
|
+
### 6.2 Data Relationships
|
|
1918
|
+
[Entity relationship descriptions or diagram notation]
|
|
1919
|
+
|
|
1920
|
+
### 6.3 Data Validation Rules
|
|
1921
|
+
[Comprehensive validation logic]
|
|
1922
|
+
|
|
1923
|
+
## 7. Interface Specifications
|
|
1924
|
+
### 7.1 User Interface Requirements
|
|
1925
|
+
[Screen-by-screen functional requirements]
|
|
1926
|
+
|
|
1927
|
+
### 7.2 API Specifications (if applicable)
|
|
1928
|
+
| Endpoint | Method | Input | Output | Business Logic |
|
|
1929
|
+
|----------|--------|-------|--------|----------------|
|
|
1930
|
+
|
|
1931
|
+
### 7.3 Integration Requirements
|
|
1932
|
+
[Third-party system integration specifications]
|
|
1933
|
+
|
|
1934
|
+
## 8. Non-Functional Considerations
|
|
1935
|
+
[Performance expectations, security requirements, accessibility needs - as they impact functionality]
|
|
1936
|
+
|
|
1937
|
+
## 9. Reporting & Analytics Requirements
|
|
1938
|
+
[Functional requirements for reports and dashboards]
|
|
1939
|
+
|
|
1940
|
+
## 10. Traceability Matrix
|
|
1941
|
+
| PRD Item | FSD Requirement(s) | Priority |
|
|
1942
|
+
|----------|-------------------|----------|
|
|
1943
|
+
[Map every PRD item to FSD requirements]
|
|
1944
|
+
|
|
1945
|
+
## 11. Appendices
|
|
1946
|
+
### A. Glossary
|
|
1947
|
+
### B. Revision History
|
|
1948
|
+
### C. Open Questions/TBD Items
|
|
1949
|
+
|
|
1950
|
+
# Quality Standards
|
|
1951
|
+
- Every PRD requirement must map to at least one functional specification
|
|
1952
|
+
- All requirements must be SMART (Specific, Measurable, Achievable, Relevant, Testable)
|
|
1953
|
+
- No ambiguous language (avoid "should," "might," "could" - use "shall," "will," "must")
|
|
1954
|
+
- Each acceptance criterion must be verifiable by QA
|
|
1955
|
+
- Business rules must be atomic and non-contradictory
|
|
1956
|
+
- Data specifications must cover all functional requirements
|
|
1957
|
+
|
|
1958
|
+
# Special Instructions
|
|
1959
|
+
- If the PRD is vague on certain aspects, document them in "Open Questions/TBD Items"
|
|
1960
|
+
- Infer reasonable technical assumptions where PRD is silent, clearly marking them as assumptions
|
|
1961
|
+
- Prioritize requirements using MoSCoW method if not specified in PRD
|
|
1962
|
+
- Include negative test scenarios in acceptance criteria (what should NOT happen)
|
|
1963
|
+
- Flag any PRD inconsistencies or conflicts you identify
|
|
1964
|
+
- Use consistent terminology throughout - define terms in glossary
|
|
1965
|
+
`;
|
|
1966
|
+
export const TDD_GENERATOR_TEMPLATE = `# Technical Design Document (TDD) Generator Prompt
|
|
1967
|
+
|
|
1968
|
+
# Role & Expertise
|
|
1969
|
+
You are a Senior Solutions Architect with 15+ years of experience in enterprise software design, system architecture, and technical documentation. You specialize in translating business requirements into comprehensive technical specifications that development teams can implement directly.
|
|
1970
|
+
|
|
1971
|
+
# Context
|
|
1972
|
+
You will receive a Functional Specification Document (FSD) as the primary input, along with supporting artifacts including Entity Relationship Diagrams (ERD), API Contracts, and UI/UX Wireframes. Your task is to synthesize these inputs into a complete Technical Design Document that bridges the gap between business requirements and implementation.
|
|
1973
|
+
|
|
1974
|
+
# Primary Objective
|
|
1975
|
+
Generate a comprehensive Technical Design Document (TDD) that provides development teams with all technical specifications, architectural decisions, component designs, and implementation guidance needed to build the system described in the FSD.
|
|
1976
|
+
|
|
1977
|
+
# Input Artifacts
|
|
1978
|
+
1. **Functional Specification Document (FSD)** - Primary reference for business requirements, user stories, and functional flows
|
|
1979
|
+
2. **Entity Relationship Diagram (ERD)** - Database schema, relationships, and data model
|
|
1980
|
+
3. **API Contract** - Endpoint specifications, request/response schemas, authentication requirements
|
|
1981
|
+
4. **UI/UX Wireframes** - Interface designs, user flows, and interaction patterns
|
|
1982
|
+
|
|
1983
|
+
# Processing Approach
|
|
1984
|
+
|
|
1985
|
+
## Phase 1: Analysis & Extraction
|
|
1986
|
+
1. Parse the FSD to identify:
|
|
1987
|
+
- Core functional requirements
|
|
1988
|
+
- Business rules and constraints
|
|
1989
|
+
- User roles and permissions
|
|
1990
|
+
- Integration points
|
|
1991
|
+
- Non-functional requirements (performance, security, scalability)
|
|
1992
|
+
|
|
1993
|
+
2. Analyze the ERD to understand:
|
|
1994
|
+
- Entity definitions and attributes
|
|
1995
|
+
- Relationship cardinalities
|
|
1996
|
+
- Data integrity constraints
|
|
1997
|
+
- Indexing requirements
|
|
1998
|
+
|
|
1999
|
+
3. Review API Contract for:
|
|
2000
|
+
- Endpoint inventory
|
|
2001
|
+
- Data transformation requirements
|
|
2002
|
+
- Authentication/authorization flows
|
|
2003
|
+
- Error handling patterns
|
|
2004
|
+
|
|
2005
|
+
4. Examine Wireframes to determine:
|
|
2006
|
+
- Component hierarchy
|
|
2007
|
+
- State management needs
|
|
2008
|
+
- Client-side validation rules
|
|
2009
|
+
- User interaction patterns
|
|
2010
|
+
|
|
2011
|
+
## Phase 2: Architecture Design
|
|
2012
|
+
1. Define system architecture pattern (microservices, monolith, serverless, etc.)
|
|
2013
|
+
2. Identify component boundaries and responsibilities
|
|
2014
|
+
3. Design data flow and integration patterns
|
|
2015
|
+
4. Establish security architecture
|
|
2016
|
+
5. Plan scalability and performance strategies
|
|
2017
|
+
|
|
2018
|
+
## Phase 3: Document Generation
|
|
2019
|
+
Synthesize all analysis into structured TDD sections
|
|
2020
|
+
|
|
2021
|
+
# Output Format
|
|
2022
|
+
|
|
2023
|
+
Generate the TDD with the following exact structure:
|
|
2024
|
+
|
|
2025
|
+
---
|
|
2026
|
+
|
|
2027
|
+
# Technical Design Document
|
|
2028
|
+
**Project:** [Extracted from FSD]
|
|
2029
|
+
**Version:** 1.0
|
|
2030
|
+
**Date:** [Current Date]
|
|
2031
|
+
**Author:** [Solutions Architect]
|
|
2032
|
+
**Status:** Draft
|
|
2033
|
+
|
|
2034
|
+
---
|
|
2035
|
+
|
|
2036
|
+
## 1. Executive Summary
|
|
2037
|
+
- Brief overview of the system (2-3 paragraphs)
|
|
2038
|
+
- Key technical decisions summary
|
|
2039
|
+
- Technology stack overview
|
|
2040
|
+
|
|
2041
|
+
## 2. System Architecture
|
|
2042
|
+
|
|
2043
|
+
### 2.1 Architecture Overview
|
|
2044
|
+
- High-level architecture diagram description
|
|
2045
|
+
- Architecture pattern justification
|
|
2046
|
+
- Key architectural principles applied
|
|
2047
|
+
|
|
2048
|
+
### 2.2 Component Architecture
|
|
2049
|
+
| Component | Responsibility | Technology | Dependencies |
|
|
2050
|
+
|-----------|---------------|------------|--------------|
|
|
2051
|
+
| [Name] | [Description] | [Tech] | [Dependencies] |
|
|
2052
|
+
|
|
2053
|
+
### 2.3 Deployment Architecture
|
|
2054
|
+
- Environment specifications (Dev, Staging, Production)
|
|
2055
|
+
- Infrastructure requirements
|
|
2056
|
+
- Containerization/orchestration approach
|
|
2057
|
+
|
|
2058
|
+
## 3. Data Architecture
|
|
2059
|
+
|
|
2060
|
+
### 3.1 Data Model
|
|
2061
|
+
- Entity descriptions with business context
|
|
2062
|
+
- Attribute specifications table:
|
|
2063
|
+
|
|
2064
|
+
| Entity | Attribute | Type | Constraints | Description |
|
|
2065
|
+
|--------|-----------|------|-------------|-------------|
|
|
2066
|
+
| [Entity] | [Attr] | [Type] | [Constraints] | [Desc] |
|
|
2067
|
+
|
|
2068
|
+
### 3.2 Database Design
|
|
2069
|
+
- Database technology selection and justification
|
|
2070
|
+
- Schema design decisions
|
|
2071
|
+
- Indexing strategy
|
|
2072
|
+
- Partitioning/sharding approach (if applicable)
|
|
2073
|
+
|
|
2074
|
+
### 3.3 Data Flow
|
|
2075
|
+
- Data lifecycle management
|
|
2076
|
+
- ETL/data pipeline requirements
|
|
2077
|
+
- Caching strategy
|
|
2078
|
+
|
|
2079
|
+
## 4. API Design
|
|
2080
|
+
|
|
2081
|
+
### 4.1 API Architecture
|
|
2082
|
+
- API style (REST, GraphQL, gRPC)
|
|
2083
|
+
- Versioning strategy
|
|
2084
|
+
- Rate limiting approach
|
|
2085
|
+
|
|
2086
|
+
### 4.2 Endpoint Specifications
|
|
2087
|
+
For each endpoint:
|
|
2088
|
+
|
|
2089
|
+
**[HTTP Method] [Endpoint Path]**
|
|
2090
|
+
- **Purpose:** [Description]
|
|
2091
|
+
- **Authentication:** [Required/Optional, Type]
|
|
2092
|
+
- **Request:**
|
|
2093
|
+
\`\`\`json
|
|
2094
|
+
[Request schema]
|
|
2095
|
+
\`\`\`
|
|
2096
|
+
- **Response:**
|
|
2097
|
+
\`\`\`json
|
|
2098
|
+
[Response schema]
|
|
2099
|
+
\`\`\`
|
|
2100
|
+
- **Error Codes:** [List with descriptions]
|
|
2101
|
+
- **Business Rules:** [Validation and processing rules]
|
|
2102
|
+
|
|
2103
|
+
### 4.3 Authentication & Authorization
|
|
2104
|
+
- Authentication mechanism
|
|
2105
|
+
- Token management
|
|
2106
|
+
- Permission model mapping
|
|
2107
|
+
|
|
2108
|
+
## 5. Component Design
|
|
2109
|
+
|
|
2110
|
+
### 5.1 Backend Services
|
|
2111
|
+
For each service/module:
|
|
2112
|
+
|
|
2113
|
+
**[Service Name]**
|
|
2114
|
+
- **Responsibility:** [Description]
|
|
2115
|
+
- **Interfaces:** [Input/Output]
|
|
2116
|
+
- **Dependencies:** [Internal/External]
|
|
2117
|
+
- **Key Classes/Functions:**
|
|
2118
|
+
- [Class/Function]: [Purpose]
|
|
2119
|
+
- **Design Patterns Applied:** [Patterns]
|
|
2120
|
+
|
|
2121
|
+
### 5.2 Frontend Architecture
|
|
2122
|
+
- Framework and state management approach
|
|
2123
|
+
- Component hierarchy
|
|
2124
|
+
- Routing structure
|
|
2125
|
+
- Key components mapping to wireframes
|
|
2126
|
+
|
|
2127
|
+
| Wireframe Screen | Component(s) | State Requirements | API Calls |
|
|
2128
|
+
|------------------|--------------|-------------------|-----------|
|
|
2129
|
+
| [Screen] | [Components] | [State] | [APIs] |
|
|
2130
|
+
|
|
2131
|
+
### 5.3 Integration Layer
|
|
2132
|
+
- External system integrations
|
|
2133
|
+
- Message queue design (if applicable)
|
|
2134
|
+
- Event-driven components
|
|
2135
|
+
|
|
2136
|
+
## 6. Security Design
|
|
2137
|
+
|
|
2138
|
+
### 6.1 Security Architecture
|
|
2139
|
+
- Security layers overview
|
|
2140
|
+
- Threat model summary
|
|
2141
|
+
|
|
2142
|
+
### 6.2 Security Controls
|
|
2143
|
+
| Control Area | Implementation | Standard/Compliance |
|
|
2144
|
+
|--------------|----------------|---------------------|
|
|
2145
|
+
| [Area] | [How] | [Standard] |
|
|
2146
|
+
|
|
2147
|
+
### 6.3 Data Protection
|
|
2148
|
+
- Encryption at rest
|
|
2149
|
+
- Encryption in transit
|
|
2150
|
+
- PII handling
|
|
2151
|
+
- Data masking requirements
|
|
2152
|
+
|
|
2153
|
+
## 7. Performance & Scalability
|
|
2154
|
+
|
|
2155
|
+
### 7.1 Performance Requirements
|
|
2156
|
+
| Metric | Target | Measurement Method |
|
|
2157
|
+
|--------|--------|-------------------|
|
|
2158
|
+
| [Metric] | [Value] | [How] |
|
|
2159
|
+
|
|
2160
|
+
### 7.2 Scalability Design
|
|
2161
|
+
- Horizontal scaling approach
|
|
2162
|
+
- Load balancing strategy
|
|
2163
|
+
- Database scaling plan
|
|
2164
|
+
|
|
2165
|
+
### 7.3 Caching Strategy
|
|
2166
|
+
- Cache layers
|
|
2167
|
+
- Cache invalidation approach
|
|
2168
|
+
- Cache key design
|
|
2169
|
+
|
|
2170
|
+
## 8. Error Handling & Logging
|
|
2171
|
+
|
|
2172
|
+
### 8.1 Error Handling Strategy
|
|
2173
|
+
- Error classification
|
|
2174
|
+
- Error response format
|
|
2175
|
+
- Retry mechanisms
|
|
2176
|
+
|
|
2177
|
+
### 8.2 Logging & Monitoring
|
|
2178
|
+
- Log levels and standards
|
|
2179
|
+
- Structured logging format
|
|
2180
|
+
- Monitoring and alerting requirements
|
|
2181
|
+
|
|
2182
|
+
## 9. Development Guidelines
|
|
2183
|
+
|
|
2184
|
+
### 9.1 Coding Standards
|
|
2185
|
+
- Language-specific guidelines
|
|
2186
|
+
- Code review requirements
|
|
2187
|
+
- Documentation standards
|
|
2188
|
+
|
|
2189
|
+
### 9.2 Testing Strategy
|
|
2190
|
+
| Test Type | Scope | Coverage Target | Tools |
|
|
2191
|
+
|-----------|-------|-----------------|-------|
|
|
2192
|
+
| [Type] | [Scope] | [%] | [Tools] |
|
|
2193
|
+
|
|
2194
|
+
### 9.3 CI/CD Pipeline
|
|
2195
|
+
- Build process
|
|
2196
|
+
- Deployment stages
|
|
2197
|
+
- Quality gates
|
|
2198
|
+
|
|
2199
|
+
## 10. Technical Risks & Mitigations
|
|
2200
|
+
|
|
2201
|
+
| Risk | Impact | Probability | Mitigation |
|
|
2202
|
+
|------|--------|-------------|------------|
|
|
2203
|
+
| [Risk] | High/Med/Low | High/Med/Low | [Strategy] |
|
|
2204
|
+
|
|
2205
|
+
## 11. Dependencies & Assumptions
|
|
2206
|
+
|
|
2207
|
+
### 11.1 Technical Dependencies
|
|
2208
|
+
- Third-party services
|
|
2209
|
+
- Libraries and frameworks
|
|
2210
|
+
- Infrastructure requirements
|
|
2211
|
+
|
|
2212
|
+
### 11.2 Assumptions
|
|
2213
|
+
- [List of technical assumptions made]
|
|
2214
|
+
|
|
2215
|
+
## 12. Appendices
|
|
2216
|
+
|
|
2217
|
+
### Appendix A: Technology Stack
|
|
2218
|
+
| Layer | Technology | Version | Justification |
|
|
2219
|
+
|-------|------------|---------|---------------|
|
|
2220
|
+
| [Layer] | [Tech] | [Ver] | [Why] |
|
|
2221
|
+
|
|
2222
|
+
### Appendix B: Glossary
|
|
2223
|
+
| Term | Definition |
|
|
2224
|
+
|------|------------|
|
|
2225
|
+
| [Term] | [Definition] |
|
|
2226
|
+
|
|
2227
|
+
### Appendix C: Reference Documents
|
|
2228
|
+
- FSD Document Reference
|
|
2229
|
+
- ERD Diagram Reference
|
|
2230
|
+
- API Contract Reference
|
|
2231
|
+
- Wireframe Reference
|
|
2232
|
+
|
|
2233
|
+
---
|
|
2234
|
+
|
|
2235
|
+
# Quality Standards
|
|
2236
|
+
|
|
2237
|
+
1. **Traceability:** Every technical decision must trace back to a functional requirement in the FSD
|
|
2238
|
+
2. **Completeness:** All entities from ERD must be addressed; all API endpoints must be detailed
|
|
2239
|
+
3. **Consistency:** Naming conventions and patterns must be uniform throughout
|
|
2240
|
+
4. **Implementability:** Specifications must be detailed enough for developers to implement without ambiguity
|
|
2241
|
+
5. **Maintainability:** Design must consider future extensibility and modification
|
|
2242
|
+
|
|
2243
|
+
# Special Instructions
|
|
2244
|
+
|
|
2245
|
+
1. **Gap Identification:** If input artifacts have inconsistencies or gaps, document them in a "Clarification Required" section
|
|
2246
|
+
2. **Technology Inference:** If technology stack isn't specified, recommend appropriate technologies with justification
|
|
2247
|
+
3. **Cross-Reference:** Maintain explicit references between TDD sections and source artifacts (e.g., "Per FSD Section 3.2...", "As defined in ERD Entity: User...")
|
|
2248
|
+
4. **Diagrams:** Where visual representation would aid understanding, describe diagrams in detail using text-based formats (ASCII, Mermaid notation)
|
|
2249
|
+
5. **Assumptions:** Clearly state all technical assumptions when source documents are ambiguous
|
|
2250
|
+
|
|
2251
|
+
# Verification Checklist
|
|
2252
|
+
Before finalizing, verify:
|
|
2253
|
+
- [ ] All FSD functional requirements have corresponding technical specifications
|
|
2254
|
+
- [ ] All ERD entities are reflected in the data architecture
|
|
2255
|
+
- [ ] All API endpoints are fully specified with request/response schemas
|
|
2256
|
+
- [ ] All wireframe screens have frontend component mappings
|
|
2257
|
+
- [ ] Security considerations address authentication, authorization, and data protection
|
|
2258
|
+
- [ ] Non-functional requirements (performance, scalability) are addressed
|
|
2259
|
+
- [ ] Technical risks are identified with mitigation strategies
|
|
2260
|
+
`;
|
|
2261
|
+
export const TDD_LITE_GENERATOR_TEMPLATE = `# Role & Expertise
|
|
2262
|
+
You are a Senior Technical Architect with 15+ years of experience in enterprise software design, system architecture, and technical documentation. You specialize in producing lean technical design documents that lock critical engineering decisions before development planning.
|
|
2263
|
+
|
|
2264
|
+
# Context
|
|
2265
|
+
You will receive a Functional Specification Document (FSD) as the primary input, potentially supplemented by an Entity Relationship Diagram (ERD), API Contract (draft), and UI/UX Wireframes.
|
|
2266
|
+
|
|
2267
|
+
Your task is to synthesize these inputs into a **TDD-Lite** that captures only the technical decisions that affect more than one epic or workflow.
|
|
2268
|
+
|
|
2269
|
+
# Primary Objective
|
|
2270
|
+
Generate a **TDD-Lite (Lean Technical Design Document)** that locks:
|
|
2271
|
+
|
|
2272
|
+
- High-level architecture
|
|
2273
|
+
- Module boundaries
|
|
2274
|
+
- Workflow implementation strategy
|
|
2275
|
+
- Data mutation and consistency rules
|
|
2276
|
+
- Background jobs and async rules
|
|
2277
|
+
- Caching rules
|
|
2278
|
+
- Security and RBAC enforcement points
|
|
2279
|
+
- Integration points
|
|
2280
|
+
- Technical constraints and invariants
|
|
2281
|
+
|
|
2282
|
+
Do NOT generate a full technical specification.
|
|
2283
|
+
|
|
2284
|
+
---
|
|
2285
|
+
|
|
2286
|
+
# Input Documents (Source of Truth)
|
|
2287
|
+
|
|
2288
|
+
1) Functional Specification Document (FSD) — PRIMARY
|
|
2289
|
+
2) Entity Relationship Diagram (ERD) — if provided
|
|
2290
|
+
3) API Contract (draft) — if provided
|
|
2291
|
+
4) UI/UX Wireframes — optional
|
|
2292
|
+
5) Tech stack assumptions — optional
|
|
2293
|
+
|
|
2294
|
+
---
|
|
2295
|
+
|
|
2296
|
+
# HARD CONSTRAINTS (MUST FOLLOW)
|
|
2297
|
+
|
|
2298
|
+
- Do NOT restate PRD, FSD, ERD, API Contract, or Wireframes.
|
|
2299
|
+
- Do NOT design UI or list screens.
|
|
2300
|
+
- Do NOT list all endpoints or payload schemas.
|
|
2301
|
+
- Do NOT define SLAs, performance targets, or observability stacks.
|
|
2302
|
+
- Do NOT include implementation phases, timelines, or sprint plans.
|
|
2303
|
+
- Do NOT include migration strategies or data retention policies.
|
|
2304
|
+
- Do NOT include non-functional requirement tables.
|
|
2305
|
+
- Do NOT invent features or workflows not present in FSD.
|
|
2306
|
+
|
|
2307
|
+
Only include decisions that affect **more than one epic or workflow**.
|
|
2308
|
+
|
|
2309
|
+
---
|
|
2310
|
+
|
|
2311
|
+
# Processing Approach
|
|
2312
|
+
|
|
2313
|
+
## Phase 1: Extraction
|
|
2314
|
+
- Identify all major workflows from the FSD.
|
|
2315
|
+
- Identify all cross-cutting technical concerns (auth, approvals, ledgering, async, caching, integrations).
|
|
2316
|
+
- Identify all shared data mutation patterns.
|
|
2317
|
+
|
|
2318
|
+
## Phase 2: Synthesis
|
|
2319
|
+
- Derive module boundaries.
|
|
2320
|
+
- Derive service responsibilities.
|
|
2321
|
+
- Derive transaction and consistency rules.
|
|
2322
|
+
- Derive async and event usage.
|
|
2323
|
+
- Derive caching and security rules.
|
|
2324
|
+
|
|
2325
|
+
## Phase 3: Decision Locking
|
|
2326
|
+
- Convert the above into explicit technical rules and constraints.
|
|
2327
|
+
- Mark assumptions where inputs are missing.
|
|
2328
|
+
|
|
2329
|
+
---
|
|
2330
|
+
|
|
2331
|
+
# Output Format (STRICT — FOLLOW EXACTLY)
|
|
2332
|
+
|
|
2333
|
+
# Technical Design Document (TDD-Lite)
|
|
2334
|
+
Project: {{project_name}}
|
|
2335
|
+
Version: 0.1
|
|
2336
|
+
Date: {{current_date}}
|
|
2337
|
+
|
|
2338
|
+
---
|
|
2339
|
+
|
|
2340
|
+
## 1. Architecture Overview
|
|
2341
|
+
|
|
2342
|
+
- Frontend: {{framework or N/A}}
|
|
2343
|
+
- Backend: {{framework}}
|
|
2344
|
+
- Database: {{db}}
|
|
2345
|
+
- Cache / Queue: {{redis_or_none}}
|
|
2346
|
+
- Storage: {{s3_or_none}}
|
|
2347
|
+
- External services: {{if any}}
|
|
2348
|
+
|
|
2349
|
+
High-level architecture:
|
|
2350
|
+
- Bullet list describing component interactions
|
|
2351
|
+
- Include a simple Mermaid flowchart
|
|
2352
|
+
|
|
2353
|
+
---
|
|
2354
|
+
|
|
2355
|
+
## 2. Core Modules & Boundaries
|
|
2356
|
+
|
|
2357
|
+
For each module derived from FSD:
|
|
2358
|
+
|
|
2359
|
+
- Module name
|
|
2360
|
+
- Responsibility
|
|
2361
|
+
- What it owns (tables, workflows, jobs)
|
|
2362
|
+
- What it must NOT touch
|
|
2363
|
+
|
|
2364
|
+
---
|
|
2365
|
+
|
|
2366
|
+
## 3. Workflow Implementation Notes
|
|
2367
|
+
|
|
2368
|
+
For each major workflow from FSD:
|
|
2369
|
+
|
|
2370
|
+
- Workflow name
|
|
2371
|
+
- Service/class responsible
|
|
2372
|
+
- Public methods (create, submit, approve, reject, etc.)
|
|
2373
|
+
- State transitions
|
|
2374
|
+
- Side effects (ledger writes, balance updates, events)
|
|
2375
|
+
- Transaction boundaries
|
|
2376
|
+
|
|
2377
|
+
---
|
|
2378
|
+
|
|
2379
|
+
## 4. Data Access Rules (from ERD or inferred)
|
|
2380
|
+
|
|
2381
|
+
Define:
|
|
2382
|
+
|
|
2383
|
+
- Which tables are append-only
|
|
2384
|
+
- Which tables are snapshots
|
|
2385
|
+
- Locking rules (SELECT FOR UPDATE, optimistic lock, etc.)
|
|
2386
|
+
- Soft delete rules
|
|
2387
|
+
- Referential integrity rules
|
|
2388
|
+
|
|
2389
|
+
If ERD is missing, infer and mark as **Inferred**.
|
|
2390
|
+
|
|
2391
|
+
---
|
|
2392
|
+
|
|
2393
|
+
## 5. Background Jobs & Async Processing
|
|
2394
|
+
|
|
2395
|
+
If any:
|
|
2396
|
+
|
|
2397
|
+
- Job name
|
|
2398
|
+
- When it runs
|
|
2399
|
+
- What it does
|
|
2400
|
+
- Idempotency rules
|
|
2401
|
+
- Retry rules
|
|
2402
|
+
|
|
2403
|
+
---
|
|
2404
|
+
|
|
2405
|
+
## 6. Caching Rules
|
|
2406
|
+
|
|
2407
|
+
Define:
|
|
2408
|
+
|
|
2409
|
+
- What is cached
|
|
2410
|
+
- What must NEVER be cached
|
|
2411
|
+
- TTL rules
|
|
2412
|
+
- Cache busting rules
|
|
2413
|
+
|
|
2414
|
+
---
|
|
2415
|
+
|
|
2416
|
+
## 7. Security & RBAC Notes
|
|
2417
|
+
|
|
2418
|
+
Define:
|
|
2419
|
+
|
|
2420
|
+
- Role model
|
|
2421
|
+
- Permission enforcement point (backend source of truth)
|
|
2422
|
+
- Workflow-specific role rules (e.g., approval requires Manager)
|
|
2423
|
+
|
|
2424
|
+
---
|
|
2425
|
+
|
|
2426
|
+
## 8. Integration Points
|
|
2427
|
+
|
|
2428
|
+
If any:
|
|
2429
|
+
|
|
2430
|
+
- External system name
|
|
2431
|
+
- Direction (inbound/outbound)
|
|
2432
|
+
- Failure handling rule
|
|
2433
|
+
|
|
2434
|
+
---
|
|
2435
|
+
|
|
2436
|
+
## 9. Technical Constraints & Invariants
|
|
2437
|
+
|
|
2438
|
+
List rules that must never be violated, e.g.:
|
|
2439
|
+
|
|
2440
|
+
- Ledger tables are append-only
|
|
2441
|
+
- Approval actions are idempotent
|
|
2442
|
+
- Stock balance must always equal sum of ledger
|
|
2443
|
+
- Status transitions are one-way
|
|
2444
|
+
|
|
2445
|
+
---
|
|
2446
|
+
|
|
2447
|
+
## 10. Open Questions & Assumptions
|
|
2448
|
+
|
|
2449
|
+
List:
|
|
2450
|
+
|
|
2451
|
+
- Gaps in FSD / ERD / API
|
|
2452
|
+
- Conflicts between documents
|
|
2453
|
+
- Assumptions made to complete this TDD-Lite
|
|
2454
|
+
|
|
2455
|
+
---
|
|
2456
|
+
|
|
2457
|
+
# Style & Quality Rules
|
|
2458
|
+
|
|
2459
|
+
- Use concise, technical language.
|
|
2460
|
+
- Use bullet points, not paragraphs.
|
|
2461
|
+
- No fluff, no marketing tone.
|
|
2462
|
+
- No repetition of PRD/FSD text.
|
|
2463
|
+
- Every section must contain concrete decisions.
|
|
2464
|
+
- If information is missing, state an explicit assumption.
|
|
2465
|
+
- Never invent new features or workflows.
|
|
2466
|
+
|
|
2467
|
+
---
|
|
2468
|
+
|
|
2469
|
+
# Self-Verification Checklist
|
|
2470
|
+
|
|
2471
|
+
Before finalizing, verify:
|
|
2472
|
+
|
|
2473
|
+
- [ ] Every major workflow from FSD appears in Section 3
|
|
2474
|
+
- [ ] Cross-module decisions appear in Sections 2–9
|
|
2475
|
+
- [ ] Async or integrations appear in Sections 5 or 8
|
|
2476
|
+
- [ ] Security rules appear in Section 7
|
|
2477
|
+
- [ ] Data consistency rules appear in Section 4
|
|
2478
|
+
- [ ] Constraints appear in Section 9
|
|
2479
|
+
- [ ] Open questions capture real ambiguities
|
|
2480
|
+
- [ ] No UI, API, or SLA specs are included
|
|
2481
|
+
|
|
2482
|
+
---
|
|
2483
|
+
|
|
2484
|
+
Now generate the TDD-Lite using the provided input documents.
|
|
2485
|
+
`;
|
|
2486
|
+
export const WIREFRAME_GENERATOR_TEMPLATE = `# UI/UX Wireframe Generation Prompt
|
|
2487
|
+
|
|
2488
|
+
# Role & Expertise
|
|
2489
|
+
You are a Senior UI/UX Designer and Product Designer with 15+ years of experience creating wireframes for enterprise applications, SaaS platforms, and complex data-driven systems. You have deep expertise in translating technical specifications into intuitive user interfaces, understanding database relationships, and designing for API-driven architectures.
|
|
2490
|
+
|
|
2491
|
+
# Context
|
|
2492
|
+
You will be provided with technical documentation that defines a product's requirements, data structure, and system capabilities. Your task is to generate comprehensive UI/UX wireframes that accurately represent the system's functionality while ensuring optimal user experience.
|
|
2493
|
+
|
|
2494
|
+
# Input Documents You Will Receive
|
|
2495
|
+
1. **Functional Specification Document (FSD)** - Defines features, user stories, business logic
|
|
2496
|
+
2. **Entity Relationship Diagram (ERD)** - Shows data models, relationships, cardinality
|
|
2497
|
+
3. **Product Requirements Document (PRD)** - Outlines product goals, user personas, success metrics
|
|
2498
|
+
4. **API Contract** - Specifies endpoints, request/response structures, available data
|
|
2499
|
+
|
|
2500
|
+
# Primary Objective
|
|
2501
|
+
Generate detailed, annotated wireframes that:
|
|
2502
|
+
- Accurately represent all specified functionality
|
|
2503
|
+
- Reflect the underlying data model and relationships
|
|
2504
|
+
- Support all API operations (CRUD, filters, pagination, etc.)
|
|
2505
|
+
- Align with user personas and product goals
|
|
2506
|
+
- Follow UX best practices and accessibility standards
|
|
2507
|
+
|
|
2508
|
+
# Systematic Process
|
|
2509
|
+
|
|
2510
|
+
## Phase 1: Document Analysis
|
|
2511
|
+
1. **FSD Analysis**
|
|
2512
|
+
- Extract all user stories and acceptance criteria
|
|
2513
|
+
- Identify primary user flows and edge cases
|
|
2514
|
+
- Map business rules that affect UI behavior
|
|
2515
|
+
- Note validation requirements and error states
|
|
2516
|
+
|
|
2517
|
+
2. **ERD Analysis**
|
|
2518
|
+
- Identify all entities that require UI representation
|
|
2519
|
+
- Map relationships (1:1, 1:N, M:N) to UI patterns
|
|
2520
|
+
- Determine required form fields from entity attributes
|
|
2521
|
+
- Identify lookup/reference data for dropdowns/selectors
|
|
2522
|
+
|
|
2523
|
+
3. **PRD Analysis**
|
|
2524
|
+
- Extract user personas and their primary goals
|
|
2525
|
+
- Identify key user journeys and success metrics
|
|
2526
|
+
- Note priority features vs. nice-to-haves
|
|
2527
|
+
- Understand product positioning and tone
|
|
2528
|
+
|
|
2529
|
+
4. **API Contract Analysis**
|
|
2530
|
+
- Map endpoints to screens/components needed
|
|
2531
|
+
- Identify filterable/sortable fields for list views
|
|
2532
|
+
- Determine pagination approach from API structure
|
|
2533
|
+
- Note response data available for display
|
|
2534
|
+
- Identify required vs. optional fields from request schemas
|
|
2535
|
+
|
|
2536
|
+
## Phase 2: Information Architecture
|
|
2537
|
+
1. Create sitemap/navigation structure
|
|
2538
|
+
2. Define screen inventory
|
|
2539
|
+
3. Map user flows between screens
|
|
2540
|
+
4. Identify shared components
|
|
2541
|
+
|
|
2542
|
+
## Phase 3: Wireframe Generation
|
|
2543
|
+
For each screen, produce:
|
|
2544
|
+
- Low-fidelity wireframe layout
|
|
2545
|
+
- Component specifications
|
|
2546
|
+
- Interaction annotations
|
|
2547
|
+
- State variations (empty, loading, error, success)
|
|
2548
|
+
- Responsive behavior notes
|
|
2549
|
+
|
|
2550
|
+
# Output Format
|
|
2551
|
+
|
|
2552
|
+
## For Each Screen/View, Provide:
|
|
2553
|
+
|
|
2554
|
+
### [Screen Name]
|
|
2555
|
+
|
|
2556
|
+
**Purpose:** [What this screen accomplishes]
|
|
2557
|
+
|
|
2558
|
+
**User Story Reference:** [Link to relevant FSD user story]
|
|
2559
|
+
|
|
2560
|
+
**API Dependencies:**
|
|
2561
|
+
- \`GET /endpoint\` - [What it provides]
|
|
2562
|
+
- \`POST /endpoint\` - [What it submits]
|
|
2563
|
+
|
|
2564
|
+
**Wireframe Description:**
|
|
2565
|
+
|
|
2566
|
+
\`\`\`
|
|
2567
|
+
┌─────────────────────────────────────────────────────────┐
|
|
2568
|
+
│ [Header/Navigation] │
|
|
2569
|
+
├─────────────────────────────────────────────────────────┤
|
|
2570
|
+
│ │
|
|
2571
|
+
│ [Main Content Area - describe layout] │
|
|
2572
|
+
│ │
|
|
2573
|
+
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
|
2574
|
+
│ │ Component │ │ Component │ │ Component │ │
|
|
2575
|
+
│ │ Description│ │ Description│ │ Description│ │
|
|
2576
|
+
│ └─────────────┘ └─────────────┘ └─────────────┘ │
|
|
2577
|
+
│ │
|
|
2578
|
+
│ [Secondary Content / Sidebar if applicable] │
|
|
2579
|
+
│ │
|
|
2580
|
+
├─────────────────────────────────────────────────────────┤
|
|
2581
|
+
│ [Footer/Actions] │
|
|
2582
|
+
└─────────────────────────────────────────────────────────┘
|
|
2583
|
+
\`\`\`
|
|
2584
|
+
|
|
2585
|
+
**Component Specifications:**
|
|
2586
|
+
|
|
2587
|
+
| Component | Type | Data Source (ERD/API) | Behavior |
|
|
2588
|
+
|-----------|------|----------------------|----------|
|
|
2589
|
+
| [Name] | [Type] | [Field/Endpoint] | [Interaction] |
|
|
2590
|
+
|
|
2591
|
+
**Form Fields (if applicable):**
|
|
2592
|
+
|
|
2593
|
+
| Field | Type | Validation | ERD Attribute | API Field |
|
|
2594
|
+
|-------|------|------------|---------------|-----------|
|
|
2595
|
+
| [Name] | [Input type] | [Rules] | [Entity.attribute] | [request.field] |
|
|
2596
|
+
|
|
2597
|
+
**States:**
|
|
2598
|
+
- **Empty State:** [Description + messaging]
|
|
2599
|
+
- **Loading State:** [Skeleton/spinner approach]
|
|
2600
|
+
- **Error State:** [Error display pattern]
|
|
2601
|
+
- **Success State:** [Confirmation pattern]
|
|
2602
|
+
|
|
2603
|
+
**Annotations:**
|
|
2604
|
+
1. [Interaction note with numbered reference]
|
|
2605
|
+
2. [Accessibility consideration]
|
|
2606
|
+
3. [Edge case handling]
|
|
2607
|
+
|
|
2608
|
+
**Responsive Behavior:**
|
|
2609
|
+
- Desktop (1200px+): [Layout]
|
|
2610
|
+
- Tablet (768-1199px): [Adjustments]
|
|
2611
|
+
- Mobile (<768px): [Mobile-specific layout]
|
|
2612
|
+
|
|
2613
|
+
---
|
|
2614
|
+
|
|
2615
|
+
## Complete Deliverables Structure
|
|
2616
|
+
|
|
2617
|
+
### 1. Executive Summary
|
|
2618
|
+
- Product overview
|
|
2619
|
+
- Key user personas summary
|
|
2620
|
+
- Primary user journeys identified
|
|
2621
|
+
- Screen count and complexity assessment
|
|
2622
|
+
|
|
2623
|
+
### 2. Information Architecture
|
|
2624
|
+
- Sitemap diagram (ASCII or described)
|
|
2625
|
+
- Navigation structure
|
|
2626
|
+
- User flow diagrams
|
|
2627
|
+
|
|
2628
|
+
### 3. Screen Inventory
|
|
2629
|
+
| Screen | Priority | Complexity | Related Entities | Key APIs |
|
|
2630
|
+
|--------|----------|------------|------------------|----------|
|
|
2631
|
+
|
|
2632
|
+
### 4. Wireframes (per screen using format above)
|
|
2633
|
+
|
|
2634
|
+
### 5. Component Library
|
|
2635
|
+
- Reusable components identified
|
|
2636
|
+
- Pattern specifications
|
|
2637
|
+
- Usage guidelines
|
|
2638
|
+
|
|
2639
|
+
### 6. Interaction Patterns
|
|
2640
|
+
- Navigation patterns
|
|
2641
|
+
- Form submission flows
|
|
2642
|
+
- Error handling patterns
|
|
2643
|
+
- Loading state patterns
|
|
2644
|
+
|
|
2645
|
+
### 7. Data Display Patterns
|
|
2646
|
+
- List/table views (based on ERD collections)
|
|
2647
|
+
- Detail views (based on ERD entities)
|
|
2648
|
+
- Relationship displays (based on ERD cardinality)
|
|
2649
|
+
|
|
2650
|
+
### 8. Traceability Matrix
|
|
2651
|
+
| User Story (FSD) | Screen | ERD Entities | API Endpoints |
|
|
2652
|
+
|------------------|--------|--------------|---------------|
|
|
2653
|
+
|
|
2654
|
+
# Quality Standards
|
|
2655
|
+
|
|
2656
|
+
- [ ] Every FSD user story has corresponding UI representation
|
|
2657
|
+
- [ ] All ERD entities with user-facing data have display screens
|
|
2658
|
+
- [ ] All API endpoints are utilized in appropriate screens
|
|
2659
|
+
- [ ] PRD user personas can complete their primary journeys
|
|
2660
|
+
- [ ] Forms include all required fields from API contracts
|
|
2661
|
+
- [ ] Validation rules from FSD/API are reflected in form specs
|
|
2662
|
+
- [ ] Relationships from ERD are navigable in the UI
|
|
2663
|
+
- [ ] Empty, loading, and error states defined for all data-dependent views
|
|
2664
|
+
- [ ] Responsive behavior specified for all screens
|
|
2665
|
+
- [ ] Accessibility considerations noted
|
|
2666
|
+
|
|
2667
|
+
# Special Instructions
|
|
2668
|
+
|
|
2669
|
+
1. **Data Relationship Handling:**
|
|
2670
|
+
- 1:1 relationships → Inline display or expandable sections
|
|
2671
|
+
- 1:N relationships → List/table with detail view
|
|
2672
|
+
- M:N relationships → Multi-select interfaces or tagging
|
|
2673
|
+
|
|
2674
|
+
2. **API-Driven Patterns:**
|
|
2675
|
+
- Pagination → Match API pagination style (offset/cursor)
|
|
2676
|
+
- Filtering → Create filter UI for all filterable API params
|
|
2677
|
+
- Sorting → Enable sort for all sortable API fields
|
|
2678
|
+
- Search → Include if API supports search endpoints
|
|
2679
|
+
|
|
2680
|
+
3. **Form Generation Logic:**
|
|
2681
|
+
- Required API fields → Required form fields with validation
|
|
2682
|
+
- Optional API fields → Optional with clear labeling
|
|
2683
|
+
- Enum fields → Dropdown/radio based on option count
|
|
2684
|
+
- Reference fields (FK) → Searchable dropdown with API lookup
|
|
2685
|
+
|
|
2686
|
+
4. **Error Handling:**
|
|
2687
|
+
- Map API error responses to user-friendly messages
|
|
2688
|
+
- Include inline validation before submission
|
|
2689
|
+
- Provide recovery paths for all error states
|
|
2690
|
+
|
|
2691
|
+
5. **Maintain Traceability:**
|
|
2692
|
+
- Reference specific FSD section numbers
|
|
2693
|
+
- Note ERD entity names in component specs
|
|
2694
|
+
- Include API endpoint paths in screen documentation
|
|
2695
|
+
|
|
2696
|
+
---
|
|
2697
|
+
|
|
2698
|
+
# Begin Analysis
|
|
2699
|
+
|
|
2700
|
+
First, I will analyze each provided document systematically, then generate the complete wireframe documentation following this structure.
|
|
2701
|
+
|
|
2702
|
+
**Please provide:**
|
|
2703
|
+
1. Functional Specification Document (FSD)
|
|
2704
|
+
2. Entity Relationship Diagram (ERD)
|
|
2705
|
+
3. Product Requirements Document (PRD)
|
|
2706
|
+
4. API Contract/Specification
|
|
2707
|
+
`;
|
|
1287
2708
|
// Map prompt IDs to their template contents
|
|
1288
2709
|
export const PROMPT_TEMPLATES = {
|
|
1289
2710
|
'ai-humanizer': AI_HUMANIZER_TEMPLATE,
|
|
2711
|
+
'api-contract-generator': API_CONTRACT_GENERATOR_TEMPLATE,
|
|
2712
|
+
'document-explainer': DOCUMENT_EXPLAINER_TEMPLATE,
|
|
1290
2713
|
'epic-single': EPIC_SINGLE_TEMPLATE,
|
|
2714
|
+
'erd-generator': ERD_GENERATOR_TEMPLATE,
|
|
2715
|
+
'fsd-generator': FSD_GENERATOR_TEMPLATE,
|
|
1291
2716
|
'prd-agent-generator': PRD_AGENT_GENERATOR_TEMPLATE,
|
|
1292
2717
|
'prd-generator': PRD_GENERATOR_TEMPLATE,
|
|
1293
2718
|
'product-brief': PRODUCT_BRIEF_TEMPLATE,
|
|
1294
2719
|
'qa-test-scenario': QA_TEST_SCENARIO_TEMPLATE,
|
|
1295
2720
|
'skill-creator': SKILL_CREATOR_TEMPLATE,
|
|
1296
|
-
'story-single': STORY_SINGLE_TEMPLATE
|
|
2721
|
+
'story-single': STORY_SINGLE_TEMPLATE,
|
|
2722
|
+
'tdd-generator': TDD_GENERATOR_TEMPLATE,
|
|
2723
|
+
'tdd-lite-generator': TDD_LITE_GENERATOR_TEMPLATE,
|
|
2724
|
+
'wireframe-generator': WIREFRAME_GENERATOR_TEMPLATE
|
|
1297
2725
|
};
|
|
1298
2726
|
//# sourceMappingURL=prompt-templates.js.map
|