メインコンテンツまでスキップ

プロジェクト API

プロジェクトを管理し、分析をトリガーします。

プロジェクト一覧

GET /v1/projects

レスポンス:

{
"success": true,
"projects": [
{
"id": "proj_abc123",
"name": "my-app",
"status": "indexed",
"filesCount": 234,
"symbolsCount": 1847,
"lastIndexedAt": "2024-01-15T10:30:00Z",
"createdAt": "2024-01-10T08:00:00Z"
}
]
}

プロジェクト取得

GET /v1/projects/:id

レスポンス:

{
"success": true,
"project": {
"id": "proj_abc123",
"name": "my-app",
"status": "indexed",
"filesCount": 234,
"symbolsCount": 1847,
"languages": ["typescript", "javascript"],
"stats": {
"linesOfCode": 15420,
"avgComplexity": 4.2,
"duplicatePercentage": 3.1
},
"lastIndexedAt": "2024-01-15T10:30:00Z",
"createdAt": "2024-01-10T08:00:00Z"
}
}

プロジェクト作成

POST /v1/projects

リクエストボディ:

{
"name": "my-new-project",
"githubRepo": "owner/repo",
"branch": "main"
}

レスポンス:

{
"success": true,
"project": {
"id": "proj_xyz789",
"name": "my-new-project",
"status": "pending"
}
}

プロジェクト削除

DELETE /v1/projects/:id

レスポンス:

{
"success": true
}

インデックス作成をトリガー

POST /v1/projects/:id/index

リクエストボディ(オプション):

{
"force": true
}

レスポンス:

{
"success": true,
"message": "インデックス作成を開始しました",
"estimatedTime": 120
}

インデックス作成進捗を取得

GET /v1/projects/:id/index-progress

レスポンス(Server-Sent Events):

event: progress
data: {"phase": "scanning", "progress": 25, "filesScanned": 58}

event: progress
data: {"phase": "extracting", "progress": 50, "symbolsExtracted": 450}

event: progress
data: {"phase": "embedding", "progress": 75, "chunksProcessed": 120}

event: complete
data: {"status": "indexed", "filesCount": 234, "symbolsCount": 1847}

プロジェクトをアーカイブ

POST /v1/projects/:id/archive

プロジェクトのアーカイブを解除

POST /v1/projects/:id/unarchive