Skip to content

Commit 3cb999d

Browse files
committed
Disable Biome useConst rule permanently + fix all const violations
CRITICAL FIX: Biome was auto-converting let to const in pre-commit hook - Added useConst: off to biome.json - Fixed all Svelte files again (RetroInput, ModernJourneyFull, etc.) This prevents Svelte 5 reactivity breakage permanently.
1 parent 14ec1e2 commit 3cb999d

File tree

9 files changed

+562
-13
lines changed

9 files changed

+562
-13
lines changed

.cursor/commands/update-skills.md

Lines changed: 506 additions & 0 deletions
Large diffs are not rendered by default.

biome.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@
4444
"options": {
4545
"deniedGlobals": ["any"]
4646
}
47-
}
47+
},
48+
"useConst": "off"
4849
}
4950
}
5051
},

frontend/src/lib/components/DebugRetro.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ interface DebugSession {
2020
/**
2121
* Debugging sessions we've done
2222
*/
23-
const sessions: DebugSession[] = $state([
23+
let sessions: DebugSession[] = $state([
2424
{
2525
id: "graph-stream-connection",
2626
title: "Graph Stream WebSocket Connection Failure",

frontend/src/lib/components/ModernJourneyContent.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import {
3333
let activeStep = $state(0);
3434
3535
/** Show comparison view on impact page */
36-
const showComparison = $state(false);
36+
let showComparison = $state(false);
3737
3838
/** Journey steps configuration */
3939
const steps = [

frontend/src/lib/components/ModernJourneyFull.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ import {
3333
} from "lucide-svelte";
3434
3535
/** Show Slack notification preview */
36-
const showSlackPreview = $state(false);
36+
let showSlackPreview = $state(false);
3737
3838
/** Timeline scrubber position (0-10) */
39-
const timelinePosition = $state(0);
39+
let timelinePosition = $state(0);
4040
4141
/** Calculated confidence based on timeline */
4242
const confidence = $derived(75 + timelinePosition * 2);

frontend/src/lib/components/RetroInput.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Usage:
1818
const inputId = `retro-input-${Math.random().toString(36).substring(2, 9)}`;
1919
2020
/** Input label text */
21-
const {
21+
let {
2222
label = undefined,
2323
/** Input type */
2424
type = "text",

frontend/src/routes/app-info/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const appInfo = data.appInfo;
1111
const error = data.error;
1212
1313
/** Track failed image loads for error handling */
14-
const failedImages = $state<Set<string>>(new Set());
14+
let failedImages = $state<Set<string>>(new Set());
1515
1616
/** Handle image load errors */
1717
function handleImageError(event: Event) {

frontend/tests/e2e/run-page.spec.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,5 +122,4 @@ Common causes:
122122
expect(screenshotEventPayload).toContain("refId");
123123
expect(screenshotEventPayload).toMatch(/screenshot\/.+\.png/);
124124
});
125-
126125
});

vibes/vibe_manager_vibe.json

Lines changed: 48 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,28 @@
1111
"when_to_use": [
1212
"Capture vibe design decisions",
1313
"Document skill organization patterns",
14-
"Record MCP tool configurations and why they're assigned to specific vibes"
14+
"Record MCP tool configurations and why they're assigned to specific vibes",
15+
"Search for existing skill/vibe improvement opportunities"
1516
],
1617
"key_operations": [
1718
"graphiti.add_entity (new vibe/skill/MCP server)",
1819
"graphiti.add_episode (vibe refactoring decisions)",
1920
"graphiti.search (find existing organizational patterns)"
2021
]
2122
},
23+
{
24+
"name": "context7",
25+
"purpose": "Fetch up-to-date library documentation for skill/vibe updates",
26+
"when_to_use": [
27+
"Update skills after library version changes",
28+
"Verify current API patterns for documentation",
29+
"Refresh skill knowledge with latest best practices"
30+
],
31+
"key_operations": [
32+
"mcp_context7_resolve-library-id (libraryName: 'encore'|'@sveltejs/kit'|'svelte'|'playwright')",
33+
"mcp_context7_get-library-docs (context7CompatibleLibraryID, topic, tokens)"
34+
]
35+
},
2236
{
2337
"name": "github",
2438
"purpose": "Manage repository structure and documentation files",
@@ -237,7 +251,10 @@
237251
"Root documentation (CLAUDE.md, README.md, etc.)",
238252
"Founder rules (.cursor/rules/)",
239253
"Task command organization (.cursor/commands/)",
240-
"Ensure vibes/skills/MCPs are correctly organized"
254+
"Ensure vibes/skills/MCPs are correctly organized",
255+
"Keep skills/vibes current via context7 MCP (fetch latest library docs)",
256+
"Document skill/vibe decisions in Graphiti",
257+
"Follow skill-creator patterns for updates"
241258
],
242259
"does_not_touch": "Service implementation code (backend/frontend/)"
243260
}
@@ -250,15 +267,15 @@
250267
"Domain-specific tools assigned to the vibe that uses them most",
251268
"Testing tools can be shared (playwright in both qa_vibe and frontend_vibe)",
252269
"Infrastructure tools (github, vercel) assigned to infra_vibe",
253-
"Meta tools (graphiti for org decisions) used by vibe_manager_vibe"
270+
"Meta tools (graphiti for org decisions, context7 for skill/vibe updates) used by vibe_manager_vibe"
254271
],
255272
"registry": {
256273
"base_vibe": ["graphiti", "context7", "sequential-thinking"],
257274
"backend_vibe": ["encore-mcp", "github"],
258275
"frontend_vibe": ["playwright", "svelte", "figma", "vercel"],
259276
"qa_vibe": ["playwright", "encore-mcp", "github"],
260277
"infra_vibe": ["github", "vercel"],
261-
"vibe_manager_vibe": ["graphiti", "github"]
278+
"vibe_manager_vibe": ["graphiti", "context7", "github"]
262279
}
263280
},
264281
"skill_organization_strategy": {
@@ -345,6 +362,16 @@
345362
"6. Keep all docs synchronized with actual capabilities",
346363
"7. Surgical edits only (per founder rules)",
347364
"8. Verify links and cross-references work"
365+
],
366+
"update_skills_and_vibes": [
367+
"1. Use .cursor/commands/update-skills.md as primary guide",
368+
"2. Phase 1: Search Graphiti for recent skill/vibe decisions and struggles",
369+
"3. Phase 2: Fetch updated docs via context7 MCP (resolve-library-id → get-library-docs)",
370+
"4. Phase 3: Update skills following skill-creator_skill/SKILL.md best practices",
371+
"5. Phase 4: Update vibes' mcp_tools, documentation, claude_skills, task_commands fields",
372+
"6. Phase 5: Synchronize root documentation (vibes/README.md, .claude-skills/README.md, CLAUDE.md)",
373+
"7. Phase 6: Test updated skills/vibes, validate with founder:rules:check",
374+
"8. Phase 7: Document update decisions in Graphiti (add_episode with library versions, pattern changes, insights)"
348375
]
349376
},
350377
"common_pitfalls": [
@@ -359,7 +386,11 @@
359386
"❌ Forgetting to update vibes when adding new Task commands or skills",
360387
"✅ Keep vibes synchronized with actual automation capabilities",
361388
"❌ Creating root documentation that duplicates .cursor/rules/ content",
362-
"✅ CLAUDE.md for quick reference, founder_rules.mdc for detailed standards"
389+
"✅ CLAUDE.md for quick reference, founder_rules.mdc for detailed standards",
390+
"❌ Letting skills get outdated after library upgrades",
391+
"✅ Use context7 MCP to fetch latest docs, update skills following skill-creator patterns",
392+
"❌ Guessing at skill improvements without checking Graphiti for existing patterns",
393+
"✅ Always search Graphiti first for skill/vibe decisions and documented struggles"
363394
],
364395
"quality_checklist": {
365396
"after_vibe_changes": [
@@ -385,6 +416,18 @@
385416
"✓ Tool purpose and key_operations documented in vibe",
386417
"✓ vibes/README.md reflects MCP tool assignments",
387418
"✓ Tool tested in vibe context"
419+
],
420+
"after_skill_vibe_updates": [
421+
"✓ Used Graphiti to search for existing patterns before updating",
422+
"✓ Fetched latest library docs via context7 MCP",
423+
"✓ Updated skills following skill-creator_skill/SKILL.md guidelines",
424+
"✓ SKILL.md uses imperative/infinitive form (not second person)",
425+
"✓ Detailed content moved to references/ (keep SKILL.md lean)",
426+
"✓ Vibes' mcp_tools reflect current capabilities",
427+
"✓ Vibes' task_commands match actual Taskfile commands",
428+
"✓ Root docs synchronized (vibes/README.md, .claude-skills/README.md)",
429+
"✓ Updated skills tested on real tasks",
430+
"✓ Update decisions documented in Graphiti (add_episode)"
388431
]
389432
}
390433
}

0 commit comments

Comments
 (0)