gitorii 0.1.7

A human-first Git client with simplified commands, snapshots, multi-platform mirrors and built-in secret scanning
# 🎨 Torii GUI Vision

## Overview
Torii GUI serΓ‘ la interfaz visual para todas las funcionalidades del CLI, construida con **Tauri** para mΓ‘xima portabilidad y rendimiento.

## πŸš€ Plataformas Soportadas
- **Desktop**: Windows, macOS, Linux
- **Mobile**: iOS, Android
- **Web**: Progressive Web App (PWA)

## πŸ’‘ Ventajas del Enfoque CLI-First

### βœ… Ya Tenemos Todo Implementado
El CLI ya tiene **todas** las funcionalidades core:
- βœ… GestiΓ³n multi-plataforma de repositorios
- βœ… Operaciones batch en mΓΊltiples plataformas
- βœ… Snapshots locales
- βœ… Mirroring automΓ‘tico
- βœ… Workflows personalizados
- βœ… Reescritura de historial
- βœ… IntegraciΓ³n con SSH

### 🎯 El GUI Solo Necesita
1. **Llamar a los comandos CLI** - Ya funcionan perfectamente
2. **Mostrar resultados** - Parsear output JSON/texto
3. **Proveer UX visual** - Botones, formularios, grΓ‘ficos
4. **AΓ±adir visualizaciones** - Grafos de commits, timelines, etc.

## 🎨 Mockups de Funcionalidades Clave

### 1. Dashboard Principal
```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  🏠 Torii                    [user@email.com] βš™οΈ    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                     β”‚
β”‚  πŸ“Š Repositories Overview                          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚ GitHub   β”‚ GitLab   β”‚ Codeberg β”‚ Gitea    β”‚    β”‚
β”‚  β”‚   12     β”‚    8     β”‚    5     β”‚    3     β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                     β”‚
β”‚  πŸ”„ Recent Activity                                β”‚
β”‚  β€’ my-project pushed to GitHub, GitLab             β”‚
β”‚  β€’ snapshot created: pre-refactor                  β”‚
β”‚  β€’ mirror synced: backup-server                    β”‚
β”‚                                                     β”‚
β”‚  ⚑ Quick Actions                                   β”‚
β”‚  [+ New Repo] [πŸ“Έ Snapshot] [πŸ”„ Sync All]         β”‚
β”‚                                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

### 2. Multi-Platform Repo Creation
```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Create Repository on Multiple Platforms           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                     β”‚
β”‚  Repository Name: [my-awesome-project          ]   β”‚
β”‚  Description:     [An amazing tool for...      ]   β”‚
β”‚                                                     β”‚
β”‚  πŸ“ Select Platforms:                              β”‚
β”‚  β˜‘ GitHub        β˜‘ GitLab       β˜‘ Codeberg        β”‚
β”‚  ☐ Gitea         ☐ Forgejo      ☐ Custom          β”‚
β”‚                                                     β”‚
β”‚  πŸ”’ Visibility:   βšͺ Public  ⚫ Private            β”‚
β”‚                                                     β”‚
β”‚  β˜‘ Push code after creation                        β”‚
β”‚  β˜‘ Add as mirrors for auto-sync                    β”‚
β”‚                                                     β”‚
β”‚         [Cancel]              [Create on 3 β–Ό]      β”‚
β”‚                                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

### 3. Batch Operations Progress
```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Creating 'my-project' on 3 platforms...           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                     β”‚
β”‚  πŸ“¦ GitHub     βœ… Created                          β”‚
β”‚     └─ https://github.com/user/my-project          β”‚
β”‚                                                     β”‚
β”‚  πŸ“¦ GitLab     ⏳ Creating...                      β”‚
β”‚     └─ [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘] 80%                            β”‚
β”‚                                                     β”‚
β”‚  πŸ“¦ Codeberg   ⏸️  Waiting...                      β”‚
β”‚                                                     β”‚
β”‚  ────────────────────────────────────────────────  β”‚
β”‚  Progress: 1/3 completed                           β”‚
β”‚                                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

### 4. Visual Snapshot Manager
```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  πŸ“Έ Snapshots                          [+ Create]   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                     β”‚
β”‚  Timeline View:                                     β”‚
β”‚                                                     β”‚
β”‚  2026-04-11  ●─────●─────●                         β”‚
β”‚              β”‚     β”‚     └─ post-refactor          β”‚
β”‚              β”‚     └─────── pre-refactor           β”‚
β”‚              └───────────── initial-setup          β”‚
β”‚                                                     β”‚
β”‚  Selected: pre-refactor                            β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Created: 2026-04-11 10:30                   β”‚  β”‚
β”‚  β”‚ Files: 42 changed, 1,234 insertions         β”‚  β”‚
β”‚  β”‚ Message: "Before major refactoring"         β”‚  β”‚
β”‚  β”‚                                              β”‚  β”‚
β”‚  β”‚ [Restore] [Compare] [Delete]                β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

