Update all documentation footers from generic "April 2026 / 2.1+" to the specific sync date (April 9, 2026) and documented version (2.3.0). Also add version/date footers to zh/CATALOG.md and zh/01-slash-commands/README.md which were missing them. Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
65 lines
1.3 KiB
Markdown
65 lines
1.3 KiB
Markdown
# API Module Standards
|
|
|
|
This file overrides root CLAUDE.md for everything in /src/api/
|
|
|
|
## API-Specific Standards
|
|
|
|
### Request Validation
|
|
- Use Zod for schema validation
|
|
- Always validate input
|
|
- Return 400 with validation errors
|
|
- Include field-level error details
|
|
|
|
### Authentication
|
|
- All endpoints require JWT token
|
|
- Token in Authorization header
|
|
- Token expires after 24 hours
|
|
- Implement refresh token mechanism
|
|
|
|
### Response Format
|
|
|
|
All responses must follow this structure:
|
|
|
|
```json
|
|
{
|
|
"success": true,
|
|
"data": { /* actual data */ },
|
|
"timestamp": "2025-11-06T10:30:00Z",
|
|
"version": "1.0"
|
|
}
|
|
```
|
|
|
|
Error responses:
|
|
```json
|
|
{
|
|
"success": false,
|
|
"error": {
|
|
"code": "VALIDATION_ERROR",
|
|
"message": "User message",
|
|
"details": { /* field errors */ }
|
|
},
|
|
"timestamp": "2025-11-06T10:30:00Z"
|
|
}
|
|
```
|
|
|
|
### Pagination
|
|
- Use cursor-based pagination (not offset)
|
|
- Include `hasMore` boolean
|
|
- Limit max page size to 100
|
|
- Default page size: 20
|
|
|
|
### Rate Limiting
|
|
- 1000 requests per hour for authenticated users
|
|
- 100 requests per hour for public endpoints
|
|
- Return 429 when exceeded
|
|
- Include retry-after header
|
|
|
|
### Caching
|
|
- Use Redis for session caching
|
|
- Cache duration: 5 minutes default
|
|
- Invalidate on write operations
|
|
- Tag cache keys with resource type
|
|
|
|
---
|
|
**Last Updated**: April 9, 2026
|