This commit introduces a complete testing setup using Vitest. It's configured it to handle both unit tests in a Node environment and component tests using JSDOM. The `vite.config.js` now defines two separate test projects ('client' and 'server') to manage these different environments. Lastly, to ensure the testing environment is setup correctly, it adds tests for the CommandPalette extension
Introduces a shared `@raycast-linux/protocol` package using pnpm workspaces to define and validate the communication contract between the sidecar and the frontend.