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
Lint Rules:
Never disable any lint rules without explicit user approval
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