From doover-development
Coding standards that must be followed when writing any code in Doover projects. Covers code conventions, import preferences, and CI linting requirements. Always apply these rules when writing or modifying code.
npx claudepluginhub getdoover/doover-skills --plugin doover-developmentThis skill uses the workspace's default tool permissions.
These rules apply to **all code** written in Doover projects. Follow them at all times unless the user explicitly requests otherwise.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
These rules apply to all code written in Doover projects. Follow them at all times unless the user explicitly requests otherwise.
Before introducing new imports, libraries, abstractions, or conventions, examine the existing codebase and solve the problem using what is already in use. Match the project's current coding style, patterns, and import choices. Only reach for something new when the existing tools genuinely cannot solve the problem or the user explicitly asks for a different approach.
All code must pass the CI checks defined in the Doover project workflows. Write code that satisfies all three checks:
eslint.config.mjs)unused-imports plugin is set to "error" — any unused import will fail CI. Remove imports that are not referenced._ (e.g. _unusedArg). Unused parameters after the last used one also warn.any where possible, use proper type annotations.singleQuote: false). All other settings are Prettier defaults.tsc --noEmit, strict mode)strictNullChecks, noImplicitAny, strictFunctionTypes, etc.noUnusedLocals: true) — declare only variables you use.noUnusedParameters: true) — prefix unused params with _.moduleResolution: "bundler".Before finishing any code change, mentally verify it would pass all three checks. If unsure, prefer the stricter interpretation.