mirror of
https://github.com/base44/skills.git
synced 2026-09-14 16:22:01 +08:00
69 lines
2.5 KiB
JSON
69 lines
2.5 KiB
JSON
{
|
|
"$schema": "../../eval.schema.json",
|
|
"name": "react-task-manager-sdk",
|
|
"description": "Test implementing a TaskList component using Base44 SDK to fetch and display tasks",
|
|
"prompt": "Implement the TaskList component in src/components/TaskList.tsx. It should fetch all tasks using the Base44 SDK (base44.entities.Task.list()), display them in a list showing title, status, and due_date, and allow marking tasks as completed by clicking on them (using base44.entities.Task.update()).",
|
|
"expectedSkills": ["base44-sdk"],
|
|
"checks": [
|
|
{
|
|
"type": "file-content",
|
|
"description": "Uses entities.Task.list()",
|
|
"filePath": "src/components/TaskList.tsx",
|
|
"pattern": "entities\\.Task\\.list\\("
|
|
},
|
|
{
|
|
"type": "file-content",
|
|
"description": "Uses entities.Task.update()",
|
|
"filePath": "src/components/TaskList.tsx",
|
|
"pattern": "entities\\.Task\\.update\\("
|
|
},
|
|
{
|
|
"type": "file-content",
|
|
"description": "Imports base44 client",
|
|
"filePath": "src/components/TaskList.tsx",
|
|
"pattern": "import.*base44|from ['\"].*base44"
|
|
},
|
|
{
|
|
"type": "file-content",
|
|
"description": "Uses React hooks for state",
|
|
"filePath": "src/components/TaskList.tsx",
|
|
"pattern": "useState|useEffect"
|
|
},
|
|
{
|
|
"type": "contains",
|
|
"description": "Output mentions SDK or entities",
|
|
"value": "entities"
|
|
},
|
|
{
|
|
"type": "file-content",
|
|
"description": "Task.update called with (id, data) two-parameter signature",
|
|
"filePath": "src/components/TaskList.tsx",
|
|
"pattern": "Task\\.update\\s*\\(\\s*\\w+[^,]*,\\s*\\{"
|
|
},
|
|
{
|
|
"type": "file-content",
|
|
"description": "Uses async/await pattern with entity calls",
|
|
"filePath": "src/components/TaskList.tsx",
|
|
"pattern": "await\\s+.*entities\\.Task\\."
|
|
},
|
|
{
|
|
"type": "file-content-excluded",
|
|
"description": "Does not use .find() (hallucinated method — correct is .filter())",
|
|
"filePath": "src/components/TaskList.tsx",
|
|
"pattern": "Task\\.find\\("
|
|
},
|
|
{
|
|
"type": "file-content-excluded",
|
|
"description": "Does not use .findOne() (hallucinated — correct is .get())",
|
|
"filePath": "src/components/TaskList.tsx",
|
|
"pattern": "Task\\.findOne\\("
|
|
},
|
|
{
|
|
"type": "file-content-excluded",
|
|
"description": "Does not use .insert() (hallucinated — correct is .create())",
|
|
"filePath": "src/components/TaskList.tsx",
|
|
"pattern": "Task\\.insert\\("
|
|
}
|
|
]
|
|
}
|