.agents/skills/code-style/SKILL.md
Biome formatting, import style, strict TypeScript, naming (including React file names), or generated files.
npx skillsauth add latitude-dev/latitude-llm code-styleInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When to use: Biome formatting, import style, strict TypeScript, naming (including React file names), or generated files. For where domain code lives, see architecture-boundaries.
Biome config (biome.json) is the source of truth:
dist/**, coverage/**, .turbo/**, node_modules/**, **/*.gen.ts, **/models.dev.jsonpnpm --filter @app/api formatimport type { ... } for type-only importsindex.ts re-exporting from the same directory); import from the specific module.ts/.tsx extensions in relative imports (not .js). The codebase uses TypeScript source extensions for module resolutionBase config: tsconfig.base.json
strict: true is enabled; keep code strict-cleanNodeNext + ESM ("type": "module" in packages/apps)src/entities/<entity>.ts as the canonical domain contract. Schemas and types elsewhere in the same domain or at app/platform boundaries should derive from or reuse those entity shapes whenever practical instead of restating identical fields.id, createdAt, and updatedAt as core entity fields. Do not split an entity into a business payload plus an appended "persistence" wrapper unless there is a truly distinct boundary/input DTO that needs that separation.as const objects, not TypeScript enums.readonly fields for immutable domain data shapesany; use unknown + narrowingas { ... }); prefer relying on inferred types from librariessrc/entities/<entity>.ts.src/constants.ts.src/errors.ts.src/helpers.ts.PascalCasecamelCaseUPPER_SNAKE_CASE only for true constants; otherwise camelCase + as constbaseXxxSchema / BaseXxx naming rather than xxxCommonSchema / XxxCommon.src/index.ts, src/server.ts, src/main.tsx)my-component.tsx or my-component/index.tsx — never PascalCase file names (e.g. MyComponent.tsx). This matches the @repo/ui convention (table-skeleton.tsx, form-field.tsx, etc.)@app/*, @domain/*, etc.)apps/web/src/routeTree.gen.ts is auto-generated by TanStack Router — do not manually editdata-ai
Continuous Agentation annotation handling. Use when the user says "watch mode", asks you to watch for Agentation annotations, process feedback as it arrives, or keep fixing annotation-driven changes until told to stop or a timeout is reached.
development
apps/web UI — routes, @repo/ui, TanStack Start server functions and collections, forms, Tailwind layout rules, design-system updates, and useEffect / useMountEffect policy.
tools
Installing dependencies, running dev/build/test/lint, filtering packages, single-test runs, git hooks, preparing a clone (.env.development / .env.test), or Docker-backed local services and dev servers.
tools
Writing or debugging tests, choosing unit vs integration style, Postgres/ClickHouse tests, regenerating ClickHouse test schema, or exporting test helpers from packages without pulling test code into production bundles.