v1.6.0
DeepBase v1.6.0 - Database Context Extraction
🗄️ Supporto completo per database SQLite
DeepBase ora è in grado di analizzare file database SQLite e generare contesto strutturato sullo schema, rendendo più facile fornire alle AI informazioni precise sulle tabelle, relazioni e vincoli del tuo progetto.
🚀 Nuove Funzionalità
Rilevamento Automatico Database
- Riconoscimento file SQLite tramite magic bytes (
SQLite format 3) — funziona anche senza estensione standard - Estensioni supportate:
.db,.sqlite,.sqlite3,.db3 - Icona visiva 🗄️ nell'albero del progetto per identificare rapidamente i database
Tre Modalità di Contesto
| Modalità | Flag | Descrizione |
|---|---|---|
| Schema Completo | --all |
Tabelle, colonne (tipi, nullable, default, PK), foreign keys, indici, row count |
| TOON (Skeleton) | --toon |
Rappresentazione compatta: Tabella(col:tipo[PK], col2:tipo[FK→tabella.campo]) |
| Ibrida con Focus | --toon --focus |
TOON per tutto, dettaglio completo solo per tabelle specifiche |
Focus a Livello di Tabella
Nuova sintassi per focalizzarsi su tabelle specifiche all'interno di un database:
# Focus su singola tabella
deepbase . --toon --focus "app.db/users"
# Multiple tabelle
deepbase . --toon --focus "app.db/users" --focus "app.db/orders"
# Tramite file di focus
echo "production.db/customers" > task.txt
echo "production.db/orders" >> task.txt
deepbase . --toon --focus-file task.txt📋 Esempi di Utilizzo
1. Analisi Base (Solo Struttura)
deepbase .Output include l'albero del progetto con 🗄️ per identificare i database:
📂 ./
📄 README.md
🗄️ data.sqlite
📂 src/
📄 main.py
2. Schema Completo di un Database
deepbase data.db --allOutput generato:
# Database: data.db
## Overview
- Total Tables: 3
- Total Rows: 15,420
- File Size: 2,048 KB
## Schema Details
### Table: `users`
- Rows: 1,240
#### Columns:
| Column | Type | Nullable | Default | PK |
|--------|------|----------|---------|-----|
| `id` | INTEGER | NOT NULL | - | ✓ |
| `email` | TEXT | NOT NULL | - | |
| `created_at` | DATETIME | ✓ | CURRENT_TIMESTAMP | |
#### Foreign Keys:
- `role_id` → `roles`.`id` (ON UPDATE: CASCADE, ON DELETE: SET NULL)
#### Indexes:
- UNIQUE `idx_email` on (`email`)3. Modalità TOON (Token-Efficiente)
deepbase . --toonOutput:
DB: app.sqlite
Tables: 5 | Rows: 45,231
T: users(id:INTEGER[PK,NN], email:TEXT[NN], role_id:INTEGER[FK→roles.id])
T: orders(id:INTEGER[PK], user_id:INTEGER[FK→users.id], total:REAL)
T: products(id:INTEGER[PK], name:TEXT, price:REAL)
T: roles(id:INTEGER[PK], name:TEXT[NN])
T: order_items(id:INTEGER[PK], order_id:INTEGER[FK→orders.id], product_id:INTEGER[FK→products.id])
4. Workflow Ibrido (Consigliato per LLM)
# Contesto leggero per tutto, dettaglio per tabelle critiche
deepbase . --toon --focus "app.db/users" --focus "app.db/orders" -o context.mdRisultato: Il file context.md conterrà:
- TOON skeleton per tutte le tabelle
- Schema completo (colonne, FK, indici) solo per
userseorders - Markup visivo
[FOCUSED - FULL CONTENT]per identificare le tabelle dettagliate
🔧 Configurazione Avanzata
Aggiungi estensioni personalizzate in .deepbase.toml:
# Riconosci anche file senza estensione standard
significant_extensions = [".db", ".sqlite", "mydatafile"]
# Ignora database di test o cache
ignore_dirs = ["test_dbs", "cache", "__pycache__"]🐛 Bug Fixes
- Nessuno (prima release con supporto database)
📦 Dipendenze
- Nessuna dipendenza aggiuntiva — utilizza solo
sqlite3della standard library Python
💡 Casi d'Uso Consigliati
| Scenario | Comando |
|---|---|
| Onboarding sviluppatore su codebase legacy | deepbase . --all |
| Code review con focus su autenticazione | deepbase . --toon --focus "auth.db/users" --focus "auth.db/sessions" |
| Ottimizzazione query (vedere indici) | deepbase production.db --all |
| Documentazione API con schema DB | deepbase . --toon -o api_context.md |
Full Changelog: v1.5.0...v1.6.0