A modern desktop application combining rich text editing with AI-powered content generation and transformation.
- π€ Multi-Provider AI Support - OpenAI, Anthropic, or Local Qwen models
- βοΈ Rich Text Editor - Professional editing powered by Lexical
- β‘ Real-Time AI Streaming - Live content generation and transformation
- π― Transformation Presets - Save and reuse custom text transformation prompts
- πΎ Persistent Workspace - Automatic saving of editor content and settings
- π Dark/Light Themes - Comfortable writing in any lighting condition
- π System Monitoring - AI model status, application logs, and system information
- π Internationalization - Multi-language support (English, French)
- π Privacy-First - Desktop app with local storage and optional local AI models
- Generate content from prompts with streaming AI responses
- Transform selected text with AI (e.g., "Make it professional", "Simplify", "Expand")
- Configure and switch between AI providers with adjustable parameters
- Monitor AI model status, logs, and system specs
- Node.js v18 or higher
- pnpm v8 or higher
- Rust latest stable
- Tauri Prerequisites for your platform
# Clone the repository
git clone https://github.com/marouane-dev75/ai-writer
cd ai-writer
# Install dependencies
pnpm install
# Run in development mode
pnpm tauri dev# Build the application
pnpm tauri buildThe built application will be available in src-tauri/target/release/.
- React 19 - Modern UI library with latest features
- TypeScript - Type-safe development
- Tailwind CSS 4 - Utility-first styling
- Lexical - Extensible rich text editor framework
- Vite - Fast build tooling
- React Router 7 - Client-side routing
- Rust - High-performance systems language
- Tauri 2 - Secure desktop application framework
- Serde - Serialization/deserialization
- Tokio - Async runtime for AI streaming
- OpenAI API - GPT models
- Anthropic API - Claude models
- Local Qwen - Privacy-focused local models
ai-writer/
βββ src/ # Frontend application
β βββ features/ # Feature modules
β β βββ ai-runtime/ # AI streaming & status monitoring
β β βββ ai-settings/ # AI provider configuration
β β βββ editor/ # Rich text editor with AI
β β βββ logging/ # Application logging viewer
β β βββ system-info/ # System information display
β β βββ app-restart/ # Application restart management
β βββ pages/ # Page components
β βββ shared/ # Shared utilities & components
β β βββ ui/ # Reusable UI components
β β βββ i18n/ # Internationalization
β β βββ theme/ # Theme management
β β βββ layouts/ # Layout components
β βββ main.tsx # Application entry point
β
βββ src-tauri/ # Backend application
βββ src/
βββ ai/ # AI provider implementations
βββ commands/ # Tauri command handlers
βββ config/ # Configuration management
βββ editor/ # Editor persistence
βββ logging/ # Logging system
Each feature has detailed documentation in its respective directory:
- AI Runtime - AI streaming and model status
- AI Settings - Provider configuration
- Editor - Rich text editing with AI
- Logging - Application log viewer
- System Info - System specifications
- App Restart - Restart management
# Frontend development server
pnpm dev
# Tauri development (with hot-reload)
pnpm tauri dev
# Build frontend
pnpm build
# Build Tauri application
pnpm tauri build
# Preview production build
pnpm previewThis project follows clean architecture principles:
- Feature-based structure - Each feature is self-contained
- Dependency Inversion - High-level modules depend on abstractions
- SOLID principles - Maintainable and extensible code
- TypeScript strict mode - Type safety throughout
- Rust best practices - Idiomatic Rust with proper error handling
See individual feature READMEs for detailed implementation guidelines.