### 5. Mirror Sync Dashboard
```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  πŸ”„ Mirrors & Sync Status                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                     β”‚
β”‚  Master: github.com/user/torii                     β”‚
β”‚                                                     β”‚
β”‚  Mirrors:                                          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚ βœ… GitLab        Last sync: 2 min ago        β”‚ β”‚
β”‚  β”‚ βœ… Codeberg      Last sync: 5 min ago        β”‚ β”‚
β”‚  β”‚ ⚠️  Gitea        Last sync: 2 hours ago      β”‚ β”‚
β”‚  β”‚ ❌ Custom        Failed: connection timeout   β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚                                                     β”‚
β”‚  Auto-sync: β˜‘ Enabled  Interval: [30] minutes     β”‚
β”‚                                                     β”‚
β”‚  [Sync Now] [Add Mirror] [Configure]               β”‚
β”‚                                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

### 6. Commit Graph Visualizer
```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  πŸ“Š Commit History                                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                     β”‚
β”‚    main    ●───●───●───●───●  HEAD                β”‚
β”‚             \       \                               β”‚
β”‚    feature   ●───●───●  (merged)                   β”‚
β”‚                                                     β”‚
β”‚  Filters: [All Branches β–Ό] [Last 30 days β–Ό]       β”‚
β”‚                                                     β”‚
β”‚  Recent Commits:                                    β”‚
β”‚  ● Add multi-platform support      2 hours ago     β”‚
β”‚  ● Fix compilation errors          3 hours ago     β”‚
β”‚  ● Implement batch operations      5 hours ago     β”‚
β”‚                                                     β”‚
β”‚  [Rewrite History] [Clean] [Export]                β”‚
β”‚                                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

## 🎯 Funcionalidades Específicas del GUI

### Desktop
- **Drag & Drop** - Arrastrar archivos para commit
- **System Tray** - Notificaciones de sync
- **Keyboard Shortcuts** - Workflow rΓ‘pido
- **Multi-window** - MΓΊltiples repos abiertos
- **Terminal integrada** - Acceso directo al CLI

### Mobile
- **Quick Actions** - Crear repo, ver status
- **Push Notifications** - Alertas de sync/mirrors
- **QR Code** - Compartir repos fΓ‘cilmente
- **Offline Mode** - Ver snapshots sin conexiΓ³n
- **Biometric Auth** - Seguridad para tokens

## πŸ› οΈ Stack TecnolΓ³gico

### Frontend
- **Framework**: React + TypeScript
- **UI Library**: shadcn/ui + Tailwind CSS
- **Icons**: Lucide React
- **Charts**: Recharts / D3.js
- **State**: Zustand / Jotai

### Backend (Tauri)
- **Core**: Rust (ya tenemos todo el CLI)
- **IPC**: Tauri Commands
- **Storage**: SQLite para cache local
- **Updates**: Tauri Updater

## πŸ“± Ventajas del Enfoque

### 1. **Desarrollo RΓ‘pido**
```rust
// El CLI ya hace todo el trabajo pesado
#[tauri::command]
fn create_repo_multi_platform(name: String, platforms: Vec<String>) -> Result<String> {
    // Simplemente llamamos al CLI existente
    Command::new("torii")
        .args(&["repo", &name, "--create", "--platforms", &platforms.join(",")])
        .output()
}
```

### 2. **Consistencia Total**
- CLI y GUI usan **exactamente** la misma lΓ³gica
- Bugs arreglados en uno se arreglan en ambos
- Features nuevas disponibles inmediatamente

### 3. **Testing Simplificado**
- CLI ya estΓ‘ testeado
- GUI solo testea la capa visual
- E2E tests reutilizan comandos CLI

### 4. **Performance**
- Tauri es **extremadamente** ligero (~3MB)
- Rust backend = velocidad nativa
- Sin Electron = menos RAM

## 🎨 Temas y Personalización

```typescript
// Tema oscuro/claro
const themes = {
  light: {
    primary: '#6366f1',
    background: '#ffffff',
    text: '#1f2937'
  },
  dark: {
    primary: '#818cf8',
    background: '#111827',
    text: '#f9fafb'
  },
  torii: {
    // Tema personalizado japonΓ©s
    primary: '#dc2626',
    accent: '#fbbf24',
    background: '#0f172a'
  }
}
```

## πŸš€ Roadmap GUI

### Phase 1: MVP Desktop (Q2 2026)
- [ ] Dashboard principal
- [ ] GestiΓ³n bΓ‘sica de repos
- [ ] Operaciones multi-plataforma
- [ ] Snapshots visuales

### Phase 2: Advanced Features (Q3 2026)
- [ ] Commit graph visualizer
- [ ] Mirror sync dashboard
- [ ] Custom workflows editor
- [ ] Settings & preferences

### Phase 3: Mobile (Q4 2026)
- [ ] iOS app
- [ ] Android app
- [ ] Sync con desktop
- [ ] Push notifications

### Phase 4: Collaboration (Q1 2027)
- [ ] Team features
- [ ] Shared snapshots
- [ ] Real-time sync status
- [ ] Activity feed

## πŸ’‘ Killer Features del GUI

1. **Visual Multi-Platform Manager**
   - Ver todos tus repos en todas las plataformas
   - Crear/eliminar en batch con clicks
   - Drag & drop para configurar mirrors

2. **Snapshot Timeline**
   - LΓ­nea de tiempo visual de snapshots
   - Preview de cambios antes de restaurar
   - ComparaciΓ³n visual entre snapshots

3. **Smart Notifications**
   - Alertas cuando mirrors se desincronicen
   - Recordatorios de snapshots automΓ‘ticos
   - Notificaciones de updates disponibles

4. **One-Click Workflows**
   - Templates predefinidos
   - Workflows personalizados visuales
   - AutomatizaciΓ³n con GUI builder

## 🎯 Conclusión

El GUI de Torii serΓ‘ **increΓ­blemente fΓ‘cil de desarrollar** porque:

βœ… **Todo el backend ya existe** (CLI completo)  
βœ… **Solo necesitamos la capa visual**  
βœ… **Tauri hace el resto** (empaquetado, updates, etc.)  
βœ… **Cross-platform automΓ‘tico**  
βœ… **Performance nativo**  

**EstimaciΓ³n**: Con el CLI ya completo, el MVP del GUI desktop se puede tener en **2-3 meses** de desarrollo. El mobile en otros **2-3 meses**.

---

*"CLI-first approach = GUI development on easy mode"* πŸš€