Development Setup
Get Omniscribe running locally for development and contributing.
Prerequisites
- Node.js >= 22.0.0
- pnpm >= 10.x
- A C++ compiler for native modules (
node-pty):- macOS:
xcode-select --install - Windows: Visual Studio Build Tools
- Linux:
build-essentialpackage
- macOS:
Setup
# Clone the repository
git clone https://github.com/Shironex/omniscribe.git
cd omniscribe
# Install dependencies
pnpm install
# Build shared packages (required before first run)
pnpm build:packages
# Start development
pnpm dev
This starts both the Vite dev server (frontend) and Electron (desktop app) concurrently. The app opens automatically once the frontend is ready.
Common Commands
# Development
pnpm dev # Start web + desktop concurrently
pnpm dev:debug # Start with debug logging
# Building
pnpm build # Build all packages and apps
pnpm build:packages # Build only shared packages
# Quality
pnpm lint # Run ESLint
pnpm format # Run Prettier (write)
pnpm typecheck # Run TypeScript type checking
pnpm test # Run all tests
# Packaging
pnpm package:mac # Package for macOS
pnpm package:win # Package for Windows
pnpm package:linux # Package for Linux
Project Configuration
- ESLint + Prettier are configured for code quality
- Husky + lint-staged run checks on git commit
- Conventional commits are used (
feat:,fix:,refactor:, etc.) - TypeScript strict mode is enabled across all packages
Next Steps
- Plugin SDK Overview — Learn how the plugin system works
- Creating a Provider Plugin — Build your own AI provider
- API Reference — Browse the full TypeScript API