Files
briant e83150e84f chore(moderator): stop builds freezing the editor, and add the missing review agent
VS Code was watching and indexing every SvelteKit build artifact: `files.watcherExclude`
covered `node_modules`, `.next` and `dist` but was never updated when the SvelteKit apps
landed, so `.svelte-kit` (947 files) and `apps/*/build` (845) were unexcluded. A build writes
~1,800 files / 25MB into the workspace.

`defender-exclusions.ps1` defaulted to `C:\Dev\Repos\work`, which is not where this repo
lives. Add-MpPreference accepts a nonexistent path, so run with defaults it reported success
and excluded nothing. It now resolves the repo from its own location and throws rather than
silently no-op when the root is missing.

Hook changes: drop the `svelte-kit sync` / `pnpm check` guard (sync alone is cheap - 121
generated files, not the ~690 the docs claim) and guard `build` instead, which is the
expensive one and is not a check. Set to ask rather than block: diagnosing a build-only
failure and producing a real artifact are both legitimate.

check-svelte-ts.mjs removes the main reason to run a build at all. Svelte 5 strips the type
annotation from `(n?: number)` but leaves the `?`, so rollup rejects it while typecheck, dev
and every review agent pass. It now fails on write. Verified against all 148 committed
.svelte files: catches the defect, zero false positives (the first version had five, all `?`
in type position).

Adds retool-fidelity-review, the export-vs-build pass. It was prose in the skill that got
performed by hand, differently each time, and skipped twice - despite being the only review
that can see a capability nobody wrote.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 16:31:25 -06:00

177 lines
4.3 KiB
JSON

{
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "always",
},
"eslint.format.enable": true,
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
],
"eslint.workingDirectories": [{ "mode": "auto" }],
"editor.tabSize": 2,
"files.eol": "\n",
"[sql]": {
"editor.formatOnSave": false
},
// Forward slashes resolve on every platform; backslashes only work on Windows.
"js/ts.tsdk.path": "node_modules/typescript/lib",
// Without a prompt, VS Code keeps using its bundled TypeScript until someone runs
// "Select TypeScript Version" by hand, so the tsdk path above does nothing for teammates.
"js/ts.tsdk.promptToUseWorkspaceVersion": true,
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"js/ts.preferences.autoImportFileExcludePatterns": ["@prisma/client"],
"makefile.configureOnOpen": false,
"chat.agent.enabled": true,
"mcp": {
"servers": {
"Context7": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}
}
},
"github.copilot.chat.codeGeneration.instructions": [
{
"file": ".vscode/rules/global.md"
},
{
"file": ".vscode/rules/nextjs.md"
},
{
"file": ".vscode/rules/mantine-migration.md"
},
{
"file": ".vscode/rules/migrate-createStyles.md"
}
],
"cssVariables.lookupFiles": [
"**/*.css",
"**/*.scss",
"**/*.sass",
"**/*.less",
"node_modules/@mantine/core/styles.css"
],
"sqltools.connections": [
{
"previewLimit": 50,
"server": "db",
"port": 5432,
"driver": "PostgreSQL",
"name": "db",
"database": "civitai",
"username": "postgres",
"password": "postgres"
},
{
"server": "http://clickhouse",
"port": 8123,
"database": "default",
"username": "default",
"requestTimeout": 30000,
"enableTls": false,
"previewLimit": 50,
"driver": "ClickHouse",
"name": "clickhouse",
"password": ""
}
],
"files.associations": {
"*.md": "markdown"
},
"highlight.regexes": {
"(^|\\s)(@dev\\s*[:-]\\s*\\*)(.*)$": {
"filterFileRegex": ".*\\.(md|markdown|mdx)$",
"decorations": [
{},
{
"backgroundColor": "rgba(255, 235, 59, 0.3)",
"color": "#50FA7B",
"fontWeight": "bold",
"borderRadius": "3px",
"border": "1px solid rgba(255, 235, 59, 0.8)"
},
{
"color": "#50FA7B"
}
]
},
"(^|\\s)(@dev\\s*[:-]\\s*)(.*)$": {
"filterFileRegex": ".*\\.(md|markdown|mdx)$",
"decorations": [
{},
{
"backgroundColor": "rgba(80, 250, 123, 0.15)",
"color": "#50FA7B",
"fontWeight": "bold"
},
{
"color": "#50FA7B"
}
]
},
"(^|\\s)(@ai\\s*[:-]\\s*\\*)(.*)$": {
"filterFileRegex": ".*\\.(md|markdown|mdx)$",
"decorations": [
{},
{
"backgroundColor": "rgba(255, 235, 59, 0.3)",
"color": "#C678DD",
"fontWeight": "bold",
"borderRadius": "3px",
"border": "1px solid rgba(255, 235, 59, 0.8)"
},
{
"color": "#C678DD"
}
]
},
"(^|\\s)(@ai\\s*[:-]\\s*)(.*)$": {
"filterFileRegex": ".*\\.(md|markdown|mdx)$",
"decorations": [
{},
{
"backgroundColor": "rgba(198, 120, 221, 0.15)",
"color": "#C678DD",
"fontWeight": "bold"
},
{
"color": "#C678DD"
}
]
}
},
"highlight.maxMatches": 250,
"highlight.decorations": {
"rangeBehavior": 1
},
"highlight.regexFlags": "gm",
"terminal.integrated.macOptionIsMeta": true,
"files.watcherExclude": {
"**/node_modules/**": true,
"**/.next/**": true,
"**/dist/**": true,
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/.svelte-kit/**": true,
"**/apps/*/build/**": true,
"**/.turbo/**": true,
"**/.vite/**": true,
"**/playwright-report/**": true,
"**/test-results/**": true
},
"search.exclude": {
"**/.svelte-kit": true,
"**/apps/*/build": true,
"**/.turbo": true
},
"files.exclude": {
"**/.svelte-kit": true
}
}