ワンクリックで
code-style
Biome formatting, import style, strict TypeScript, naming (including React file names), or generated files.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Biome formatting, import style, strict TypeScript, naming (including React file names), or generated files.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Adding or changing routes in `apps/api`. One source of truth (`defineApiEndpoint` + a Zod schema) becomes an HTTP endpoint, an OpenAPI operation, an MCP tool, and a TS SDK method — descriptions and contracts must be written with all four readers in mind.
Layering and boundaries, web vs public API, app layout (clients, routes, logging), ports/adapters, runtime-portable domain/shared/utils code, multi-tenancy, DDD layout, or anti-patterns.
Preparing a production release, pushing a vX.Y.Z release tag, running scripts/release.sh, or updating CHANGELOG.md with the changes that are about to be deployed to production.
Enables or disables Latitude production maintenance mode by redirecting all publicly exposed production services to the Better Stack status page. Use when asked to start, stop, toggle, verify, or prepare a maintenance window.
Adding or reading env vars, updating .env.example, or validating config at startup with parseEnv / parseEnvOptional.
ClickHouse queries, Goose migrations, chdb test schema, or telemetry storage paths.
| name | code-style |
| description | Biome formatting, import style, strict TypeScript, naming (including React file names), or generated files. |
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. Typechecking runs under tsgo (TypeScript 7 beta, via @typescript/native-preview) — use tsgo -p tsconfig.json --noEmit in typecheck scripts, never tsc.
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 librariesAGENTS.md. Only traps (code that looks removable or wrong but isn't), non-obvious external constraints, and sibling-complete contract docs (e.g. port JSDoc) earn a comment; never what-narration or design rationalesrc/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 edit