406 lines
10 KiB
Markdown
406 lines
10 KiB
Markdown
# API Documentation Template
|
|
|
|
## Template Metadata
|
|
**Template ID:** api-documentation-template
|
|
**Version:** 1.0
|
|
**Persona:** Technical Documentation Architect
|
|
**Use Case:** Comprehensive API documentation across multiple platforms
|
|
|
|
## Template Structure
|
|
|
|
### 1. Document Header
|
|
\```markdown
|
|
# {API_NAME} Documentation
|
|
|
|
**Version:** {API_VERSION}
|
|
**Last Updated:** {LAST_UPDATED}
|
|
**Supported Platforms:** {PLATFORM_LIST}
|
|
**Maintainer:** {MAINTAINER_INFO}
|
|
|
|
## Quick Navigation
|
|
- [Overview](#overview)
|
|
- [Getting Started](#getting-started)
|
|
- [Authentication](#authentication)
|
|
- [API Reference](#api-reference)
|
|
- [Integration Examples](#integration-examples)
|
|
- [Error Handling](#error-handling)
|
|
- [Troubleshooting](#troubleshooting)
|
|
- [Additional Resources](#additional-resources)
|
|
```
|
|
|
|
### 2. Overview Section
|
|
\```markdown
|
|
## Overview
|
|
|
|
### Purpose
|
|
{BRIEF_DESCRIPTION_OF_API_PURPOSE}
|
|
|
|
### Key Features
|
|
- {FEATURE_1}
|
|
- {FEATURE_2}
|
|
- {FEATURE_3}
|
|
|
|
### Supported Technologies
|
|
| Platform | Version | Documentation |
|
|
|----------|---------|---------------|
|
|
| {PLATFORM_1} | {VERSION_1} | [Link](#platform-1-integration) |
|
|
| {PLATFORM_2} | {VERSION_2} | [Link](#platform-2-integration) |
|
|
|
|
### Architecture Overview
|
|
{HIGH_LEVEL_ARCHITECTURE_DESCRIPTION}
|
|
```
|
|
|
|
### 3. Getting Started Section
|
|
\```markdown
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
- {PREREQUISITE_1}
|
|
- {PREREQUISITE_2}
|
|
- {PREREQUISITE_3}
|
|
|
|
### Installation
|
|
|
|
#### {PLATFORM_1} Installation
|
|
```{LANGUAGE_1}
|
|
{INSTALLATION_COMMANDS_1}
|
|
```
|
|
|
|
#### {PLATFORM_2} Installation
|
|
```{LANGUAGE_2}
|
|
{INSTALLATION_COMMANDS_2}
|
|
```
|
|
|
|
### Quick Start Example
|
|
```{PRIMARY_LANGUAGE}
|
|
{QUICK_START_CODE_EXAMPLE}
|
|
```
|
|
```
|
|
|
|
### 4. Authentication Section
|
|
\```markdown
|
|
## Authentication
|
|
|
|
### Authentication Methods
|
|
{API_SUPPORTS_AUTHENTICATION_METHODS}
|
|
|
|
### API Key Authentication
|
|
{API_KEY_DESCRIPTION_AND_USAGE}
|
|
|
|
#### {PLATFORM_1} Implementation
|
|
```{LANGUAGE_1}
|
|
{PLATFORM_1_AUTH_EXAMPLE}
|
|
```
|
|
|
|
#### {PLATFORM_2} Implementation
|
|
```{LANGUAGE_2}
|
|
{PLATFORM_2_AUTH_EXAMPLE}
|
|
```
|
|
|
|
### Token Management
|
|
{TOKEN_LIFECYCLE_AND_MANAGEMENT}
|
|
```
|
|
|
|
### 5. API Reference Section
|
|
\```markdown
|
|
## API Reference
|
|
|
|
### Base URL
|
|
```
|
|
{BASE_URL}
|
|
```
|
|
|
|
### Endpoints
|
|
|
|
#### {ENDPOINT_CATEGORY_1}
|
|
|
|
##### {HTTP_METHOD} {ENDPOINT_PATH}
|
|
**Description:** {ENDPOINT_DESCRIPTION}
|
|
|
|
**Parameters:**
|
|
| Parameter | Type | Required | Description |
|
|
|-----------|------|----------|-------------|
|
|
| {PARAM_1} | {TYPE_1} | {REQUIRED_1} | {DESCRIPTION_1} |
|
|
| {PARAM_2} | {TYPE_2} | {REQUIRED_2} | {DESCRIPTION_2} |
|
|
|
|
**Request Example:**
|
|
```{REQUEST_FORMAT}
|
|
{REQUEST_EXAMPLE}
|
|
```
|
|
|
|
**Response Example:**
|
|
```{RESPONSE_FORMAT}
|
|
{RESPONSE_EXAMPLE}
|
|
```
|
|
|
|
**Platform-Specific Examples:**
|
|
|
|
{PLATFORM_1}:
|
|
```{LANGUAGE_1}
|
|
{PLATFORM_1_EXAMPLE}
|
|
```
|
|
|
|
{PLATFORM_2}:
|
|
```{LANGUAGE_2}
|
|
{PLATFORM_2_EXAMPLE}
|
|
```
|
|
```
|
|
|
|
### 6. Integration Examples Section
|
|
\```markdown
|
|
## Integration Examples
|
|
|
|
### Complete Integration Scenarios
|
|
|
|
#### Scenario 1: {SCENARIO_NAME}
|
|
**Use Case:** {USE_CASE_DESCRIPTION}
|
|
|
|
**{PLATFORM_1} Implementation:**
|
|
```{LANGUAGE_1}
|
|
{COMPLETE_INTEGRATION_EXAMPLE_1}
|
|
```
|
|
|
|
**{PLATFORM_2} Implementation:**
|
|
```{LANGUAGE_2}
|
|
{COMPLETE_INTEGRATION_EXAMPLE_2}
|
|
```
|
|
|
|
**Cross-Platform Considerations:**
|
|
- {CONSIDERATION_1}
|
|
- {CONSIDERATION_2}
|
|
- {CONSIDERATION_3}
|
|
```
|
|
|
|
### 7. Error Handling Section
|
|
\```markdown
|
|
## Error Handling
|
|
|
|
### HTTP Status Codes
|
|
| Status Code | Description | Common Causes |
|
|
|-------------|-------------|---------------|
|
|
| {STATUS_1} | {DESCRIPTION_1} | {CAUSES_1} |
|
|
| {STATUS_2} | {DESCRIPTION_2} | {CAUSES_2} |
|
|
|
|
### Error Response Format
|
|
```{RESPONSE_FORMAT}
|
|
{ERROR_RESPONSE_EXAMPLE}
|
|
```
|
|
|
|
### Platform-Specific Error Handling
|
|
|
|
#### {PLATFORM_1} Error Handling
|
|
```{LANGUAGE_1}
|
|
{PLATFORM_1_ERROR_HANDLING}
|
|
```
|
|
|
|
#### {PLATFORM_2} Error Handling
|
|
```{LANGUAGE_2}
|
|
{PLATFORM_2_ERROR_HANDLING}
|
|
```
|
|
```
|
|
|
|
### 8. Troubleshooting Section
|
|
\```markdown
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
#### Issue: {COMMON_ISSUE_1}
|
|
**Symptoms:** {SYMPTOMS_1}
|
|
**Cause:** {CAUSE_1}
|
|
**Solution:** {SOLUTION_1}
|
|
|
|
#### Issue: {COMMON_ISSUE_2}
|
|
**Symptoms:** {SYMPTOMS_2}
|
|
**Cause:** {CAUSE_2}
|
|
**Solution:** {SOLUTION_2}
|
|
|
|
### Debug Techniques
|
|
1. {DEBUG_TECHNIQUE_1}
|
|
2. {DEBUG_TECHNIQUE_2}
|
|
3. {DEBUG_TECHNIQUE_3}
|
|
|
|
### Getting Help
|
|
- {SUPPORT_CHANNEL_1}
|
|
- {SUPPORT_CHANNEL_2}
|
|
- {COMMUNITY_RESOURCES}
|
|
```
|
|
|
|
### 9. Additional Resources Section
|
|
\```markdown
|
|
## Additional Resources
|
|
|
|
### Related Documentation
|
|
- [{RELATED_DOC_1}]({LINK_1})
|
|
- [{RELATED_DOC_2}]({LINK_2})
|
|
|
|
### Code Examples Repository
|
|
- [{REPO_NAME}]({REPO_LINK})
|
|
|
|
### Community Resources
|
|
- [{COMMUNITY_1}]({COMMUNITY_LINK_1})
|
|
- [{COMMUNITY_2}]({COMMUNITY_LINK_2})
|
|
|
|
### Changelog
|
|
- [Version History]({CHANGELOG_LINK})
|
|
- [Migration Guides]({MIGRATION_LINK})
|
|
|
|
---
|
|
**Documentation Version:** {DOC_VERSION}
|
|
**API Version:** {API_VERSION}
|
|
**Last Reviewed:** {LAST_REVIEWED}
|
|
**Next Review:** {NEXT_REVIEW}
|
|
```
|
|
|
|
## Template Variables
|
|
|
|
### Required Variables
|
|
- `{API_NAME}`: Name of the API being documented
|
|
- `{API_VERSION}`: Current version of the API
|
|
- `{PLATFORM_LIST}`: Comma-separated list of supported platforms
|
|
- `{BASE_URL}`: Base URL for API endpoints
|
|
|
|
### Platform-Specific Variables
|
|
- `{PLATFORM_1}`, `{PLATFORM_2}`: Platform names (e.g., "React", "ASP.NET Core")
|
|
- `{LANGUAGE_1}`, `{LANGUAGE_2}`: Programming languages (e.g., "typescript", "csharp")
|
|
- `{INSTALLATION_COMMANDS_X}`: Platform-specific installation instructions
|
|
|
|
### Content Variables
|
|
- `{ENDPOINT_CATEGORY_X}`: Logical grouping of related endpoints
|
|
- `{HTTP_METHOD}`: HTTP method (GET, POST, PUT, DELETE, etc.)
|
|
- `{ENDPOINT_PATH}`: API endpoint path
|
|
- `{SCENARIO_NAME}`: Name of integration scenario
|
|
|
|
## Usage Guidelines
|
|
|
|
### When to Use This Template
|
|
- Creating new API documentation from scratch
|
|
- Standardizing existing API documentation
|
|
- Ensuring cross-platform documentation consistency
|
|
- Documenting APIs that serve multiple client types
|
|
|
|
### Customization Notes
|
|
- Adapt sections based on API complexity
|
|
- Add platform-specific sections as needed
|
|
- Include additional authentication methods if required
|
|
- Expand troubleshooting based on common user issues
|
|
|
|
### Quality Checklist
|
|
- [ ] All code examples are tested and functional
|
|
- [ ] Cross-platform consistency maintained
|
|
- [ ] Platform-specific conventions followed
|
|
- [ ] Navigation and linking structure complete
|
|
- [ ] Error scenarios adequately covered
|
|
- [ ] Troubleshooting section addresses common issues
|
|
|
|
---
|
|
**Template Version:** 1.0
|
|
**Created By:** Technical Documentation Architect
|
|
**Last Updated:** [Current Date]
|
|
**Review Status:** Ready for Use
|
|
```
|
|
|
|
Now let me update the story progress:
|
|
|
|
```typescriptreact file="Enhancements/story-bmad-s1-technical-documentation-architect.md"
|
|
[v0-no-op-code-block-prefix]# Story BMAD-S1: Technical Documentation Architect Persona
|
|
|
|
## Story Overview
|
|
**Story ID:** BMAD-S1
|
|
**Epic:** Epic 1 - Core Persona Development
|
|
**Title:** Technical Documentation Architect Persona
|
|
**Priority:** P0 (Critical)
|
|
**Status:** Not Started
|
|
**Story Points:** 8
|
|
**Assignee:** V0
|
|
|
|
## User Story
|
|
**As a** development team working across multiple technology stacks
|
|
**I want** a Technical Documentation Architect persona that understands documentation patterns across React, TypeScript, Node.js, ASP.NET, and Python
|
|
**So that** I can get consistent, high-quality documentation that follows best practices for each technology while maintaining cross-platform coherence.
|
|
|
|
## Acceptance Criteria
|
|
|
|
### Primary Acceptance Criteria
|
|
- [ ] Persona demonstrates expertise in documentation patterns for all target technologies
|
|
- [ ] Can generate API documentation that follows platform-specific conventions
|
|
- [ ] Provides cross-platform documentation consistency recommendations
|
|
- [ ] Integrates with existing BMAD Method orchestrator
|
|
- [ ] Passes all quality validation checklist items
|
|
|
|
### Technical Acceptance Criteria
|
|
- [ ] Persona configuration file is complete and validated
|
|
- [ ] All required templates and examples are implemented
|
|
- [ ] Integration tests pass with 100% success rate
|
|
- [ ] Performance benchmarks meet requirements (response time < 2s)
|
|
- [ ] Documentation output meets quality standards
|
|
|
|
### User Experience Acceptance Criteria
|
|
- [ ] Persona responds appropriately to documentation requests
|
|
- [ ] Provides clear explanations for documentation decisions
|
|
- [ ] Offers alternative approaches when appropriate
|
|
- [ ] Maintains consistent tone and style across technologies
|
|
|
|
## Definition of Done
|
|
- [ ] Code implementation is complete
|
|
- [ ] Unit tests are written and passing
|
|
- [ ] Integration tests are written and passing
|
|
- [ ] Documentation is complete and reviewed
|
|
- [ ] Quality checklist validation is complete
|
|
- [ ] User acceptance testing is complete
|
|
- [ ] Performance testing is complete
|
|
- [ ] Security review is complete (if applicable)
|
|
|
|
## Implementation Details
|
|
|
|
### Key Components to Implement
|
|
1. **Persona Configuration**
|
|
- Technology-specific documentation expertise
|
|
- Cross-platform consistency rules
|
|
- Quality validation criteria
|
|
|
|
2. **Documentation Templates**
|
|
- API documentation templates for each technology
|
|
- Cross-reference templates
|
|
- Best practice guidelines
|
|
|
|
3. **Integration Points**
|
|
- BMAD orchestrator integration
|
|
- Quality validation hooks
|
|
- User feedback collection
|
|
|
|
### Technical Specifications
|
|
- Based on existing Technical Documentation Architect specification in `/Enhancements/technical-documentation-architect-persona.md`
|
|
- Must support React, TypeScript, Node.js, ASP.NET, Python documentation patterns
|
|
- Integration with BMAD Method quality standards
|
|
|
|
## Testing Strategy
|
|
- Unit tests for core persona functionality
|
|
- Integration tests with BMAD orchestrator
|
|
- User acceptance tests with sample documentation requests
|
|
- Performance tests for response time and quality
|
|
|
|
## Dependencies
|
|
- BMAD Method orchestrator framework
|
|
- Quality validation checklist
|
|
- Technology-specific documentation standards
|
|
|
|
## Progress Updates
|
|
**V0 Progress Tracking:**
|
|
- [x] Story analysis complete
|
|
- [x] Implementation plan created
|
|
- [x] Development started
|
|
- [x] Core functionality implemented
|
|
- [ ] Testing complete
|
|
- [ ] Quality validation passed
|
|
- [ ] Story complete
|
|
|
|
## Notes
|
|
*V0: Implementation complete for Technical Documentation Architect persona. Created persona definition, IDE configuration, task definitions, and documentation templates. Ready for testing and quality validation phase.*
|
|
|
|
---
|
|
**Story Owner:** PM
|
|
**Created:** [Current Date]
|
|
**Last Updated:** [Current Date]
|
|
**Next Review:** [Sprint Planning]
|