Developer Documentation
December 21, 2025 ยท View on GitHub
Welcome to the iDO developer documentation! This section is for developers who want to compile, develop, or contribute to iDO.
Note: If you just want to use iDO, see the User Guide instead.
๐ Documentation Structure
๐ Getting Started
Set up your development environment
- Installation - Install development tools and dependencies
- First Run - Configure and test the application
- Development Workflow - Common development tasks
๐๏ธ Architecture
Understand how iDO works
- Overview - System architecture overview
- Three-Layer Design - Perception โ Processing โ Consumption
- Data Flow - How data moves through the system
- Tech Stack - Technology choices and rationale
๐ป Development Guides
Learn how to build features
Frontend
- Frontend Overview - React, TypeScript, Tailwind
Backend
- Backend Overview - Python, PyTauri, FastAPI
Features
- Internationalization - Multi-language support
๐ Deployment
Build and distribute iDO
- Troubleshooting - Common development issues
๐ Quick Navigation
I want to...
...set up a development environment โ Installation Guide
...understand how iDO works โ Architecture Overview
...create a new API endpoint โ Development Workflow
...add a new React component โ Frontend Guide
...modify the database โ Development Workflow - Database
...add a new language โ i18n Guide
...fix a development issue โ Troubleshooting
๐ Common Development Commands
Setup
# First-time setup
pnpm setup # macOS/Linux
pnpm setup:win # Windows
# Or manual setup
pnpm install # Frontend dependencies
uv sync # Backend dependencies
Development
# Frontend only (fastest)
pnpm dev
# Full app with TypeScript generation (recommended)
pnpm tauri:dev:gen-ts
# Backend API server only
uvicorn app:app --reload
Code Quality
# Format and lint
pnpm format # Auto-format code
pnpm lint # Check code quality
# Type checking
pnpm tsc # TypeScript
uv run ty check # Python
# Validate translations
pnpm check-i18n
Build
# Production build
pnpm tauri build
# macOS with code signing
pnpm tauri:build:signed
# Clean artifacts
pnpm clean
๐๏ธ Architecture At a Glance
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Consumption Layer (Frontend) โ
โ React + TypeScript + Tailwind + Zustand โ
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโ
โ PyTauri IPC
โโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Processing Layer (Backend) โ
โ Python + FastAPI + Pydantic + SQLite โ
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Perception Layer (Capture) โ
โ pynput + mss + PIL + OpenCV โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฏ Development Principles
- Privacy First - All data processing happens locally
- Type Safe - TypeScript + Pydantic throughout
- Developer Friendly - Hot reload, auto-generation, clear APIs
- Extensible - Plugin agents, modular architecture
- Well Documented - Comprehensive guides and references
๐ค Contributing
We welcome contributions! Here's how to get started:
- Set up your development environment
- Read the development workflow guide
- Follow code quality guidelines (run
pnpm format,pnpm lint, etc.) - Submit a PR with clear description
See CLAUDE.md for detailed project rules and best practices.
๐ Getting Help
- ๐ Report bugs
- ๐ฌ Ask questions
- ๐ Read project rules
Navigation: โ Back to Documentation Home โข Getting Started โ