Files
claude-howto/02-memory/directory-api-CLAUDE.md
T
Luong NGUYENandGitHub b9a973bf32 docs: accuracy pass against Claude Code v2.1.220 (#155)
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.
2026-08-04 15:41:12 +07:00

1.7 KiB

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:

{
  "success": true,
  "data": { /* actual data */ },
  "timestamp": "2025-11-06T10:30:00Z",
  "version": "1.0"
}

Error responses:

{
  "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: