rules.md 1.4 KB

Code Quality Rules

  1. Test Coverage:

    • Before attempting completion, always make sure that any code changes have test coverage
    • Ensure all tests pass before submitting changes
    • The vitest framework is used for testing; the vi, describe, test, it, etc functions are defined by default in tsconfig.json and therefore don't need to be imported from vitest
    • Tests must be run from the same directory as the package.json file that specifies vitest in devDependencies
    • Run tests with: npx vitest run <relative-path-from-workspace-root>
    • Do NOT run tests from project root - this causes "vitest: command not found" error
    • Tests must be run from inside the correct workspace:
      • Backend tests: cd src && npx vitest run path/to/test-file (don't include src/ in path)
      • UI tests: cd webview-ui && npx vitest run src/path/to/test-file
    • Example: For src/tests/user.test.ts, run cd src && npx vitest run tests/user.test.ts NOT npx vitest run src/tests/user.test.ts
  2. Lint Rules:

    • Never disable any lint rules without explicit user approval
  3. Styling Guidelines:

    • Use Tailwind CSS classes instead of inline style objects for new markup
    • VSCode CSS variables must be added to webview-ui/src/index.css before using them in Tailwind classes
    • Example: <div className="text-md text-vscode-descriptionForeground mb-2" /> instead of style objects