mirror of
https://github.com/luongnv89/claude-howto.git
synced 2026-08-21 12:17:15 +02:00
Internal accuracy pass against v2.1.220 — no missing upstream features, but broken example code, disagreeing counts, and metadata drift.
Functional fixes: pre-commit.sh now exits 2 so it actually blocks; dependency-check.sh reads file_path from stdin JSON instead of $1; database-mcp.json uses ${DATABASE_URL}; broken fences repaired; three command templates had invalid skill names.
Factual corrections: /fork and /subtask unswapped and /subtask added; /fewer-permission-prompts; permissions.defaultMode; dontAsk/auto unreversed; 31 hook events verified name-by-name; subagent depth 3; skill precedence enterprise > project > personal; /output-style removed not deprecated; permissionDecision gained defer.
Follow-up review fixed defects the pass left behind: zh/vi headers claiming 31 events above 25-name lists, a surviving hardcoded DB credential in the MCP README examples, an unbalanced fence swallowing a metadata footer, and non-canonical tool names. All four translated CATALOG summary tables were recounted so their arithmetic holds.
Full detail in CHANGELOG.md under v2.1.220-r2.
71 lines
1.7 KiB
Markdown
71 lines
1.7 KiB
Markdown
# API Module Standards
|
|
|
|
This file supplements root CLAUDE.md for everything in /src/api/. Memory files are
|
|
concatenated, not overridden — the root CLAUDE.md still applies, and Claude Code
|
|
loads this file on demand when it reads files in this subtree.
|
|
|
|
## 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**: August 4, 2026
|
|
**Claude Code Version**: 2.1.220
|
|
**Sources**:
|
|
- https://code.claude.com/docs/en/memory
|
|
**Compatible Models**: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.8, Claude Haiku 4.5
|