- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환 - Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용 - pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관) - worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md) - D:\Rhino-MCP 경로 참조를 새 위치로 치환 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
87 lines
1.6 KiB
Markdown
87 lines
1.6 KiB
Markdown
# API Design Patterns
|
|
|
|
> Shared API design patterns for Skills and Agents
|
|
>
|
|
> Usage: Add to frontmatter imports in SKILL.md or Agent.md
|
|
> ```yaml
|
|
> imports:
|
|
> - ${PLUGIN_ROOT}/templates/shared/api-patterns.md
|
|
> ```
|
|
|
|
## RESTful Endpoint Conventions
|
|
|
|
| Action | HTTP Method | Path | Example |
|
|
|--------|-------------|------|---------|
|
|
| List | GET | /resources | GET /users |
|
|
| Get one | GET | /resources/:id | GET /users/123 |
|
|
| Create | POST | /resources | POST /users |
|
|
| Update | PUT/PATCH | /resources/:id | PUT /users/123 |
|
|
| Delete | DELETE | /resources/:id | DELETE /users/123 |
|
|
|
|
## Request/Response Standards
|
|
|
|
### Request Headers
|
|
|
|
```http
|
|
Content-Type: application/json
|
|
Authorization: Bearer {token}
|
|
X-Request-ID: {uuid}
|
|
```
|
|
|
|
### Success Response
|
|
|
|
```json
|
|
{
|
|
"success": true,
|
|
"data": { /* response payload */ },
|
|
"meta": {
|
|
"timestamp": "2026-01-26T00:00:00Z",
|
|
"requestId": "uuid"
|
|
}
|
|
}
|
|
```
|
|
|
|
### Pagination
|
|
|
|
```json
|
|
{
|
|
"data": [...],
|
|
"pagination": {
|
|
"page": 1,
|
|
"pageSize": 20,
|
|
"totalCount": 100,
|
|
"totalPages": 5
|
|
}
|
|
}
|
|
```
|
|
|
|
## API Documentation Pattern
|
|
|
|
```markdown
|
|
## POST /api/resource
|
|
|
|
**Description**: Create a new resource
|
|
|
|
**Request Body**:
|
|
| Field | Type | Required | Description |
|
|
|-------|------|----------|-------------|
|
|
| name | string | Yes | Resource name |
|
|
|
|
**Response** (201 Created):
|
|
| Field | Type | Description |
|
|
|-------|------|-------------|
|
|
| id | string | Created resource ID |
|
|
|
|
**Errors**:
|
|
- 400: Invalid request body
|
|
- 401: Authentication required
|
|
```
|
|
|
|
## Rate Limiting Headers
|
|
|
|
```http
|
|
X-RateLimit-Limit: 100
|
|
X-RateLimit-Remaining: 99
|
|
X-RateLimit-Reset: 1706227200
|
|
```
|