Technology Stack
Technologies and frameworks used in IfAI.
Frontend Stack
Core Framework
| Technology | Version | Description |
|---|---|---|
| React | 19.1.0 | UI framework with concurrent features |
| TypeScript | 5.8 | Type-safe JavaScript |
| Vite | 7.0 | Fast build tool and dev server |
State Management
| Technology | Version | Purpose |
|---|---|---|
| Zustand | 5.0 | Lightweight state management |
| React Context | Built-in | Component-level state |
UI Components
| Technology | Version | Purpose |
|---|---|---|
| Monaco Editor | 0.55 | VS Code's editor component |
| TailwindCSS | 3.4 | Utility-first styling |
| Lucide React | Latest | Icon library |
Developer Tools
| Technology | Purpose |
|---|---|
| ESLint | Linting |
| Prettier | Code formatting |
| TypeScript ESLint | TypeScript linting |
Backend Stack
Core Framework
| Technology | Version | Description |
|---|---|---|
| Rust | 1.80+ | Systems programming language |
| Tauri | 2.0 | Desktop app framework |
| Tokio | 1.48 | Async runtime |
AI Integration
| Technology | Purpose |
|---|---|
| reqwest | HTTP client for AI APIs |
| llama-cpp-2 | Local LLM inference |
| FastEmbed | Vector embeddings |
Utilities
| Technology | Purpose |
|---|---|
| Serde | Serialization |
| Tokio | Async runtime |
| tracing | Structured logging |
| thiserror | Error handling |
Code Analysis
Parsing
| Technology | Purpose |
|---|---|
| Tree-sitter | Code parsing (35+ languages) |
| tree-sitter-typescript | TypeScript/JavaScript |
| tree-sitter-rust | Rust |
| tree-sitter-python | Python |
| tree-sitter-go | Go |
| And 30+ more language parsers |
Build & Release
Build Tools
| Technology | Purpose |
|---|---|
| Vite | Frontend bundling |
| Cargo | Rust compilation |
| Tauri CLI | App packaging |
Platform Targets
| Platform | Output Format |
|---|---|
| macOS | .app, .dmg (universal binary) |
| Windows | .exe, .msi |
| Linux | .AppImage, .deb, .rpm |
Testing
Frameworks
| Technology | Purpose |
|---|---|
| Vitest | Unit testing |
| Playwright | E2E testing |
| @testing-library | Component testing |
Development Tools
Code Quality
| Tool | Purpose |
|---|---|
| ESLint | JavaScript/TypeScript linting |
| Clippy | Rust linting |
| rustfmt | Rust formatting |
| Prettier | Code formatting |
Git Hooks
| Tool | Purpose |
|---|---|
| husky | Git hooks management |
| lint-staged | Run linters on staged files |
Dependencies
Runtime Dependencies
Users need:
- No additional dependencies for IfAI
- Optional: Ollama for local LLMs
Build Dependencies
To build from source:
- Node.js 18+
- Rust 1.70+
- Git
- Platform-specific SDK (Xcode on macOS, etc.)
Version Compatibility
IfAI Version Matrix
| IfAI | React | Rust | Tauri |
|---|---|---|---|
| 0.3.x | 19.1 | 1.80 | 2.0 |
Upgrading Dependencies
Frontend
bash
# Check for updates
npm outdated
# Update packages
npm update
# Update React
npm install react@latest react-dom@latestBackend
bash
# Update Rust toolchain
rustup update stable
# Update dependencies
cd src-tauri
cargo updateNext Steps
- Project Structure - Codebase organization
- Frontend Guide - React development
- Backend Guide - Rust development