إنتقل إلى المحتوى الرئيسي

واجهة برمجة التحليل

نقاط نهاية لتحليل الكود والرؤى المدعومة بالذكاء الاصطناعي.

البحث الدلالي

البحث في الكود باستخدام اللغة الطبيعية.

POST /v1/projects/:id/search

نص الطلب:

{
"query": "تدفق مصادقة المستخدم",
"limit": 10
}

الاستجابة:

{
"success": true,
"results": [
{
"filePath": "src/auth/login.ts",
"lineStart": 45,
"lineEnd": 78,
"content": "async function authenticate(email, password) {...}",
"score": 0.92,
"context": "LoginService - يتعامل مع مصادقة المستخدم"
}
]
}

اسأل مساعد الذكاء الاصطناعي

اطرح أسئلة حول قاعدة الكود الخاصة بك.

POST /v1/projects/:id/ask

نص الطلب:

{
"question": "كيف يعمل نظام المصادقة؟",
"language": "ar"
}

الاستجابة:

{
"success": true,
"answer": "يستخدم نظام المصادقة رموز JWT...",
"references": [
{
"filePath": "src/auth/login.ts",
"description": "منطق المصادقة الرئيسي"
}
]
}

تحليل التأثير

تحليل تأثير التغييرات على ملف.

POST /v1/projects/:id/analyze

نص الطلب:

{
"path": "src/services/user.ts"
}

الاستجابة:

{
"success": true,
"impact": {
"directDependencies": [
"src/utils/crypto.ts",
"src/db/models/user.ts"
],
"dependents": [
"src/controllers/auth.ts",
"src/controllers/profile.ts"
],
"affectedTests": [
"tests/user.test.ts"
],
"riskLevel": "medium",
"recommendation": "تتطلب التغييرات اختبار تدفقات المصادقة والملف الشخصي"
}
}

مقاييس الكود

الحصول على مقاييس جودة الكود.

GET /v1/projects/:id/metrics

معاملات الاستعلام:

المعاملالنوعالوصف
pathstringتصفية حسب المسار (اختياري)

الاستجابة:

{
"success": true,
"metrics": {
"summary": {
"totalFiles": 234,
"totalLines": 15420,
"avgComplexity": 4.2,
"maxComplexity": 18,
"duplicatePercentage": 3.1
},
"byFile": [
{
"path": "src/services/complex.ts",
"lines": 450,
"complexity": 18,
"maintainability": 62
}
]
}
}

فحص الأمان

الحصول على نتائج فحص الثغرات الأمنية.

GET /v1/projects/:id/security

الاستجابة:

{
"success": true,
"scan": {
"status": "completed",
"scannedAt": "2024-01-15T10:30:00Z",
"summary": {
"high": 2,
"medium": 5,
"low": 8
},
"issues": [
{
"severity": "high",
"type": "sql-injection",
"file": "src/db/query.ts",
"line": 34,
"description": "ثغرة محتملة لحقن SQL",
"recommendation": "استخدم الاستعلامات المعلمة"
}
]
}
}

كشف الكود الميت

العثور على الكود غير المستخدم.

GET /v1/projects/:id/dead-code

الاستجابة:

{
"success": true,
"deadCode": {
"unusedExports": [
{
"file": "src/utils/helpers.ts",
"name": "formatDate",
"line": 45,
"type": "function"
}
],
"unusedFiles": [
"src/legacy/old-service.ts"
],
"estimatedLines": 234
}
}

تكرار الكود

العثور على كتل الكود المكررة.

GET /v1/projects/:id/duplication

الاستجابة:

{
"success": true,
"duplication": {
"percentage": 3.1,
"duplicates": [
{
"lines": 15,
"occurrences": [
{ "file": "src/api/users.ts", "start": 45, "end": 60 },
{ "file": "src/api/products.ts", "start": 32, "end": 47 }
]
}
]
}
}