feat: scaffold SvelteKit project with Tailwind, TypeScript, ESLint, Prettier
Initialize the llm-multiverse-ui project with: - SvelteKit + Svelte 5 (runes mode enabled) - Tailwind CSS v4 via @tailwindcss/vite plugin - TypeScript strict mode - ESLint 9 flat config with svelte and typescript-eslint plugins - Prettier with svelte plugin - Directory structure: src/lib/components/, src/lib/services/ - All required scripts: dev, build, preview, lint, format, check Closes #1 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -30,26 +30,31 @@ Check `package.json` and the plan to know which quality gates to run.
|
||||
Run each gate and record pass/fail. Detect available commands from `package.json`:
|
||||
|
||||
Gate 1 -- Build:
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
Gate 2 -- Lint:
|
||||
|
||||
```bash
|
||||
npm run lint
|
||||
```
|
||||
|
||||
Gate 3 -- Type Check:
|
||||
|
||||
```bash
|
||||
npm run typecheck # or npx tsc --noEmit
|
||||
```
|
||||
|
||||
Gate 4 -- Tests:
|
||||
|
||||
```bash
|
||||
npm run test
|
||||
```
|
||||
|
||||
Gate 5 -- Format (if available):
|
||||
|
||||
```bash
|
||||
npm run format:check # or npx prettier --check .
|
||||
```
|
||||
@@ -61,18 +66,21 @@ Adapt commands based on what's available in `package.json`.
|
||||
Review all files changed in this branch (use `git diff main --name-only` to get the list). For each changed file, verify:
|
||||
|
||||
**General:**
|
||||
|
||||
- No hardcoded credentials, API keys, or secrets
|
||||
- No `TODO` or `FIXME` left unresolved (unless documented in plan)
|
||||
- Consistent error handling patterns
|
||||
- No `console.log` left in production code (use proper logging if available)
|
||||
|
||||
**TypeScript:**
|
||||
|
||||
- No `any` types without justification
|
||||
- Proper type narrowing and null checks
|
||||
- No type assertions (`as`) without justification
|
||||
- Interfaces/types exported where needed
|
||||
|
||||
**Components:**
|
||||
|
||||
- Proper prop typing
|
||||
- Loading, error, and empty states handled
|
||||
- Accessible markup (semantic HTML, ARIA)
|
||||
@@ -80,12 +88,14 @@ Review all files changed in this branch (use `git diff main --name-only` to get
|
||||
- Responsive design considered
|
||||
|
||||
**State & Data:**
|
||||
|
||||
- State management follows project patterns
|
||||
- API calls use the project's data fetching approach
|
||||
- Error states properly handled and displayed
|
||||
- No data fetching in render path without proper caching/memoization
|
||||
|
||||
**Security:**
|
||||
|
||||
- No XSS vulnerabilities (dangerouslySetInnerHTML, etc.)
|
||||
- User input properly sanitized
|
||||
- API tokens/secrets not in client-side code
|
||||
@@ -94,6 +104,7 @@ Review all files changed in this branch (use `git diff main --name-only` to get
|
||||
### 5. Acceptance Criteria Verification
|
||||
|
||||
For each acceptance criterion from the issue:
|
||||
|
||||
- Check the code to verify the criterion is met
|
||||
- Note which file(s) satisfy each criterion
|
||||
- Mark each criterion as PASS or FAIL with explanation
|
||||
@@ -101,6 +112,7 @@ For each acceptance criterion from the issue:
|
||||
### 6. Determine Result
|
||||
|
||||
**PASS** if ALL of the following are true:
|
||||
|
||||
- All quality gates pass
|
||||
- No architecture violations found (major/critical)
|
||||
- All acceptance criteria are met
|
||||
@@ -163,24 +175,24 @@ For each acceptance criterion from the issue:
|
||||
|
||||
```json
|
||||
{
|
||||
"status": "success | failed",
|
||||
"summary": "Verification of issue #N: PASS/FAIL",
|
||||
"artifacts": [],
|
||||
"phase_data": {
|
||||
"verdict": "PASS",
|
||||
"quality_gates": {
|
||||
"build": "pass",
|
||||
"lint": "pass",
|
||||
"typecheck": "pass",
|
||||
"tests": "pass",
|
||||
"format": "pass"
|
||||
},
|
||||
"acceptance_criteria": [
|
||||
{"criterion": "Description", "result": "PASS", "evidence": "Component.tsx:42"}
|
||||
],
|
||||
"architecture_violations": []
|
||||
},
|
||||
"failure_reason": null
|
||||
"status": "success | failed",
|
||||
"summary": "Verification of issue #N: PASS/FAIL",
|
||||
"artifacts": [],
|
||||
"phase_data": {
|
||||
"verdict": "PASS",
|
||||
"quality_gates": {
|
||||
"build": "pass",
|
||||
"lint": "pass",
|
||||
"typecheck": "pass",
|
||||
"tests": "pass",
|
||||
"format": "pass"
|
||||
},
|
||||
"acceptance_criteria": [
|
||||
{ "criterion": "Description", "result": "PASS", "evidence": "Component.tsx:42" }
|
||||
],
|
||||
"architecture_violations": []
|
||||
},
|
||||
"failure_reason": null
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user