--- name: code-style-review description: Run automated linters, Checkstyle, and formatting scripts to validate and fix code style without consuming unnecessary LLM tokens. --- # Code Style & Automated Linting Use this skill after modifying code files to trigger local static analysis tools and fix formatting issues automatically. ## When to use - After completing any backend (Java) or frontend changes. - Before running MR self-reviews or committing code. ## Core rules ### Indentation & formatting - TypeScript, JavaScript, JSX, JSON, HTML, CSS, Less: 2 spaces per indentation level. - Java, XML: 4 spaces per indentation level. - Do not use hard tabs unless the existing file already uses them consistently. - Remove trailing whitespace from all lines. - Ensure every file ends with exactly one empty newline (POSIX standard). - Keep line length reasonable; break long lines rather than letting them scroll far beyond 120 characters. - Maintain consistent brace style with the surrounding file. ### Code hygiene - Remove unused imports, variables, functions and types. - Remove dead code, commented-out experiments and placeholder snippets. - Delete leftover debugging statements: `console.log`, `console.warn`, `console.error`, `System.out.println`, `printStackTrace`, etc. - Do not leave `TODO` or `FIXME` comments unless explicitly approved and tracked. - Keep imports organized and free of duplicates. - Ensure naming follows the conventions already used in the file/module. ## Execution steps ### 1. Backend verification (Java / Maven) Run the automated style check in the `backend` directory: ```bash cd backend mvn checkstyle:check ``` If violations are found, fix them or run the auto-formatter if configured: ```bash cd backend mvn spotless:apply ``` Then rerun: ```bash cd backend mvn checkstyle:check ``` ### 2. Frontend verification (TypeScript / JavaScript) Run the frontend linter and formatter: ```bash cd frontend npx eslint src/ --ext .ts,.tsx,.js,.jsx npx prettier --check src/ ``` If formatting issues are found, apply Prettier: ```bash cd frontend npx prettier --write src/ ``` ### 3. Final check - [ ] Backend `mvn checkstyle:check` passes. - [ ] Frontend ESLint reports no errors. - [ ] Frontend Prettier reports no formatting differences. - [ ] No unintended files were reformatted. - [ ] No leftover debugging statements remain. ## Output format Return findings as: ```text Tool / Severity / File / Line / Message / Recommendation ``` Severity levels: `ERROR`, `WARNING`, `INFO`. If all checks pass, say explicitly: ```text All automated style checks passed. ``` Example summary block: ```markdown ## Code Style & Automated Linting - Backend Checkstyle: PASS / FAIL — reason - Frontend ESLint: PASS / FAIL — reason - Frontend Prettier: PASS / FAIL — reason ``` If any check fails, apply the recommended fix and rerun the tool before finishing unless the user asks to skip.