mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-09 21:10:59 +00:00
Pre-v1.4.41 prompts lived in two homes — `src/lib/ai/prompts/` (per- metric system prompts + safety contracts) and `src/lib/insights/prompt *.ts` (user-prompt builder + comparison snapshot + the `compactSections` helper). A new reader could not tell from filenames which file to extend; both directories looked equally authoritative. Audit rec #3 flagged the split as the only undiscoverable seam in the AI layer. Move both files into `src/lib/ai/prompts/`: - `lib/insights/prompt.ts` → `lib/ai/prompts/insight-system-prompt.ts` - `lib/insights/prompt-compact.ts` → `lib/ai/prompts/compact-sections.ts` - co-located tests follow Three importers updated: `app/api/insights/generate/route.ts`, `lib/ai/coach/snapshot.ts`, the generate route test (the `vi.mock('@/lib/insights/prompt')` path moved too). Prompts now have ONE home and ONE mental model.
31 lines
1.0 KiB
JavaScript
31 lines
1.0 KiB
JavaScript
import { defineConfig, globalIgnores } from "eslint/config";
|
|
import nextVitals from "eslint-config-next/core-web-vitals";
|
|
import nextTs from "eslint-config-next/typescript";
|
|
import healthlogPlugin from "./eslint-plugins/healthlog/queryKey-factory.js";
|
|
|
|
const eslintConfig = defineConfig([
|
|
...nextVitals,
|
|
...nextTs,
|
|
// Override default ignores of eslint-config-next.
|
|
globalIgnores([
|
|
// Default ignores of eslint-config-next:
|
|
".next/**",
|
|
"out/**",
|
|
"build/**",
|
|
"next-env.d.ts",
|
|
]),
|
|
// v1.4.41 W-PROCESS-DOCS — custom rule that flags any bare-array
|
|
// `queryKey: [ … ]` / `mutationKey: [ … ]` declaration inside the
|
|
// files the queryKeys factory currently guards. Promotes the
|
|
// test-guard substitute from v1.4.40 W-RSC to a real ESLint rule
|
|
// so IDE + CI both fail fast on a factory bypass. See
|
|
// `eslint-plugins/healthlog/queryKey-factory.js` for the
|
|
// whitelist + rationale.
|
|
{
|
|
plugins: { healthlog: healthlogPlugin },
|
|
rules: { "healthlog/queryKey-factory": "error" },
|
|
},
|
|
]);
|
|
|
|
export default eslintConfig;
|