Skip to content

Releases: follen99/DeepBase

v1.6.0

08 Feb 17:15

Choose a tag to compare

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 --all

Output 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 . --toon

Output:

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.md

Risultato: Il file context.md conterrà:

  • TOON skeleton per tutte le tabelle
  • Schema completo (colonne, FK, indici) solo per users e orders
  • 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 sqlite3 della 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

V1.5.0

27 Jan 22:11

Choose a tag to compare

LaTeX Support

".tex", ".bib", ".sty", ".cls"

v1.4.0

04 Dec 18:19

Choose a tag to compare

2. Smart Token Optimization (TOON)

For large projects, sending all code to an LLM is expensive and inefficient. TOON (Token Oriented Object Notation) extracts only the semantic "skeleton" of your code (classes, signatures, docstrings), ignoring implementations.

deepbase . --toon
# or
deepbase . -t

Result: LLMs understand your architecture using minimal tokens.

3. Hybrid Mode (Focus)

This is the power user feature. You can provide the TOON skeleton for the entire project (background context) while focusing on specific files (full content).

Focus via CLI:
Use -f or --focus with glob patterns (e.g., *auth*, src/utils/*).

deepbase . --toon --focus "server/controllers/*" --focus "client/src/login.js"

Focus via File:
Instead of typing patterns every time, create a text file (e.g., context_task.txt) with the list of files/folders you are working on.

content of context_task.txt:

server/routes/auth.js
server/models/User.js
client/src/components/LoginForm.jsx

Run deepbase loading the file:

deepbase . --toon --focus-file context_task.txt

V1.3.0

26 Nov 15:50
3b2ae82

Choose a tag to compare

Markdown features

now you can create the structure of a single markdown file, including just the titles or titles + whole content

Output Example

# File Structure Analysis: README.md

================================================================================
### DOCUMENT STRUCTURE (Outline) ###
================================================================================

# DeepBase
## Features
## Installation
## How to Use
### Advanced Configuration
# Add more directories to ignore.
# These will be added to the default ones.
# Add more extensions or filenames to include.
### Single File Analysis (New!)
# Generates "llm_context.md" containing only the headers tree.
# Generates "llm_context.md" containing the outline followed by the full text.
## Development Workflow
### 1. Local Setup & Testing
# Install in editable mode
# Run tests
# Test the tool locally without reinstalling
# You can now use the 'deepbase' command directly and it reflects your code changes immediately.
### 2. Release Process
## License

================================================================================
### FILE CONTENT ###
================================================================================

--- START OF FILE: README.md ---
...

V1.2.0

13 Nov 10:31

Choose a tag to compare

DeepBase v1.2.0: The Modernization & Configuration Update

This is a landmark release for DeepBase, focusing on making the tool more robust, configurable, and aligned with modern Python development standards. We've introduced major enhancements to both the user experience and the underlying project structure.

📢 Major Announcement: Project Language Transition to English

To foster a more inclusive and broader community of users and contributors, the entire DeepBase project will be managed in English from this version forward. This includes all code (comments, docstrings), documentation, and future communications.

We believe this change will make the project more accessible and easier to contribute to for developers worldwide.

✨ New Features & Enhancements

1. Customizable Configuration via .deepbase.toml

You now have full control over the scanning process! DeepBase will automatically detect and load a .deepbase.toml file in the root directory of the project you are analyzing. This allows you to:

  • Add custom directories to the ignore_dirs list.
  • Include new file names or extensions in the significant_extensions list.

2. Enhanced CLI and User Experience

The command-line interface has been completely rebuilt using Typer and Rich. This brings several benefits:

  • A more intuitive and powerful CLI with clearer help messages.
  • Beautiful, colored output for better readability.
  • A progress bar that provides real-time feedback when analyzing large projects.

3. Robust File Encoding Detection

To prevent errors with non-standard files, DeepBase now intelligently detects file encodings using the chardet library before reading them. This ensures that a much wider variety of files can be processed without issues.

🛠️ Under-the-Hood & Developer Experience

1. Complete Migration to pyproject.toml

We have fully embraced modern Python packaging standards (PEP 621) by migrating all project metadata and dependencies into pyproject.toml.

  • The project's dependencies are now defined in the [project.dependencies] section.
  • Development dependencies (like pytest) are specified under [project.optional-dependencies].
  • The requirements.txt file has been removed, as pyproject.toml is now the single source of truth.

2. Introduction of Automated Testing with pytest

The project is now more reliable and maintainable with the introduction of a testing suite powered by pytest.

  • A tests/ directory has been added with initial unit tests covering core functionality.
  • This ensures that new changes do not break existing features.

3. Standardized Project Structure and Imports

The project now correctly handles the standard src-layout for Python packages. The tests have been updated to import the deepbase package correctly, ensuring that our testing methodology mimics how the tool is used in the real world.

How to Upgrade

To get the latest version, simply run:

pip install --upgrade deepbase

This release lays a solid foundation for future features. Thank you for using DeepBase, and we look forward to your feedback

v1.0.0 - The First Stable Release

12 Nov 21:59

Choose a tag to compare

First stable release!