Initial commit
This commit is contained in:
210
skills/spec-author/templates/api-contract.md
Normal file
210
skills/spec-author/templates/api-contract.md
Normal file
@@ -0,0 +1,210 @@
|
||||
# API Contract Specification
|
||||
|
||||
**Document ID:** `api-[feature]-[id]-[name]`
|
||||
**Status:** <!-- TODO: Draft | In Review | Approved | Deprecated -->
|
||||
**Owner:** <!-- TODO: Team/Individual Name -->
|
||||
**Last Updated:** <!-- TODO: YYYY-MM-DD -->
|
||||
|
||||
## Overview
|
||||
|
||||
**Purpose:** <!-- TODO: Brief description of API's purpose and primary use cases -->
|
||||
|
||||
**Base URL:** <!-- TODO: e.g., `https://api.example.com/v1` -->
|
||||
|
||||
**API Version:** <!-- TODO: e.g., v1 -->
|
||||
|
||||
**Stability:** <!-- TODO: Stable | Beta | Experimental -->
|
||||
|
||||
## Authentication
|
||||
|
||||
**Method:** <!-- TODO: API Key | OAuth 2.0 | JWT | Basic Auth -->
|
||||
|
||||
**Implementation:**
|
||||
<!-- TODO: Document authentication implementation, e.g.:
|
||||
```http
|
||||
Authorization: Bearer {token}
|
||||
```
|
||||
-->
|
||||
|
||||
**Token Acquisition:** <!-- TODO: Brief description of how clients obtain credentials -->
|
||||
|
||||
**Scopes/Permissions:** <!-- TODO: List required permissions if applicable -->
|
||||
|
||||
## Rate Limiting
|
||||
|
||||
**Limits:**
|
||||
<!-- TODO: Define rate limits for different tiers, e.g.:
|
||||
- Anonymous: X requests/minute
|
||||
- Authenticated: Y requests/minute
|
||||
- Premium: Z requests/minute
|
||||
-->
|
||||
|
||||
**Headers:**
|
||||
<!-- TODO: Document rate limit headers, e.g.:
|
||||
```http
|
||||
X-RateLimit-Limit: 100
|
||||
X-RateLimit-Remaining: 95
|
||||
X-RateLimit-Reset: 1234567890
|
||||
```
|
||||
-->
|
||||
|
||||
**Exceeded Limit Response:** <!-- TODO: Document behavior when rate limit exceeded, e.g., HTTP 429 with Retry-After header -->
|
||||
|
||||
## Endpoints
|
||||
|
||||
### <!-- TODO: Resource Name -->
|
||||
|
||||
#### <!-- TODO: List [Resources] -->
|
||||
```http
|
||||
GET /<!-- TODO: endpoint path -->
|
||||
```
|
||||
|
||||
**Query Parameters:**
|
||||
<!-- TODO: Document query parameters in table format:
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `param1` | type | Yes/No | Description |
|
||||
-->
|
||||
|
||||
**Response:** <!-- TODO: Status code, e.g., `200 OK` -->
|
||||
<!-- TODO: Document response format:
|
||||
```json
|
||||
{
|
||||
"data": [],
|
||||
"pagination": {}
|
||||
}
|
||||
```
|
||||
-->
|
||||
|
||||
#### <!-- TODO: Get [Resource] -->
|
||||
```http
|
||||
GET /<!-- TODO: endpoint path with parameter -->
|
||||
```
|
||||
|
||||
**Path Parameters:**
|
||||
<!-- TODO: Document path parameters:
|
||||
| Parameter | Type | Description |
|
||||
|-----------|------|-------------|
|
||||
| `id` | string | Description |
|
||||
-->
|
||||
|
||||
**Response:** <!-- TODO: Status code and example response -->
|
||||
|
||||
#### <!-- TODO: Create [Resource] -->
|
||||
```http
|
||||
POST /<!-- TODO: endpoint path -->
|
||||
```
|
||||
|
||||
**Request Body:**
|
||||
<!-- TODO: Document request body schema:
|
||||
```json
|
||||
{
|
||||
"field": "value"
|
||||
}
|
||||
```
|
||||
-->
|
||||
|
||||
**Response:** <!-- TODO: Status code and example response -->
|
||||
|
||||
#### <!-- TODO: Update [Resource] -->
|
||||
```http
|
||||
PUT /<!-- TODO: endpoint path -->
|
||||
PATCH /<!-- TODO: endpoint path -->
|
||||
```
|
||||
|
||||
**Request Body:** <!-- TODO: Document request body requirements -->
|
||||
|
||||
**Response:** <!-- TODO: Status code and example response -->
|
||||
|
||||
#### <!-- TODO: Delete [Resource] -->
|
||||
```http
|
||||
DELETE /<!-- TODO: endpoint path -->
|
||||
```
|
||||
|
||||
**Response:** <!-- TODO: Status code, e.g., `204 No Content` -->
|
||||
|
||||
## Data Models
|
||||
|
||||
### <!-- TODO: Model Name -->
|
||||
<!-- TODO: Document data model fields:
|
||||
| Field | Type | Required | Description |
|
||||
|-------|------|----------|-------------|
|
||||
| `id` | string | Yes | Unique identifier |
|
||||
| `field` | type | Yes/No | Description |
|
||||
-->
|
||||
|
||||
**Constraints:**
|
||||
<!-- TODO: Document validation rules and constraints:
|
||||
- Constraint description
|
||||
-->
|
||||
|
||||
## Error Handling
|
||||
|
||||
**Error Response Format:**
|
||||
<!-- TODO: Document error response structure:
|
||||
```json
|
||||
{
|
||||
"error": {
|
||||
"code": "error_code",
|
||||
"message": "Error message",
|
||||
"details": [],
|
||||
"request_id": "req_id"
|
||||
}
|
||||
}
|
||||
```
|
||||
-->
|
||||
|
||||
**Standard Error Codes:**
|
||||
<!-- TODO: Document error codes:
|
||||
| HTTP Status | Error Code | Description |
|
||||
|-------------|------------|-------------|
|
||||
| 400 | `validation_error` | Invalid request data |
|
||||
| 401 | `authentication_error` | Missing or invalid credentials |
|
||||
-->
|
||||
|
||||
## Pagination
|
||||
|
||||
<!-- TODO: Document pagination approach (offset-based, cursor-based, etc.):
|
||||
**Offset-Based Pagination:**
|
||||
```http
|
||||
GET /resources?limit=20&offset=40
|
||||
```
|
||||
|
||||
**Response Format:**
|
||||
```json
|
||||
{
|
||||
"data": [],
|
||||
"pagination": {
|
||||
"total": 100,
|
||||
"limit": 20,
|
||||
"offset": 40
|
||||
}
|
||||
}
|
||||
```
|
||||
-->
|
||||
|
||||
## Webhooks
|
||||
|
||||
<!-- TODO: OPTIONAL - Remove this section if webhooks are not applicable
|
||||
|
||||
**Supported Events:**
|
||||
- Event description
|
||||
|
||||
**Webhook Payload:**
|
||||
```json
|
||||
{
|
||||
"id": "evt_id",
|
||||
"type": "event.type",
|
||||
"data": {}
|
||||
}
|
||||
```
|
||||
|
||||
**Endpoint Requirements:**
|
||||
- Requirement description
|
||||
|
||||
**Signature Verification:**
|
||||
- Verification method
|
||||
|
||||
**Retry Policy:**
|
||||
- Retry strategy
|
||||
-->
|
||||
128
skills/spec-author/templates/business-requirement.md
Normal file
128
skills/spec-author/templates/business-requirement.md
Normal file
@@ -0,0 +1,128 @@
|
||||
# <!-- TODO: [BRD-XXX] Business Requirement Title -->
|
||||
|
||||
## Metadata
|
||||
|
||||
- **Document ID**: <!-- TODO: BRD-XXX-short-name -->
|
||||
- **Status**: <!-- TODO: Draft | In Review | Approved | Implemented -->
|
||||
- **Author**: <!-- TODO: Your Name -->
|
||||
- **Created**: <!-- TODO: YYYY-MM-DD -->
|
||||
- **Last Updated**: <!-- TODO: YYYY-MM-DD -->
|
||||
- **Stakeholders**: <!-- TODO: List key stakeholders -->
|
||||
- **Priority**: <!-- TODO: Critical | High | Medium | Low -->
|
||||
|
||||
## Description
|
||||
|
||||
<!-- TODO: Describe the business problem or opportunity. What challenge are we addressing? -->
|
||||
|
||||
### Background
|
||||
|
||||
<!-- TODO: Provide context about the current situation and why this requirement emerged. -->
|
||||
|
||||
### Problem Statement
|
||||
|
||||
<!-- TODO: Clear, concise statement of the problem this requirement solves. -->
|
||||
|
||||
## Business Value
|
||||
|
||||
<!-- TODO: Explain the expected business impact and benefits. -->
|
||||
|
||||
### Expected Outcomes
|
||||
|
||||
<!-- TODO: List expected outcomes, e.g.:
|
||||
- **Outcome 1**: Brief description of expected result
|
||||
- **Outcome 2**: Brief description of expected result
|
||||
-->
|
||||
|
||||
### Strategic Alignment
|
||||
|
||||
<!-- TODO: How does this align with broader business goals or strategy? -->
|
||||
|
||||
## Stakeholders
|
||||
|
||||
<!-- TODO: Document stakeholders in table format:
|
||||
| Role | Name/Team | Responsibility | Contact |
|
||||
|------|-----------|----------------|---------|
|
||||
| Business Owner | | Decision maker | |
|
||||
| Product Owner | | Requirements definition | |
|
||||
| End Users | | Primary users | |
|
||||
| Technical Lead | | Implementation oversight | |
|
||||
-->
|
||||
|
||||
## User Stories
|
||||
|
||||
<!-- TODO: Document user stories in table format:
|
||||
| ID | As a... | I want to... | So that... | Priority |
|
||||
|----|---------|--------------|------------|----------|
|
||||
| US-1 | [role] | [capability] | [benefit] | High |
|
||||
| US-2 | [role] | [capability] | [benefit] | Medium |
|
||||
-->
|
||||
|
||||
## Assumptions
|
||||
|
||||
<!-- TODO: List assumptions being made about users, systems, or business conditions.
|
||||
1. Assumption about user behavior or system capability
|
||||
2. Assumption about resources or timeline
|
||||
3. Assumption about business context
|
||||
-->
|
||||
|
||||
## Constraints
|
||||
|
||||
<!-- TODO: Identify limitations or restrictions that must be respected. -->
|
||||
|
||||
### Business Constraints
|
||||
|
||||
<!-- TODO: Document business constraints, e.g., budget limitations, regulatory requirements, market timing -->
|
||||
|
||||
### Technical Constraints
|
||||
|
||||
<!-- TODO: Document technical constraints, e.g., system limitations, integration requirements, platform restrictions -->
|
||||
|
||||
### Organizational Constraints
|
||||
|
||||
<!-- TODO: Document organizational constraints, e.g., team capacity, skill requirements, policy limitations -->
|
||||
|
||||
## Dependencies
|
||||
|
||||
<!-- TODO: List dependencies on other projects, systems, or decisions in table format:
|
||||
| Dependency | Type | Status | Impact if Blocked |
|
||||
|------------|------|--------|-------------------|
|
||||
| [Project/System] | Internal/External | In Progress | High/Medium/Low |
|
||||
-->
|
||||
|
||||
## Risks
|
||||
|
||||
<!-- TODO: Identify potential risks and mitigation strategies in table format:
|
||||
| Risk | Likelihood | Impact | Mitigation Strategy |
|
||||
|------|------------|--------|---------------------|
|
||||
| [Risk description] | High/Med/Low | High/Med/Low | [How to mitigate] |
|
||||
-->
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
<!-- TODO: Define what "done" looks like from a business perspective.
|
||||
1. **Criterion 1**: Specific, measurable condition that must be met
|
||||
2. **Criterion 2**: Specific, measurable condition that must be met
|
||||
3. **Criterion 3**: Specific, measurable condition that must be met
|
||||
-->
|
||||
|
||||
## Success Metrics
|
||||
|
||||
<!-- TODO: Define how success will be measured after implementation in table format:
|
||||
| Metric | Current Baseline | Target | Measurement Method |
|
||||
|--------|------------------|--------|-------------------|
|
||||
| [KPI name] | [Current value] | [Target value] | [How measured] |
|
||||
-->
|
||||
|
||||
### Time to Value
|
||||
|
||||
<!-- TODO: When do we expect to see results? What's the measurement timeline? -->
|
||||
|
||||
## Approval
|
||||
|
||||
<!-- TODO: OPTIONAL - Remove if not needed. Sign-off section for key stakeholders:
|
||||
| Role | Name | Signature | Date |
|
||||
|------|------|-----------|------|
|
||||
| Business Owner | | | |
|
||||
| Product Owner | | | |
|
||||
| Technical Lead | | | |
|
||||
-->
|
||||
190
skills/spec-author/templates/component.md
Normal file
190
skills/spec-author/templates/component.md
Normal file
@@ -0,0 +1,190 @@
|
||||
### Component
|
||||
|
||||
# <!-- TODO: Component title and ID, e.g., #[CMP-001] User Authentication Service -->
|
||||
|
||||
Type: <!-- TODO: app | service | library -->
|
||||
Priority: <!-- TODO: critical | high | medium | low -->
|
||||
|
||||
## Overview
|
||||
|
||||
<!-- TODO: Describe what this component does, why it exists, and who depends on it -->
|
||||
|
||||
### Component Details
|
||||
|
||||
- **Type**: <!-- TODO: app | service | library -->
|
||||
- **Purpose**: <!-- TODO: single sentence describing primary purpose -->
|
||||
- **Owner/Team**: <!-- TODO: team responsible for maintenance -->
|
||||
- **Repository**: <!-- TODO: URL or path -->
|
||||
- **Production URL**: <!-- TODO: endpoint or access point (if applicable) -->
|
||||
|
||||
## Technology Stack
|
||||
|
||||
<!-- TODO: Document core technologies. Example:
|
||||
|
||||
```yaml
|
||||
language:
|
||||
name: JavaScript/Node.js
|
||||
version: 18 LTS
|
||||
purpose: Runtime environment
|
||||
|
||||
framework:
|
||||
name: Express
|
||||
version: 4.18.2
|
||||
purpose: Web framework
|
||||
|
||||
database:
|
||||
name: PostgreSQL
|
||||
version: 14
|
||||
purpose: Primary data store
|
||||
```
|
||||
-->
|
||||
|
||||
## Scope
|
||||
|
||||
### Responsibilities
|
||||
|
||||
<!-- TODO: What this component IS responsible for (bullet points) -->
|
||||
|
||||
### Exclusions
|
||||
|
||||
<!-- TODO: What this component is NOT responsible for (bullet points) -->
|
||||
|
||||
## Dependencies
|
||||
|
||||
### Internal Dependencies
|
||||
|
||||
<!-- TODO: Other components this depends on. Format:
|
||||
- **Component Name** (Hard/Soft/Messaging)
|
||||
**Purpose**: Why needed
|
||||
**Criticality**: Critical/High/Medium/Low
|
||||
-->
|
||||
|
||||
### External Dependencies
|
||||
|
||||
<!-- TODO: Third-party services and libraries. Format:
|
||||
|
||||
**Services**:
|
||||
- **Service Name** (Version)
|
||||
**Purpose**: Why needed
|
||||
**Criticality**: Critical/High/Medium/Low
|
||||
|
||||
**Libraries**:
|
||||
- **Library Name** (Version)
|
||||
**Purpose**: Why needed
|
||||
**Criticality**: Critical/High/Medium/Low
|
||||
-->
|
||||
|
||||
## API & Interface
|
||||
|
||||
<!-- TODO: Public endpoints, methods, or interfaces exposed. Format:
|
||||
- **Endpoint/Method**: <name>
|
||||
**Description**: <what it does>
|
||||
**Parameters**: <input>
|
||||
**Response**: <output>
|
||||
-->
|
||||
|
||||
**API Documentation**: <!-- TODO: link to detailed API docs -->
|
||||
|
||||
## Configuration
|
||||
|
||||
<!-- TODO: Document key configuration areas and reference full configuration spec
|
||||
|
||||
Key areas:
|
||||
- Database connection settings
|
||||
- Authentication and security
|
||||
- Third-party integrations
|
||||
- Performance tuning
|
||||
|
||||
See [Configuration Schema](#) for complete environment variables and settings.
|
||||
-->
|
||||
|
||||
### Secrets Management
|
||||
|
||||
<!-- TODO: Required secrets (no actual values). Format:
|
||||
- **SECRET_NAME**
|
||||
**Purpose**: What it's used for
|
||||
**Rotation Policy**: Frequency
|
||||
-->
|
||||
|
||||
## Deployment
|
||||
|
||||
**Platform**: <!-- TODO: AWS/GCP/Azure/Docker/Kubernetes/etc -->
|
||||
**Environment**: <!-- TODO: dev/staging/production setup -->
|
||||
**Deployment Strategy**: <!-- TODO: blue-green/canary/rolling -->
|
||||
|
||||
**Build Command**: <!-- TODO: command to build -->
|
||||
**Deploy Command**: <!-- TODO: command to deploy -->
|
||||
**Build Artifacts**: <!-- TODO: what gets produced -->
|
||||
|
||||
### Deployment Notes
|
||||
|
||||
<!-- TODO: Special considerations:
|
||||
- Database migrations required
|
||||
- Backward compatibility
|
||||
- Health check endpoints
|
||||
- Rollback procedures
|
||||
-->
|
||||
|
||||
For complete deployment procedures, see [Deployment Procedure Specification](#).
|
||||
|
||||
## Monitoring
|
||||
|
||||
**Logs Location**: <!-- TODO: where logs are stored -->
|
||||
**Log Aggregation**: <!-- TODO: Datadog/CloudWatch/ELK/etc -->
|
||||
**Dashboard**: <!-- TODO: link to monitoring dashboard -->
|
||||
|
||||
### Key Metrics
|
||||
|
||||
<!-- TODO: Metrics to monitor. Format:
|
||||
|
||||
**Response time (p95)**
|
||||
- **Target**: <100ms
|
||||
- **Alert Threshold**: >500ms
|
||||
|
||||
**Error rate**
|
||||
- **Target**: <0.1%
|
||||
- **Alert Threshold**: >1%
|
||||
-->
|
||||
|
||||
### Health Checks
|
||||
|
||||
**Health Check Endpoint**: <!-- TODO: URL or command -->
|
||||
|
||||
<!-- TODO: Alerts. Format:
|
||||
- **Alert**: <condition>
|
||||
**Threshold**: <when to trigger>
|
||||
**Action**: <response procedure>
|
||||
-->
|
||||
|
||||
## Testing
|
||||
|
||||
**Test Coverage**: <!-- TODO: percentage -->
|
||||
**Test Command**: <!-- TODO: command to run tests -->
|
||||
**Testing Strategy**: <!-- TODO: unit/integration/e2e approach -->
|
||||
**E2E Tests**: <!-- TODO: link to tests -->
|
||||
|
||||
## Development
|
||||
|
||||
**Local Setup**: <!-- TODO: steps for dev environment -->
|
||||
**Development Port**: <!-- TODO: port number -->
|
||||
**Code Style**: <!-- TODO: linting/formatting tools -->
|
||||
**Contributing Guide**: <!-- TODO: link to guidelines -->
|
||||
|
||||
## Known Issues
|
||||
|
||||
<!-- TODO: Document known issues. OPTIONAL: Remove if none. Format:
|
||||
- **Issue**: <description>
|
||||
**Impact**: <what's affected>
|
||||
**Workaround**: <mitigation>
|
||||
**Status**: Open/In Progress/Planned/Won't Fix
|
||||
-->
|
||||
|
||||
## Future Considerations
|
||||
|
||||
<!-- TODO: Planned improvements. OPTIONAL: Remove if none.
|
||||
- Planned features or enhancements
|
||||
- Technical debt to address
|
||||
- Scaling considerations
|
||||
- Technology upgrades
|
||||
- Performance optimizations
|
||||
-->
|
||||
274
skills/spec-author/templates/configuration-schema.md
Normal file
274
skills/spec-author/templates/configuration-schema.md
Normal file
@@ -0,0 +1,274 @@
|
||||
# Configuration Schema: <!-- TODO: Feature Name -->
|
||||
|
||||
**Document ID:** `config-[project]-[feature-number]-[slug]`
|
||||
**Created:** <!-- TODO: YYYY-MM-DD -->
|
||||
**Status:** <!-- TODO: Draft | Active | Deprecated -->
|
||||
**Owner:** <!-- TODO: Team/Individual -->
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
### Purpose
|
||||
<!-- TODO: Brief description of what this configuration controls -->
|
||||
|
||||
### Scope
|
||||
<!-- TODO: Which components/services use this configuration -->
|
||||
|
||||
### Configuration Files
|
||||
<!-- TODO: List configuration files and their locations, e.g.:
|
||||
- **Primary:** `config/[environment].yml`
|
||||
- **Overrides:** `config/local.yml` (git-ignored)
|
||||
- **Secrets:** Environment variables or vault
|
||||
-->
|
||||
|
||||
### Precedence Order
|
||||
<!-- TODO: How configuration sources are merged, highest priority first, e.g.:
|
||||
1. Environment variables
|
||||
2. Local overrides (`config/local.yml`)
|
||||
3. Environment-specific (`config/production.yml`, `config/development.yml`)
|
||||
4. Base defaults (`config/default.yml`)
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
## Configuration Structure
|
||||
|
||||
### File Organization
|
||||
<!-- TODO: Document configuration file structure using YAML or JSON format example -->
|
||||
|
||||
---
|
||||
|
||||
## Common Settings
|
||||
|
||||
### Server Configuration
|
||||
<!-- TODO: Document server configuration settings with examples, e.g.:
|
||||
```yaml
|
||||
server:
|
||||
host: localhost
|
||||
port: 3000
|
||||
timeout: 30000 # milliseconds
|
||||
```
|
||||
|
||||
**Key Settings:**
|
||||
- `host`: Server bind address
|
||||
- `port`: Server port number
|
||||
-->
|
||||
|
||||
### Database Configuration
|
||||
<!-- TODO: Document database configuration settings with examples, e.g.:
|
||||
```yaml
|
||||
database:
|
||||
adapter: postgresql
|
||||
host: localhost
|
||||
port: 5432
|
||||
name: app_development
|
||||
username: dbuser
|
||||
password: ${DB_PASSWORD} # Use env var
|
||||
```
|
||||
|
||||
**Key Settings:**
|
||||
- `adapter`: Database type
|
||||
- `pool.max`: Maximum database connections
|
||||
-->
|
||||
|
||||
### Cache Configuration
|
||||
<!-- TODO: OPTIONAL - Remove if not applicable. Document cache configuration:
|
||||
```yaml
|
||||
cache:
|
||||
adapter: redis
|
||||
host: localhost
|
||||
port: 6379
|
||||
ttl: 3600 # seconds
|
||||
```
|
||||
-->
|
||||
|
||||
### Logging Configuration
|
||||
<!-- TODO: Document logging configuration settings with examples, e.g.:
|
||||
```yaml
|
||||
logging:
|
||||
level: info # debug, info, warn, error
|
||||
format: json # json, text
|
||||
outputs:
|
||||
- type: console
|
||||
- type: file
|
||||
path: logs/app.log
|
||||
```
|
||||
|
||||
**Key Settings:**
|
||||
- `level`: Minimum log level to output
|
||||
- `format`: Log output format
|
||||
-->
|
||||
|
||||
### Security Configuration
|
||||
<!-- TODO: Document security configuration settings with examples, e.g.:
|
||||
```yaml
|
||||
security:
|
||||
jwt:
|
||||
secret: ${JWT_SECRET} # Use env var
|
||||
expiry: 3600 # seconds
|
||||
cors:
|
||||
enabled: true
|
||||
allowed_origins:
|
||||
- "http://localhost:3000"
|
||||
```
|
||||
|
||||
**Key Settings:**
|
||||
- Document important security settings
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
## Required vs Optional
|
||||
|
||||
### Required Configuration
|
||||
<!-- TODO: Document configuration that MUST be set for the application to start
|
||||
|
||||
**Environment Variables:**
|
||||
```bash
|
||||
# Required in all environments
|
||||
DB_PASSWORD=<database-password>
|
||||
JWT_SECRET=<jwt-signing-secret>
|
||||
```
|
||||
|
||||
**Validation Rules:**
|
||||
- List validation rules
|
||||
-->
|
||||
|
||||
### Optional Configuration
|
||||
<!-- TODO: Document configuration with sensible defaults
|
||||
|
||||
**Settings with Defaults:**
|
||||
- `setting.name`: Defaults to value
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
## Feature Flags
|
||||
|
||||
<!-- TODO: OPTIONAL - Remove if not applicable. Document feature flags:
|
||||
```yaml
|
||||
features:
|
||||
new_feature:
|
||||
enabled: false
|
||||
rollout_percentage: 0 # 0-100
|
||||
|
||||
experimental_feature:
|
||||
enabled: false
|
||||
environments:
|
||||
- development
|
||||
- staging
|
||||
```
|
||||
|
||||
**Feature Flag Guidelines:**
|
||||
- Default to `false` for new features
|
||||
- Use `rollout_percentage` for gradual rollout
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
## Configuration Examples
|
||||
|
||||
### Development Environment
|
||||
<!-- TODO: Document development environment configuration example:
|
||||
```yaml
|
||||
# config/development.yml
|
||||
server:
|
||||
host: localhost
|
||||
port: 3000
|
||||
|
||||
database:
|
||||
adapter: postgresql
|
||||
host: localhost
|
||||
port: 5432
|
||||
name: app_development
|
||||
```
|
||||
-->
|
||||
|
||||
### Production Environment
|
||||
<!-- TODO: Document production environment configuration example:
|
||||
```yaml
|
||||
# config/production.yml
|
||||
server:
|
||||
host: 0.0.0.0
|
||||
port: 8080
|
||||
|
||||
database:
|
||||
adapter: postgresql
|
||||
host: db.production.internal
|
||||
port: 5432
|
||||
name: app_production
|
||||
```
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
## Configuration Validation
|
||||
|
||||
### Startup Validation
|
||||
<!-- TODO: Document checks performed when application starts
|
||||
|
||||
**Validation Steps:**
|
||||
1. Required environment variables are set
|
||||
2. Configuration files are valid YAML/JSON
|
||||
3. Database connection is successful
|
||||
4. Port is available
|
||||
|
||||
**Failure Behavior:**
|
||||
- Application fails to start if validation fails
|
||||
- Error messages indicate which configuration is invalid
|
||||
-->
|
||||
|
||||
### Runtime Validation
|
||||
<!-- TODO: OPTIONAL - Remove if not applicable. Document checks performed during operation
|
||||
|
||||
**Health Checks:**
|
||||
- Database connection pool health
|
||||
- Cache connectivity
|
||||
|
||||
**Monitoring Alerts:**
|
||||
- Connection pool exhaustion
|
||||
- Cache miss rate exceeds threshold
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
## Environment Variables Reference
|
||||
|
||||
<!-- TODO: Document all environment variables:
|
||||
```bash
|
||||
# Database
|
||||
DB_PASSWORD=<required>
|
||||
|
||||
# Security
|
||||
JWT_SECRET=<required-min-32-chars>
|
||||
API_KEY=<optional>
|
||||
|
||||
# External Services
|
||||
REDIS_URL=<optional-defaults-to-config>
|
||||
```
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
<!-- TODO: Document common configuration issues and solutions
|
||||
|
||||
**Application won't start:**
|
||||
- Check required environment variables are set
|
||||
- Verify database connection settings
|
||||
- Ensure port is not already in use
|
||||
|
||||
**Performance issues:**
|
||||
- Review database pool settings
|
||||
- Check cache hit rate and TTL settings
|
||||
- Verify logging level is not set to `debug` in production
|
||||
|
||||
**Configuration not taking effect:**
|
||||
- Check configuration precedence order
|
||||
- Verify environment variable names match exactly
|
||||
- Restart application after config changes
|
||||
-->
|
||||
103
skills/spec-author/templates/constitution.md
Normal file
103
skills/spec-author/templates/constitution.md
Normal file
@@ -0,0 +1,103 @@
|
||||
# <!-- TODO: Constitution Name, e.g., API Design Constitution -->
|
||||
|
||||
**Type**: `constitution`
|
||||
**Status**: <!-- TODO: draft | active | deprecated -->
|
||||
**Domain**: <!-- TODO: e.g., api-design, code-review, architecture, testing -->
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
### Purpose
|
||||
|
||||
<!-- TODO: 1-2 sentences describing what this constitution governs and why it exists -->
|
||||
|
||||
### Scope
|
||||
|
||||
**Applies to**:
|
||||
<!-- TODO: List what this constitution covers:
|
||||
- What this constitution covers
|
||||
- Specific areas or scenarios
|
||||
-->
|
||||
|
||||
**Does not apply to**:
|
||||
<!-- TODO: List explicit exclusions:
|
||||
- Explicit exclusions
|
||||
- Out of scope scenarios
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
## Articles
|
||||
|
||||
### Article 1: <!-- TODO: Principle Name -->
|
||||
|
||||
**Principle**: <!-- TODO: Clear, actionable statement of the principle -->
|
||||
|
||||
**Rationale**: <!-- TODO: Why this principle matters and what problems it solves -->
|
||||
|
||||
**Examples**:
|
||||
<!-- TODO: Provide good and bad examples:
|
||||
- ✅ **Good**: Brief example demonstrating the principle
|
||||
- ❌ **Bad**: Brief counter-example violating the principle
|
||||
-->
|
||||
|
||||
**Exceptions**: <!-- TODO: When this principle may not apply, or "None" -->
|
||||
|
||||
---
|
||||
|
||||
### Article 2: <!-- TODO: Principle Name -->
|
||||
|
||||
**Principle**: <!-- TODO: Clear, actionable statement of the principle -->
|
||||
|
||||
**Rationale**: <!-- TODO: Why this principle matters and what problems it solves -->
|
||||
|
||||
**Examples**:
|
||||
<!-- TODO: Provide good and bad examples:
|
||||
- ✅ **Good**: Brief example demonstrating the principle
|
||||
- ❌ **Bad**: Brief counter-example violating the principle
|
||||
-->
|
||||
|
||||
**Exceptions**: <!-- TODO: When this principle may not apply, or "None" -->
|
||||
|
||||
---
|
||||
|
||||
### Article 3: <!-- TODO: Principle Name -->
|
||||
|
||||
**Principle**: <!-- TODO: Clear, actionable statement of the principle -->
|
||||
|
||||
**Rationale**: <!-- TODO: Why this principle matters and what problems it solves -->
|
||||
|
||||
**Examples**:
|
||||
<!-- TODO: Provide good and bad examples:
|
||||
- ✅ **Good**: Brief example demonstrating the principle
|
||||
- ❌ **Bad**: Brief counter-example violating the principle
|
||||
-->
|
||||
|
||||
**Exceptions**: <!-- TODO: When this principle may not apply, or "None" -->
|
||||
|
||||
---
|
||||
|
||||
<!-- TODO: Add more articles as needed (3-7 total recommended). Copy the article template above. -->
|
||||
|
||||
---
|
||||
|
||||
## Governance
|
||||
|
||||
### Amendment Process
|
||||
|
||||
<!-- TODO: How this constitution can be modified. Example: "Amendments require team consensus and PR approval" -->
|
||||
|
||||
### Enforcement
|
||||
|
||||
<!-- TODO: How adherence is ensured. Example: "Enforced through code review checklist" or "Validated in CI/CD pipeline" -->
|
||||
|
||||
### Conflict Resolution
|
||||
|
||||
<!-- TODO: How conflicts with other constitutions or guidelines are resolved -->
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
<!-- TODO: OPTIONAL - Remove if not applicable. Any additional context, references, or clarifications -->
|
||||
155
skills/spec-author/templates/data-model.md
Normal file
155
skills/spec-author/templates/data-model.md
Normal file
@@ -0,0 +1,155 @@
|
||||
### Data Model
|
||||
|
||||
# <!-- Title and ID, e.g., #[DM-001] User Account Data Model -->
|
||||
|
||||
Version: <!-- e.g., 1.0.0 -->
|
||||
Status: <!-- Draft | Stable | Deprecated -->
|
||||
Last Updated: <!-- YYYY-MM-DD -->
|
||||
|
||||
## Overview
|
||||
|
||||
<!-- Brief overview: purpose, primary entities, and how they fit in the larger architecture -->
|
||||
|
||||
## Entity Definitions
|
||||
|
||||
### <!-- [ent-001] Entity Name (e.g., User) -->
|
||||
|
||||
**Description**: <!-- What this entity represents -->
|
||||
**Primary Key**: <!-- Field name and type, e.g., id (UUID) -->
|
||||
|
||||
**Relationships**:
|
||||
<!-- Document key relationships using arrow notation:
|
||||
- **owns** → Organization (1:many) - User belongs to one org
|
||||
- **member_of** ↔ Team (many:many) - User can be in multiple teams
|
||||
-->
|
||||
|
||||
#### Fields
|
||||
|
||||
```json
|
||||
{
|
||||
"id": {
|
||||
"type": "UUID",
|
||||
"required": true,
|
||||
"constraints": ["Unique"],
|
||||
"indexed": true,
|
||||
"description": "Unique identifier"
|
||||
},
|
||||
"email": {
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"constraints": ["Unique", "Email format"],
|
||||
"indexed": true,
|
||||
"description": "User's email address"
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"constraints": ["1-255 chars"],
|
||||
"description": "User's full name"
|
||||
},
|
||||
"status": {
|
||||
"type": "enum(active|inactive|suspended)",
|
||||
"required": true,
|
||||
"default": "active",
|
||||
"indexed": true,
|
||||
"description": "Account status"
|
||||
},
|
||||
"created_at": {
|
||||
"type": "timestamp",
|
||||
"required": true,
|
||||
"default": "NOW",
|
||||
"indexed": true,
|
||||
"description": "Creation timestamp"
|
||||
},
|
||||
"updated_at": {
|
||||
"type": "timestamp",
|
||||
"required": true,
|
||||
"default": "NOW",
|
||||
"description": "Last update timestamp"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Example
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "usr_123abc",
|
||||
"email": "john.doe@example.com",
|
||||
"name": "John Doe",
|
||||
"status": "active",
|
||||
"created_at": "2024-01-15T10:30:00Z",
|
||||
"updated_at": "2024-01-15T10:30:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### <!-- [ent-002] Additional Entity -->
|
||||
|
||||
**Description**: <!-- What this entity represents -->
|
||||
**Primary Key**: <!-- Field name and type -->
|
||||
|
||||
**Relationships**: <!-- Document relationships -->
|
||||
|
||||
#### Fields
|
||||
|
||||
```json
|
||||
{
|
||||
"id": {
|
||||
"type": "UUID",
|
||||
"required": true,
|
||||
"indexed": true,
|
||||
"description": "Unique identifier"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Example
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "123"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Relationships & Cardinality
|
||||
|
||||
<!-- Document key relationships between entities:
|
||||
|
||||
### User - Organization Relationship
|
||||
**Cardinality**: User many → Organization one
|
||||
**Implementation**: Foreign key `organization_id` in User table
|
||||
**Cascade Behavior**: On delete, mark users as deleted
|
||||
**Description**: Each user belongs to one organization
|
||||
|
||||
### User - Team Relationship
|
||||
**Cardinality**: User many ↔ Team many
|
||||
**Implementation**: Join table `user_team_memberships` with user_id, team_id, role, joined_at
|
||||
**Description**: Users can be members of multiple teams
|
||||
|
||||
For complex relationships, reference a Flow Schematic.
|
||||
-->
|
||||
|
||||
## Indexing Strategy
|
||||
|
||||
<!-- Document indexes for query optimization:
|
||||
|
||||
### Primary Indexes
|
||||
- `id` (Primary Key) - Entity lookups by ID
|
||||
- `email` (Unique) - User login/lookup
|
||||
- `organization_id` - Query users by organization
|
||||
|
||||
### Composite Indexes
|
||||
- `(organization_id, status)` - Filter active users per org
|
||||
- `(created_at, status)` - Time-based queries
|
||||
|
||||
### Performance Targets
|
||||
- Lookup by ID: < 10ms
|
||||
- Lookup by email: < 10ms
|
||||
- Query by organization: < 100ms for 100k users
|
||||
-->
|
||||
|
||||
---
|
||||
345
skills/spec-author/templates/deployment-procedure.md
Normal file
345
skills/spec-author/templates/deployment-procedure.md
Normal file
@@ -0,0 +1,345 @@
|
||||
# [Feature Name] Deployment Procedure
|
||||
|
||||
## Document Metadata
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| **Document Type** | Deployment Procedure (DEPLOY) |
|
||||
| **Document ID** | `deploy-[project]-[nnn]-[feature-name]` |
|
||||
| **Status** | Draft |
|
||||
| **Version** | 1.0.0 |
|
||||
| **Author** | [Author Name] |
|
||||
| **Approver** | [Deployment Lead/DevOps Lead] |
|
||||
| **Related Specs** | [Links to PRD, Technical Design, etc.] |
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
### Purpose
|
||||
<!-- Brief description of what this deployment accomplishes -->
|
||||
|
||||
### Scope
|
||||
<!-- What systems/services are affected by this deployment -->
|
||||
|
||||
|
||||
### Risk Level
|
||||
<!-- Select one: Low / Medium / High -->
|
||||
**Risk Level:** [Low/Medium/High]
|
||||
|
||||
**Risk Factors:**
|
||||
- <!-- Key risk 1 -->
|
||||
- <!-- Key risk 2 -->
|
||||
|
||||
---
|
||||
|
||||
## Prerequisites
|
||||
|
||||
### Required Access
|
||||
- [ ] Production deployment credentials
|
||||
- [ ] Database access (if applicable)
|
||||
- [ ] Cloud provider console access
|
||||
- [ ] Monitoring dashboard access
|
||||
- [ ] Communication channels (Slack, PagerDuty, etc.)
|
||||
|
||||
### Required Approvals
|
||||
- [ ] Code review completed
|
||||
- [ ] Security review (if applicable)
|
||||
- [ ] Deployment lead approval
|
||||
- [ ] Stakeholder sign-off
|
||||
|
||||
### Environment Readiness
|
||||
- [ ] Staging deployment successful
|
||||
- [ ] All tests passing in CI/CD
|
||||
- [ ] Database migrations tested
|
||||
- [ ] Rollback plan validated
|
||||
- [ ] Monitoring/alerts configured
|
||||
|
||||
### Dependencies
|
||||
<!-- List any external dependencies or coordinated deployments -->
|
||||
- <!-- Dependency 1 -->
|
||||
- <!-- Dependency 2 -->
|
||||
|
||||
---
|
||||
|
||||
## Pre-Deployment Checklist
|
||||
|
||||
### Code & Build
|
||||
- [ ] All PRs merged to deployment branch
|
||||
- [ ] Build artifacts created and verified
|
||||
- [ ] Version tags applied correctly
|
||||
- [ ] Release notes prepared
|
||||
|
||||
### Infrastructure
|
||||
- [ ] Resource capacity verified (CPU, memory, disk)
|
||||
- [ ] Scaling policies reviewed
|
||||
- [ ] Rate limits and quotas checked
|
||||
- [ ] SSL certificates valid
|
||||
|
||||
### Database
|
||||
- [ ] Migrations tested in staging
|
||||
- [ ] Migration rollback tested
|
||||
- [ ] Database backups verified
|
||||
- [ ] Query performance validated
|
||||
|
||||
### Monitoring & Observability
|
||||
- [ ] Health check endpoints verified
|
||||
- [ ] Key metrics dashboard ready
|
||||
- [ ] Alert rules configured
|
||||
- [ ] Log aggregation working
|
||||
|
||||
### Communication
|
||||
- [ ] Deployment window scheduled and communicated
|
||||
- [ ] On-call team notified
|
||||
- [ ] Stakeholders informed
|
||||
- [ ] Status page updated (if applicable)
|
||||
|
||||
### Rollback Readiness
|
||||
- [ ] Previous version artifacts available
|
||||
- [ ] Rollback procedure documented
|
||||
- [ ] Database rollback scripts ready
|
||||
- [ ] Rollback decision criteria defined
|
||||
|
||||
---
|
||||
|
||||
## Deployment Steps
|
||||
|
||||
### Phase 1: Pre-Deployment Setup
|
||||
|
||||
#### Step 1.1: Environment Preparation
|
||||
```bash
|
||||
# Verify current system state
|
||||
# TODO: Add commands to check current deployment version
|
||||
|
||||
# Backup current configuration
|
||||
# TODO: Add backup commands
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] Current version identified
|
||||
- [ ] Backups completed successfully
|
||||
|
||||
#### Step 1.2: Enable Maintenance Mode (if applicable)
|
||||
```bash
|
||||
# TODO: Add commands to enable maintenance mode
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] Maintenance page visible
|
||||
- [ ] Traffic routing confirmed
|
||||
|
||||
---
|
||||
|
||||
### Phase 2: Deployment Execution
|
||||
|
||||
#### Step 2.1: Database Migration (if applicable)
|
||||
```bash
|
||||
# Run database migrations
|
||||
# TODO: Add migration commands
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] Migrations completed without errors
|
||||
- [ ] Schema changes applied correctly
|
||||
- [ ] Data integrity verified
|
||||
|
||||
#### Step 2.2: Application Deployment
|
||||
```bash
|
||||
# Deploy new application version
|
||||
# TODO: Add deployment commands (e.g., kubectl apply, docker deploy, etc.)
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] New version deployed
|
||||
- [ ] Pods/instances healthy
|
||||
- [ ] No deployment errors
|
||||
|
||||
#### Step 2.3: Configuration Updates
|
||||
```bash
|
||||
# Update configuration/environment variables
|
||||
# TODO: Add configuration update commands
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] Configuration changes applied
|
||||
- [ ] Services reloaded/restarted
|
||||
|
||||
#### Step 2.4: Service Restart/Reload
|
||||
```bash
|
||||
# Restart affected services
|
||||
# TODO: Add restart commands
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] All services running
|
||||
- [ ] Health checks passing
|
||||
|
||||
---
|
||||
|
||||
### Phase 3: Post-Deployment Verification
|
||||
|
||||
#### Step 3.1: Health Checks
|
||||
```bash
|
||||
# Verify service health
|
||||
# TODO: Add health check commands
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] All health endpoints returning 200
|
||||
- [ ] No error logs in past 5 minutes
|
||||
- [ ] All instances/pods ready
|
||||
|
||||
#### Step 3.2: Functional Testing
|
||||
<!-- Key functionality to verify manually or via smoke tests -->
|
||||
- [ ] **Test Case 1:** [Description] - Expected: [result]
|
||||
- [ ] **Test Case 2:** [Description] - Expected: [result]
|
||||
- [ ] **Test Case 3:** [Description] - Expected: [result]
|
||||
|
||||
#### Step 3.3: Monitoring Verification
|
||||
**Key Metrics to Monitor:**
|
||||
- [ ] Response time: [threshold]
|
||||
- [ ] Error rate: [threshold]
|
||||
- [ ] Throughput: [threshold]
|
||||
- [ ] Resource utilization: [threshold]
|
||||
|
||||
```bash
|
||||
# Check key metrics
|
||||
# TODO: Add commands to query metrics
|
||||
```
|
||||
|
||||
#### Step 3.4: Disable Maintenance Mode
|
||||
```bash
|
||||
# TODO: Add commands to disable maintenance mode
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] Normal traffic restored
|
||||
- [ ] Users can access application
|
||||
|
||||
---
|
||||
|
||||
## Rollback Plan
|
||||
|
||||
### Rollback Decision Criteria
|
||||
Initiate rollback if any of the following occur:
|
||||
- Error rate exceeds [threshold]% for more than [duration] minutes
|
||||
- Critical functionality broken (specifically: [list critical features])
|
||||
- Performance degradation > [threshold]% from baseline
|
||||
- Database corruption or data loss detected
|
||||
- [Other critical failure condition]
|
||||
|
||||
### Rollback Procedure
|
||||
|
||||
#### Step R.1: Initiate Rollback
|
||||
```bash
|
||||
# Stop new deployment
|
||||
# TODO: Add commands to halt deployment
|
||||
```
|
||||
|
||||
#### Step R.2: Revert Application
|
||||
```bash
|
||||
# Deploy previous version
|
||||
# TODO: Add rollback deployment commands
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] Previous version deployed
|
||||
- [ ] Services healthy
|
||||
|
||||
#### Step R.3: Revert Database (if needed)
|
||||
```bash
|
||||
# Rollback database migrations
|
||||
# TODO: Add migration rollback commands
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] Database schema reverted
|
||||
- [ ] Data integrity verified
|
||||
|
||||
#### Step R.4: Revert Configuration
|
||||
```bash
|
||||
# Restore previous configuration
|
||||
# TODO: Add configuration restore commands
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
- [ ] Configuration restored
|
||||
- [ ] Services using correct config
|
||||
|
||||
#### Step R.5: Verify Rollback
|
||||
- [ ] System functionality restored
|
||||
- [ ] Error rates normalized
|
||||
- [ ] No data loss
|
||||
- [ ] Users can access application
|
||||
|
||||
### Post-Rollback Actions
|
||||
- [ ] Notify stakeholders of rollback
|
||||
- [ ] Document rollback reason
|
||||
- [ ] Schedule post-mortem
|
||||
- [ ] Update deployment status
|
||||
|
||||
---
|
||||
|
||||
## Verification
|
||||
|
||||
### Success Criteria
|
||||
<!-- Define what "successful deployment" means -->
|
||||
- [ ] All services healthy for [duration] minutes
|
||||
- [ ] Error rate < [threshold]%
|
||||
- [ ] Response time within [threshold]ms
|
||||
- [ ] No critical errors in logs
|
||||
- [ ] All functional tests passing
|
||||
- [ ] User traffic processing normally
|
||||
|
||||
### Post-Deployment Monitoring Focus
|
||||
|
||||
**Monitor for:**
|
||||
- Application errors and exceptions
|
||||
- Performance metrics (latency, throughput)
|
||||
- Resource utilization
|
||||
- User-reported issues
|
||||
- Business metrics (if applicable)
|
||||
|
||||
### Sign-off
|
||||
|
||||
| Role | Name | Signature |
|
||||
|------|------|-----------|
|
||||
| Deployment Lead | | |
|
||||
| Technical Lead | | |
|
||||
| Operations | | |
|
||||
|
||||
---
|
||||
|
||||
## Appendix
|
||||
|
||||
### Environment Details
|
||||
| Environment | URL/Endpoint | Version |
|
||||
|-------------|--------------|---------|
|
||||
| Production | | |
|
||||
| Staging | | |
|
||||
|
||||
### Key Contacts
|
||||
| Role | Name | Contact |
|
||||
|------|------|---------|
|
||||
| Deployment Lead | | |
|
||||
| On-Call Engineer | | |
|
||||
| Technical Lead | | |
|
||||
| DevOps Lead | | |
|
||||
|
||||
### Important Commands Reference
|
||||
```bash
|
||||
# Check deployment status
|
||||
# TODO: Add status check commands
|
||||
|
||||
# View logs
|
||||
# TODO: Add log viewing commands
|
||||
|
||||
# Check metrics
|
||||
# TODO: Add metrics commands
|
||||
|
||||
# Emergency rollback (one-liner)
|
||||
# TODO: Add emergency rollback command
|
||||
```
|
||||
|
||||
### Notes
|
||||
<!-- Additional notes, special considerations, or lessons learned -->
|
||||
221
skills/spec-author/templates/design-document.md
Normal file
221
skills/spec-author/templates/design-document.md
Normal file
@@ -0,0 +1,221 @@
|
||||
### Design Document
|
||||
|
||||
# <!-- Title and ID, e.g., #[DESIGN-001] Microservices Architecture for User Service -->
|
||||
|
||||
Type: <!-- Architecture | System Design | RFC | Technology Choice -->
|
||||
Status: <!-- Draft | Under Review | Accepted | Rejected -->
|
||||
Version: <!-- e.g., 1.0.0 -->
|
||||
|
||||
## Executive Summary
|
||||
|
||||
<!-- 3-4 sentences: What problem does this solve? What's the proposed solution? What are the key tradeoffs? -->
|
||||
|
||||
## Problem Statement
|
||||
|
||||
<!-- Describe the current state, limitations, and impact. Why are existing solutions insufficient? -->
|
||||
|
||||
## Goals & Success Criteria
|
||||
|
||||
### Primary Goals
|
||||
- **Goal 1**: <!-- Specific, measurable objective -->
|
||||
- **Goal 2**: <!-- Specific, measurable objective -->
|
||||
- **Goal 3**: <!-- Specific, measurable objective -->
|
||||
|
||||
### Success Criteria
|
||||
1. <!-- Measurable criterion with target metrics -->
|
||||
2. <!-- Measurable criterion with target metrics -->
|
||||
3. <!-- Measurable criterion with target metrics -->
|
||||
|
||||
## Context & Background
|
||||
|
||||
<!-- Why now? What triggered this decision? What constraints exist? Historical context if relevant. -->
|
||||
|
||||
## Proposed Solution
|
||||
|
||||
### High-Level Overview
|
||||
|
||||
<!-- Architecture diagram or ASCII art showing major components and data flow -->
|
||||
|
||||
```
|
||||
┌─────────────┐
|
||||
│ Client │
|
||||
└──────┬──────┘
|
||||
│
|
||||
├─→ [API Gateway]
|
||||
│ │
|
||||
├─→ [Service Layer]
|
||||
│ ├─ Service A
|
||||
│ └─ Service B
|
||||
│
|
||||
└─→ [Data Layer]
|
||||
├─ Database
|
||||
└─ Cache
|
||||
```
|
||||
|
||||
<!-- Brief narrative: How do components work together? What's the overall approach? -->
|
||||
|
||||
### Architecture Components
|
||||
|
||||
#### <!-- Component Name -->
|
||||
- **Purpose**: <!-- What this component does -->
|
||||
- **Technology**: <!-- Stack choice and version -->
|
||||
- **Key Responsibilities**: <!-- Primary functions -->
|
||||
- **Interactions**: <!-- How it connects with other components -->
|
||||
|
||||
#### <!-- Component Name -->
|
||||
- **Purpose**: <!-- What this component does -->
|
||||
- **Technology**: <!-- Stack choice and version -->
|
||||
- **Key Responsibilities**: <!-- Primary functions -->
|
||||
- **Interactions**: <!-- How it connects with other components -->
|
||||
|
||||
### Design Decisions
|
||||
|
||||
#### Decision 1: <!-- Decision Title -->
|
||||
- **Decision**: <!-- What was chosen -->
|
||||
- **Rationale**: <!-- Why this choice over alternatives -->
|
||||
- **Alternatives Considered**: <!-- Briefly list other options and why they weren't chosen -->
|
||||
- **Impact**: <!-- Key consequences of this decision -->
|
||||
|
||||
#### Decision 2: <!-- Decision Title -->
|
||||
- **Decision**: <!-- What was chosen -->
|
||||
- **Rationale**: <!-- Why this choice over alternatives -->
|
||||
- **Alternatives Considered**: <!-- Briefly list other options and why they weren't chosen -->
|
||||
- **Impact**: <!-- Key consequences of this decision -->
|
||||
|
||||
### Technology Stack
|
||||
|
||||
**Language & Runtime**
|
||||
- <!-- Technology, version, and rationale -->
|
||||
|
||||
**Data Layer**
|
||||
- <!-- Primary database/storage, version, and rationale -->
|
||||
- <!-- Cache layer, version, and rationale -->
|
||||
|
||||
**Infrastructure**
|
||||
- <!-- Hosting/cloud platform and rationale -->
|
||||
- <!-- Container/orchestration technology if applicable -->
|
||||
|
||||
**Key Libraries/Frameworks**
|
||||
- <!-- Critical dependencies with versions -->
|
||||
|
||||
### Data Model & Storage
|
||||
|
||||
<!-- Reference data specification or provide high-level overview -->
|
||||
|
||||
**Storage Strategy**
|
||||
- **Primary Database**: <!-- Choice and structure -->
|
||||
- **Caching**: <!-- Strategy and technology -->
|
||||
- **Data Retention**: <!-- Archival and cleanup policies -->
|
||||
|
||||
<!-- Optionally include simplified schema or entity relationships -->
|
||||
|
||||
### API & Integration Points
|
||||
|
||||
<!-- Reference API specification or list key endpoints and integrations -->
|
||||
|
||||
**External Dependencies**
|
||||
- Integrates with <!-- Service/API name --> for <!-- purpose -->
|
||||
- Consumes events from <!-- Service/API name -->
|
||||
- Publishes events to <!-- Service/API name -->
|
||||
|
||||
**Key Endpoints** (or reference API spec)
|
||||
- <!-- HTTP method and path -->: <!-- Purpose -->
|
||||
- <!-- HTTP method and path -->: <!-- Purpose -->
|
||||
|
||||
## Trade-offs
|
||||
|
||||
### Accepting
|
||||
- <!-- Cost, complexity, or limitation we're accepting -->
|
||||
- <!-- Technical debt or constraint we're taking on -->
|
||||
- <!-- Performance or feature tradeoff -->
|
||||
|
||||
### Gaining
|
||||
- <!-- Primary benefit we're achieving -->
|
||||
- <!-- Problem we're solving -->
|
||||
- <!-- Capability we're enabling -->
|
||||
|
||||
## Implementation
|
||||
|
||||
<!-- Reference implementation plan or outline high-level phases -->
|
||||
|
||||
**Approach**: <!-- Sequential rollout, phased migration, parallel development, etc. -->
|
||||
|
||||
**Phases**:
|
||||
1. **Phase 1**: <!-- Description, key deliverables -->
|
||||
2. **Phase 2**: <!-- Description, key deliverables -->
|
||||
3. **Phase 3**: <!-- Description, key deliverables -->
|
||||
|
||||
**Migration Strategy** (if applicable):
|
||||
- <!-- How existing systems/data will be transitioned -->
|
||||
|
||||
See [Plan Specification](#) for detailed implementation roadmap.
|
||||
|
||||
## Performance & Scalability
|
||||
|
||||
### Performance Targets
|
||||
- **Latency**: <!-- e.g., < 100ms p95, < 200ms p99 -->
|
||||
- **Throughput**: <!-- e.g., 1000 requests/second -->
|
||||
- **Availability**: <!-- e.g., 99.9% uptime -->
|
||||
|
||||
### Scalability Strategy
|
||||
- **Scaling Approach**: <!-- Horizontal/vertical, stateless design, etc. -->
|
||||
- **Bottlenecks**: <!-- Known limitations and mitigation strategies -->
|
||||
- **Auto-scaling**: <!-- Triggers, thresholds, and scaling policies -->
|
||||
|
||||
### Monitoring & Observability
|
||||
- **Metrics**: <!-- Key metrics to track -->
|
||||
- **Alerting**: <!-- Critical alerts and thresholds -->
|
||||
- **Logging**: <!-- Logging strategy and aggregation -->
|
||||
|
||||
## Security
|
||||
|
||||
**Authentication**
|
||||
- <!-- Method: JWT, OAuth, API keys, etc. -->
|
||||
|
||||
**Authorization**
|
||||
- <!-- Access control approach: RBAC, ABAC, etc. -->
|
||||
|
||||
**Data Protection**
|
||||
- **Encryption at Rest**: <!-- Method and key management -->
|
||||
- **Encryption in Transit**: <!-- TLS/SSL configuration -->
|
||||
- **PII Handling**: <!-- Sensitive data protection approach -->
|
||||
|
||||
**Secrets Management**
|
||||
- <!-- How secrets, credentials, and keys are managed -->
|
||||
|
||||
**Compliance**
|
||||
- <!-- Relevant standards: GDPR, SOC2, HIPAA, etc. -->
|
||||
|
||||
## Dependencies & Assumptions
|
||||
|
||||
### Dependencies
|
||||
- <!-- External service or system dependency and impact if unavailable -->
|
||||
- <!-- Team or resource dependency -->
|
||||
- <!-- Third-party library or platform dependency -->
|
||||
|
||||
### Assumptions
|
||||
- <!-- Key assumption that must hold true for this design to work -->
|
||||
- <!-- Assumption about scale, usage patterns, or constraints -->
|
||||
- <!-- Assumption about external systems or future capabilities -->
|
||||
|
||||
## Open Questions
|
||||
|
||||
<!-- Questions that need resolution before or during implementation -->
|
||||
|
||||
- [ ] <!-- Question or decision to be made --> - **Status**: <!-- Under investigation, blocked, etc. -->
|
||||
- [ ] <!-- Question or decision to be made --> - **Status**: <!-- Under investigation, blocked, etc. -->
|
||||
- [ ] <!-- Deferred decision with rationale for deferral -->
|
||||
|
||||
## Approvals
|
||||
|
||||
**Technical Review**
|
||||
- <!-- Name, Role -->
|
||||
|
||||
**Architecture Review**
|
||||
- <!-- Name, Role -->
|
||||
|
||||
**Security Review**
|
||||
- <!-- Name, Role -->
|
||||
|
||||
**Approved By**
|
||||
- <!-- Name, Role -->
|
||||
146
skills/spec-author/templates/flow-schematic.md
Normal file
146
skills/spec-author/templates/flow-schematic.md
Normal file
@@ -0,0 +1,146 @@
|
||||
# Flow Schematic: <!-- TODO: Feature Name -->
|
||||
|
||||
**Document ID:** `flow-[project]-[feature-id]-[description]`
|
||||
**Status:** <!-- TODO: Draft | In Review | Approved -->
|
||||
**Last Updated:** <!-- TODO: YYYY-MM-DD -->
|
||||
**Owner:** <!-- TODO: Team/Individual -->
|
||||
**Related Specs:** <!-- TODO: List related spec IDs -->
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
<!-- TODO: Brief description of what this flow accomplishes and why it exists -->
|
||||
|
||||
**Purpose:** <!-- TODO: 1-2 sentences on the business/technical goal -->
|
||||
|
||||
**Trigger:** <!-- TODO: What initiates this flow - user action, system event, scheduled task, etc. -->
|
||||
|
||||
**Outcome:** <!-- TODO: Expected end state when flow completes successfully -->
|
||||
|
||||
---
|
||||
|
||||
## Scope & Context
|
||||
|
||||
### In Scope
|
||||
<!-- TODO: List what's in scope:
|
||||
- Primary flow path
|
||||
- Key decision points
|
||||
- Critical error handling
|
||||
-->
|
||||
|
||||
### Out of Scope
|
||||
<!-- TODO: List what's out of scope:
|
||||
- Edge cases handled elsewhere
|
||||
- Related but separate flows
|
||||
-->
|
||||
|
||||
### Assumptions
|
||||
<!-- TODO: List assumptions:
|
||||
- Required preconditions
|
||||
- System state assumptions
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
## Flow Steps
|
||||
|
||||
<!-- TODO: Main flow sequence - focus on the happy path. Document in table format:
|
||||
| Step | Actor | Action | Decision/Output |
|
||||
|------|-------|--------|-----------------|
|
||||
| 1 | [System/User/Service] | [Action description] | [Decision criteria or next step] |
|
||||
| 2 | [System/User/Service] | [Action description] | [Decision criteria or next step] |
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
## Decision Points
|
||||
|
||||
<!-- TODO: Key decisions that affect flow direction
|
||||
|
||||
### Decision 1: [Name]
|
||||
**Condition:** [What triggers this decision]
|
||||
**Options:**
|
||||
- **Path A:** [Condition] → [Outcome]
|
||||
- **Path B:** [Condition] → [Outcome]
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
## Error Handling
|
||||
|
||||
<!-- TODO: Critical error scenarios and recovery strategies. Document in table format:
|
||||
| Error Type | Detection | Recovery Action | Fallback |
|
||||
|------------|-----------|-----------------|----------|
|
||||
| [Error category] | [How identified] | [Primary recovery] | [If recovery fails] |
|
||||
-->
|
||||
|
||||
**Rollback Strategy:** <!-- TODO: How to undo partial completion -->
|
||||
|
||||
---
|
||||
|
||||
## Dependencies
|
||||
|
||||
### System Dependencies
|
||||
<!-- TODO: List required services, data sources, and infrastructure:
|
||||
- **Services:** [Required services/APIs]
|
||||
- **Data:** [Required data sources]
|
||||
- **Infrastructure:** [Required infrastructure components]
|
||||
-->
|
||||
|
||||
### External Dependencies
|
||||
<!-- TODO: OPTIONAL - Remove if not applicable. List external services and user actions:
|
||||
- **Third-party APIs:** [External services]
|
||||
- **User Actions:** [Required user inputs]
|
||||
-->
|
||||
|
||||
### Upstream Flows
|
||||
<!-- TODO: OPTIONAL - Remove if not applicable. List flows that must complete before this one -->
|
||||
|
||||
### Downstream Flows
|
||||
<!-- TODO: OPTIONAL - Remove if not applicable. List flows triggered by this one -->
|
||||
|
||||
---
|
||||
|
||||
## Success Criteria
|
||||
|
||||
<!-- TODO: How to verify the flow completed correctly -->
|
||||
|
||||
### Functional Success
|
||||
<!-- TODO: List functional criteria:
|
||||
- [ ] [Key outcome 1 achieved]
|
||||
- [ ] [Key outcome 2 achieved]
|
||||
- [ ] [Data consistency verified]
|
||||
-->
|
||||
|
||||
### Technical Success
|
||||
<!-- TODO: List technical criteria:
|
||||
- [ ] [No errors logged]
|
||||
- [ ] [State correctly updated]
|
||||
- [ ] [Downstream systems notified]
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
## Performance Targets
|
||||
|
||||
<!-- TODO: Document performance targets in table format:
|
||||
| Metric | Target | Measurement Point |
|
||||
|--------|--------|-------------------|
|
||||
| End-to-end latency | [e.g., <500ms] | [Start to completion] |
|
||||
| Individual step time | [e.g., <100ms] | [Critical step] |
|
||||
| Throughput | [e.g., 1000 req/sec] | [Peak load scenario] |
|
||||
| Error rate | [e.g., <0.1%] | [Per 1000 executions] |
|
||||
-->
|
||||
|
||||
**Timeout:** <!-- TODO: Maximum flow duration before abort -->
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
<!-- TODO: OPTIONAL - Remove if not applicable. Additional context, caveats, or future considerations:
|
||||
- [Important consideration 1]
|
||||
- [Important consideration 2]
|
||||
- [Known limitation or future enhancement]
|
||||
-->
|
||||
118
skills/spec-author/templates/milestone.md
Normal file
118
skills/spec-author/templates/milestone.md
Normal file
@@ -0,0 +1,118 @@
|
||||
### Milestone
|
||||
|
||||
# <!-- Title: #[MLS-001] Q4 User Dashboard Launch -->
|
||||
|
||||
Priority: <!-- critical | high | medium | low -->
|
||||
Status: <!-- Draft | Planning | In Progress | At Risk | Completed -->
|
||||
Owner: <!-- Name and title -->
|
||||
|
||||
## Description
|
||||
|
||||
<!-- Describe what will be accomplished and why it matters. Focus on outcomes and business value. -->
|
||||
|
||||
## Scope
|
||||
|
||||
### Deliverables
|
||||
|
||||
<!-- List what will be built/modified -->
|
||||
|
||||
| Deliverable | Description | Status |
|
||||
| --- | --- | --- |
|
||||
| <!-- Name --> | <!-- What it includes --> | <!-- Not Started/In Progress/Completed --> |
|
||||
|
||||
### In Scope
|
||||
|
||||
<!-- Key outcomes and capabilities when complete -->
|
||||
|
||||
- <!-- Outcome statement -->
|
||||
|
||||
### Out of Scope
|
||||
|
||||
<!-- Clarify exclusions to prevent scope creep -->
|
||||
|
||||
- **Exclusion**: <!-- What's not included --> - Deferred to <!-- future milestone/phase -->
|
||||
|
||||
## Timeline
|
||||
|
||||
### Key Phases
|
||||
|
||||
<!-- Define major phases without specific dates -->
|
||||
|
||||
| Phase | Description |
|
||||
| --- | --- |
|
||||
| <!-- Design Review --> | <!-- Complete design validation --> |
|
||||
| <!-- Development --> | <!-- Core implementation --> |
|
||||
| <!-- Testing --> | <!-- QA and validation --> |
|
||||
| <!-- Launch --> | <!-- Production release --> |
|
||||
|
||||
## Success Criteria
|
||||
|
||||
<!-- Define 3-5 measurable criteria for success -->
|
||||
|
||||
### [suc-001] <!-- Title -->
|
||||
|
||||
<!-- Description of what success looks like -->
|
||||
|
||||
**Verification**: <!-- How this will be measured -->
|
||||
|
||||
### [suc-002] <!-- Title -->
|
||||
|
||||
<!-- Description of what success looks like -->
|
||||
|
||||
**Verification**: <!-- How this will be measured -->
|
||||
|
||||
### [suc-003] <!-- Title -->
|
||||
|
||||
<!-- Description of what success looks like -->
|
||||
|
||||
**Verification**: <!-- How this will be measured -->
|
||||
|
||||
## Dependencies
|
||||
|
||||
### Internal Dependencies
|
||||
|
||||
<!-- Prerequisites from your team/organization. Omit section if none. -->
|
||||
|
||||
- **Dependency**: <!-- What's needed -->
|
||||
- **Owner**: <!-- Name -->
|
||||
- **Impact if Delayed**: <!-- What breaks -->
|
||||
|
||||
### External Dependencies
|
||||
|
||||
<!-- Prerequisites from other teams/vendors. Omit section if none. -->
|
||||
|
||||
- **Dependency**: <!-- What's needed -->
|
||||
- **From**: <!-- Team/organization -->
|
||||
- **Impact if Delayed**: <!-- What breaks -->
|
||||
|
||||
### Blockers
|
||||
|
||||
<!-- Current or anticipated blockers. Omit section if none. -->
|
||||
|
||||
- **Blocker**: <!-- Issue description -->
|
||||
- **Probability**: <!-- High/Medium/Low -->
|
||||
- **Impact**: <!-- Critical/High/Medium/Low -->
|
||||
- **Mitigation**: <!-- Action plan -->
|
||||
|
||||
## Related Specs
|
||||
|
||||
### Components
|
||||
|
||||
<!-- Components affected by this milestone -->
|
||||
|
||||
| Component | Change Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [CMP-XXX] <!-- Name --> | <!-- New/Modified/Deprecated --> | <!-- What's changing --> |
|
||||
|
||||
### Plans
|
||||
|
||||
<!-- Execution plans that implement this milestone -->
|
||||
|
||||
- [PLN-XXX] <!-- Plan Name --> - <!-- What this plan accomplishes -->
|
||||
|
||||
### Requirements
|
||||
|
||||
<!-- Business and technical requirements this milestone addresses -->
|
||||
|
||||
- [BRD-XXX] <!-- Business Requirement --> - <!-- How it's addressed -->
|
||||
- [PRD-XXX] <!-- Technical Requirement --> - <!-- Implementation approach -->
|
||||
88
skills/spec-author/templates/plan.md
Normal file
88
skills/spec-author/templates/plan.md
Normal file
@@ -0,0 +1,88 @@
|
||||
### Plan
|
||||
|
||||
# <!-- Replace with descriptive title and ID, e.g., #[PLN-001] Implement User Authentication -->
|
||||
|
||||
Priority: <!-- critical | high | medium | low | nice-to-have -->
|
||||
Status: <!-- Draft | Planning | In Progress | Completed -->
|
||||
|
||||
## Overview
|
||||
|
||||
<!-- Describe what this plan accomplishes and why it's needed. What changes, what's the outcome? -->
|
||||
|
||||
### Fulfills
|
||||
|
||||
<!-- Link to requirements this plan addresses -->
|
||||
- [BRD-XXX] Business Requirement Name
|
||||
- [TRQ-XXX] Technical Requirement Name
|
||||
- [MLS-XXX] Milestone Name
|
||||
|
||||
### Scope
|
||||
|
||||
**In Scope:**
|
||||
<!-- What will be delivered -->
|
||||
|
||||
**Out of Scope:**
|
||||
<!-- What's explicitly excluded and why -->
|
||||
|
||||
## Tasks
|
||||
|
||||
<!-- Break down work into 5-15 actionable tasks -->
|
||||
|
||||
| ID | Task | Owner | Effort | Dependencies | Status |
|
||||
|---|---|---|---|---|---|
|
||||
| tsk-001 | Task description | Team/Person | S/M/L | None | Pending |
|
||||
| tsk-002 | Task description | Team/Person | M | tsk-001 | Pending |
|
||||
|
||||
### Task Details
|
||||
|
||||
<!-- Expand key tasks that need more detail -->
|
||||
|
||||
#### [tsk-001] Task Name
|
||||
|
||||
**Description:** What needs to be done
|
||||
|
||||
**Files to Modify:**
|
||||
- `path/to/file.ts` - Changes needed
|
||||
|
||||
**Acceptance Criteria:**
|
||||
- Specific verifiable criterion
|
||||
- Another criterion
|
||||
|
||||
## Timeline
|
||||
|
||||
<!-- Define execution phases and sequencing without dates -->
|
||||
|
||||
| Phase | Tasks | Owner | Dependencies |
|
||||
|---|---|---|---|
|
||||
| Phase 1: Setup | tsk-001, tsk-002 | Team A | None |
|
||||
| Phase 2: Implementation | tsk-003, tsk-004 | Team B | Phase 1 |
|
||||
| Phase 3: Testing | tsk-005 | QA Team | Phase 2 |
|
||||
|
||||
**Sequencing Notes:**
|
||||
<!-- Any important notes about task ordering or parallel execution -->
|
||||
|
||||
## Success Metrics
|
||||
|
||||
<!-- How will we measure success? -->
|
||||
- Metric 1: Target value
|
||||
- Metric 2: Target value
|
||||
|
||||
## Dependencies
|
||||
|
||||
### Prerequisites
|
||||
|
||||
<!-- What must be complete before starting -->
|
||||
- **Item** - Status: Pending/Complete - Impact if delayed
|
||||
|
||||
### Related Plans
|
||||
|
||||
<!-- Coordinate with these plans -->
|
||||
- [PLN-XXX] Plan Name - Relationship
|
||||
|
||||
## Risks & Assumptions
|
||||
|
||||
**Key Risks:**
|
||||
- **Risk:** Description - **Mitigation:** Strategy
|
||||
|
||||
**Assumptions:**
|
||||
- What we're assuming - If wrong, what happens
|
||||
101
skills/spec-author/templates/technical-requirement.md
Normal file
101
skills/spec-author/templates/technical-requirement.md
Normal file
@@ -0,0 +1,101 @@
|
||||
### Technical Requirement
|
||||
|
||||
# <!-- Title with ID. Example: #[TRQ-001] Implement Real-Time Notification System -->
|
||||
|
||||
**Priority:** <!-- critical | high | medium | low | nice-to-have -->
|
||||
|
||||
## Description
|
||||
|
||||
<!-- What technical problem are we solving? Describe the technical challenge and why this approach matters. -->
|
||||
|
||||
## Business Requirements Addressed
|
||||
|
||||
<!-- List business requirements this technical solution fulfills:
|
||||
- [BRD-XXX] Requirement Name - How this implementation addresses it
|
||||
- [BRD-YYY] Another Requirement - Connection to technical solution
|
||||
-->
|
||||
|
||||
## Technical Requirements
|
||||
|
||||
<!-- Specific technical specifications that must be implemented:
|
||||
|
||||
1. **[TR-001] Requirement Title**
|
||||
- Clear, measurable technical requirement
|
||||
- Include specific details (protocols, formats, standards)
|
||||
|
||||
2. **[TR-002] Another Requirement**
|
||||
- Focus on what needs to be built
|
||||
- Be specific about constraints and expectations
|
||||
-->
|
||||
|
||||
### Implementation Approach
|
||||
|
||||
<!-- High-level technical strategy:
|
||||
- Overall architecture pattern
|
||||
- Key technologies and frameworks
|
||||
- Integration points with existing systems
|
||||
- Critical design decisions
|
||||
-->
|
||||
|
||||
### Key Design Decisions
|
||||
|
||||
<!-- Document important technical choices:
|
||||
|
||||
- **Decision:** What was decided
|
||||
- **Rationale:** Why this approach was chosen
|
||||
- **Tradeoffs:** Alternatives considered and why they were rejected
|
||||
-->
|
||||
|
||||
## Technical Acceptance Criteria
|
||||
|
||||
<!-- REQUIRED: Measurable criteria to verify implementation. Each criterion should be testable.
|
||||
|
||||
### [TAC-001] Criterion Title
|
||||
**Description:** What must be true for this to be satisfied
|
||||
**Verification:** How this will be tested (unit tests, integration tests, manual verification)
|
||||
|
||||
### [TAC-002] Another Criterion
|
||||
**Description:** Clear, specific requirement
|
||||
**Verification:** Testing approach
|
||||
-->
|
||||
|
||||
## Dependencies
|
||||
|
||||
### Technical Dependencies
|
||||
|
||||
<!-- Required libraries, services, and systems:
|
||||
- **Package/Service Name** (version) - Purpose | Risk: Low/Medium/High
|
||||
- **API/Service** - Integration purpose | Risk: Low/Medium/High
|
||||
-->
|
||||
|
||||
### Specification Dependencies
|
||||
|
||||
<!-- Other specs that must be completed first:
|
||||
- [SPEC-XXX] Specification Name - Why this is a dependency
|
||||
-->
|
||||
|
||||
### Constraints
|
||||
|
||||
<!-- Technical limitations and requirements:
|
||||
- **Performance:** Response time, throughput requirements
|
||||
- **Scalability:** Load handling expectations
|
||||
- **Security:** Authentication, authorization, data protection
|
||||
- **Compatibility:** Browser, platform, version requirements
|
||||
-->
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
<!-- Important technical considerations:
|
||||
|
||||
### Key Considerations
|
||||
- **[Consideration Name]:** What to watch out for
|
||||
- **Action:** How to address it
|
||||
|
||||
### Migration Strategy
|
||||
<!-- If applicable, approach for transitioning from existing implementation -->
|
||||
|
||||
### Error Handling
|
||||
<!-- Expected error scenarios and handling approach -->
|
||||
|
||||
### Testing Strategy
|
||||
<!-- Unit, integration, and end-to-end testing approach -->
|
||||
Reference in New Issue
Block a user