AI SummaryWitsy is a cross-platform Electron-based desktop AI assistant that serves as a universal MCP (Model Context Protocol) client. Built with Electron, TypeScript, Vue 3, and Vite, it integrates multiple LLM providers and supports features like chat completion, image generation, speech-to-text, text-to-s
Install
Copy this and paste it into Claude Code, Cursor, or any AI assistant:
I want to add the "witsy — Copilot Instructions" prompt rules to my project. Repository: https://github.com/Kochava-Studios/witsy Please read the repo to find the rules/prompt file, then: 1. Download it to the correct location (.cursorrules, .windsurfrules, .github/prompts/, or project root — based on the file type) 2. If there's an existing rules file, merge the new rules in rather than overwriting 3. Confirm what was added
Description
Witsy: desktop AI assistant / universal MCP client
Project Overview
Witsy is a cross-platform Electron-based desktop AI assistant that serves as a universal MCP (Model Context Protocol) client. Built with Electron, TypeScript, Vue 3, and Vite, it integrates multiple LLM providers and supports features like chat completion, image generation, speech-to-text, text-to-speech, document search (RAG), and automation capabilities.
Core Structure
• Main Process (src/main/): Electron main process handling system integration, IPC, and native APIs • Renderer Process (src/renderer): Vue 3 frontend with Vite bundling • Preload Scripts (src/preload.ts): Secure IPC bridge between main and renderer • LLM Integration (src/renderer/services/llms/): Multi-provider LLM abstraction layer using multi-llm-ts • Plugin System (src/renderer/services/plugins/): Extensible tools for search, filesystem, python execution, etc. • Automation (src/main/automations/): Cross-platform automation for "Prompt Anywhere" and AI commands
Build System (Electron Forge + Vite)
• Development: npm start - runs with hot reload • Testing: npm test (Vitest unit tests), npm run test:e2e (E2E tests) • Building: make mac-arm64, make win-x64, etc. - platform-specific builds via Makefile • Configuration: forge.config.ts handles Electron Forge setup, Vite configs handle bundling
Development Workflows
In all cases, implementation should be done in small increments: code, lint, test. Always break down tasks into small, manageable pieces. This allows for easier debugging and testing, and ensures that the codebase remains stable. At the end of each task, ensure that the code is properly tested and linted before moving on to the next task. Confirm with the user that the task is complete and that they are satisfied with the implementation and that you can move on to the next task. Tests should be written or updated as soon as possible and kept passing before moving on to the next task. This ensures that the codebase remains stable and maintainable. Always assume when starting a new feature, that the code is already in a good state and that all existing tests are passing. Be mindful of that when fixing non-passing tests. Linting can be done with npm run lint, which will also check for Vue type errors. It is mandatory to run this command before running tests to ensure code quality. When this command produces no output, it means that the code is properly formatted and does not contain any linting errors. Tests can be run using npm run test:ai -- followed by the test name or path. Never run end-to-end tests during your process. Never try to build the application during your process. Never try to run the application during your process.
Discussion
Health Signals
My Fox Den
Community Rating
Sign in to rate this booster
Works With
Any AI assistant that accepts custom rules or system prompts