Skip to content

Latest commit

 

History

History
184 lines (122 loc) · 5.38 KB

File metadata and controls

184 lines (122 loc) · 5.38 KB

Developer Documentation

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

Set up your development environment

🏗️ Architecture

Understand how iDO works

Learn how to build features

Frontend

Backend

Features

Build and distribute iDO


🔍 Quick Navigation

I want to...

...set up a development environmentInstallation Guide

...understand how iDO worksArchitecture Overview

...create a new API endpointDevelopment Workflow

...add a new React componentFrontend Guide

...modify the databaseDevelopment Workflow - Database

...add a new languagei18n Guide

...fix a development issueTroubleshooting


📋 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

  1. Privacy First - All data processing happens locally
  2. Type Safe - TypeScript + Pydantic throughout
  3. Developer Friendly - Hot reload, auto-generation, clear APIs
  4. Extensible - Plugin agents, modular architecture
  5. Well Documented - Comprehensive guides and references

🤝 Contributing

We welcome contributions! Here's how to get started:

  1. Set up your development environment
  2. Read the development workflow guide
  3. Follow code quality guidelines (run pnpm format, pnpm lint, etc.)
  4. Submit a PR with clear description

See CLAUDE.md for detailed project rules and best practices.


📞 Getting Help


Navigation: ← Back to Documentation HomeGetting Started →