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.
2.6 KiB
2.6 KiB
Стандарти модуля API
Цей файл доповнює кореневий CLAUDE.md для всього у /src/api/. Файли пам'яті конкатенуються, а не перевизначаються — кореневий CLAUDE.md продовжує діяти, а Claude Code завантажує цей файл за потреби, коли читає файли в цьому піддереві.
Специфічні стандарти API
Валідація запитів
- Використовувати Zod для валідації схем
- Завжди валідувати вхідні дані
- Повертати 400 з помилками валідації
- Включати деталі помилок на рівні полів
Автентифікація
- Усі ендпоінти вимагають JWT-токен
- Токен у заголовку Authorization
- Токен закінчується через 24 години
- Реалізувати механізм refresh-токенів
Формат відповіді
Усі відповіді мають дотримуватися цієї структури:
{
"success": true,
"data": { /* фактичні дані */ },
"timestamp": "2025-11-06T10:30:00Z",
"version": "1.0"
}
Відповіді з помилками:
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Повідомлення для користувача",
"details": { /* помилки полів */ }
},
"timestamp": "2025-11-06T10:30:00Z"
}
Пагінація
- Використовувати пагінацію на основі курсора (не зсуву/offset)
- Включати булеве поле
hasMore - Максимальний розмір сторінки: 100
- Розмір сторінки за замовчуванням: 20
Обмеження частоти запитів (Rate Limiting)
- 1000 запитів на годину для автентифікованих користувачів
- 100 запитів на годину для публічних ендпоінтів
- Повертати 429 при перевищенні
- Включати заголовок retry-after
Кешування
- Використовувати Redis для кешування сесій
- Тривалість кешу: 5 хвилин за замовчуванням
- Інвалідувати при операціях запису
- Тегувати ключі кешу типом ресурсу
Останнє оновлення: 9 квітня 2026