diff --git a/docs/development.md b/docs/development.md index 47bb070a..f6f2e742 100644 --- a/docs/development.md +++ b/docs/development.md @@ -14,7 +14,7 @@ Use this as the normal edit loop. `npm run format` applies Biome formatting and Use focused scripts for tight loops: `npm run typecheck`, `npm run test`, `npm run build`, or the targeted `npm run check:*` scripts. CI and release preflight run the same `npm run check` command as local development. -Biome owns formatting, import organization, general JavaScript/TypeScript/JSON/CSS linting, GritQL source-shape plugins, GritQL import-boundary restrictions, and GritQL CSS source policy. Biome warnings fail `npm run check`; info diagnostics stay advisory, including accessibility while Obsidian-specific UI semantics are reviewed rule by rule. The CSS usage script still checks dead authored classes. ESLint remains for typed strict TypeScript checks, Obsidian plugin policy, and Codex Panel responsibility-boundary rules that need TypeScript type information. The typed strict preset is used with `@typescript-eslint/require-await` disabled because Obsidian and panel-owned async-shaped boundaries sometimes return already-complete work. +Biome owns formatting, import organization, general JavaScript/TypeScript/JSON/CSS linting, GritQL source-shape plugins, GritQL import-boundary restrictions, and GritQL CSS source policy. Biome warnings fail `npm run check`; info diagnostics stay advisory, including accessibility while Obsidian-specific UI semantics are reviewed rule by rule. The CSS usage script still checks dead authored classes. TypeScript owns strict type checking, unused locals and parameters, implicit return coverage, and switch fallthrough prevention. ESLint remains for typed strict TypeScript rules that are not compiler options, Obsidian plugin policy, and Codex Panel responsibility-boundary rules that need TypeScript type information. The typed strict preset is used with `@typescript-eslint/require-await` disabled because Obsidian and panel-owned async-shaped boundaries sometimes return already-complete work. ## Generated and Loaded Files diff --git a/src/features/chat/application/conversation/slash-command-execution.ts b/src/features/chat/application/conversation/slash-command-execution.ts index e901d1d4..c8da5b83 100644 --- a/src/features/chat/application/conversation/slash-command-execution.ts +++ b/src/features/chat/application/conversation/slash-command-execution.ts @@ -327,6 +327,7 @@ async function executeGoalCommand(args: string, context: SlashCommandExecutionCo return; } await context.goals.clear(threadId); + return; } type GoalArgs = diff --git a/tsconfig.json b/tsconfig.json index 5c87b6be..c3ba3181 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,10 @@ "verbatimModuleSyntax": true, "noUncheckedSideEffectImports": true, "strict": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, "noUnusedLocals": true, + "noUnusedParameters": true, "noImplicitOverride": true, "exactOptionalPropertyTypes": true, "noUncheckedIndexedAccess": true,