Intelligent CLI automation tool for developers — 100% Free & Open-Source Outil CLI intelligent d'automatisation pour développeurs — 100 % gratuit et open-source
Flash-dev automates your Git workflow in a single command: git add + AI-powered commit + git push. No need to leave the terminal or touch the mouse.
Table of contents
| Feature | Description |
|---|---|
| Git Automation | Single command: git add + AI commit + git push |
| AI-Powered Commits | Gemini 2.5 Flash generates Conventional Commits (optional) |
| Environment Doctor | Complete diagnostics: Git, Node, Docker, DB, Framework |
| Project Analysis | Architecture, stack, dependencies, security audit |
| Dependency Manager | Detect unused packages, vulnerabilities, duplicates |
| AI Error Explainer | Paste any error, get AI-powered solutions |
| Feature | Description |
|---|---|
| Security Scan | Detects vulnerabilities in your code |
| Secret Audit | Prevents accidental secret leaks before commit |
| Environment Generator | Creates secure .env.example files |
| BYOK Architecture | Zero remote key storage — you control your API keys |
| Feature | Description |
|---|---|
| Disk Cleanup | Frees space by cleaning caches and build artifacts |
| Branch Sync | Synchronizes automatically with main/master |
| Branch Cleanup | Safely removes merged local branches |
| Project Bootstrap | Configure Next.js, Laravel, Vue projects instantly |
| Docker Support | Docker initialization, logs, cleanup |
| Laravel Ecosystem | CRUD generation, cache optimization, migrations |
- Node.js: Next.js, React, Vue, Nuxt, NestJS, Express, Fastify
- PHP: Laravel, Symfony
- Python: Django, Flask (via detectors)
- Go: Go modules (via detectors)
- Docker: Full Docker/Docker Compose integration
- Node.js — version LTS >= 18.0.0
- Git — installed and configured
- A Google Gemini API key — free, but optional; flash-dev also works without one
Global installation via NPM
npm install -g flash-devLocal development
# Clone the repository
git clone https://github.com/dominiqsoro/flash-dev.git
cd flash-dev
# Install dependencies
npm install
# Link the package locally
npm linkFlash-dev uses Google's Gemini 2.5 Flash model to generate intelligent commit messages. To get a free key:
- Visit Google AI Studio
- Sign in with your Google account
- Click "Create API Key"
- Copy your API key
Important — Your API key is stored only locally on your machine. It is never sent to our servers.
| Command | Description |
|---|---|
flash-dev push |
Stages, commits (AI-assisted or basic), and pushes your changes |
flash-dev doctor |
Complete environment diagnostics (Git, Node, Docker, DB, Framework) |
flash-dev analyze |
Project audit with architecture scoring and security analysis |
flash-dev deps [--fix] |
Dependency analysis (unused, vulnerabilities, outdated) |
flash-dev explain [error] |
AI-powered error explanation with local fallback |
flash-dev fix |
Auto-correction for ESLint, TypeScript, imports, formatting |
flash-dev cache [list/stats/clean] |
Unified cache management (npm, pnpm, yarn, docker) |
flash-dev scan |
Scans the project for security vulnerabilities |
flash-dev env |
Generates a sanitized .env.example from your local .env |
flash-dev secure |
Audits staged changes for secrets before committing |
flash-dev clean |
Cleans development caches and old project directories |
flash-dev sync |
Synchronizes your working branch with main |
flash-dev nuke |
Removes merged local branches |
flash-dev status |
Displays system status and version |
Automates the complete Git workflow:
flash-dev push- Check — verifies the folder is a valid Git repository
- Index — runs
git add .to stage all files - Capture — captures the changes via
git diff --cached - Generate — sends the diff to Gemini to generate a Conventional Commits message (if an API key is configured), or uses intelligent basic mode
- Validate — displays the generated message and asks for confirmation
- Commit — runs
git commitwith the validated message - Push — automatically detects the branch and runs
git push
Basic mode (without API key): Flash-dev analyzes file paths, extensions, and code patterns to generate intelligent commit messages without requiring an AI API key.
flash-dev doctorPerforms a complete health check of your development environment:
- Git: Installation, repository status, branch, remote, uncommitted changes
- Node.js: Version, npm/pnpm/yarn/bun availability, package.json detection
- Docker: Engine status, containers, images, compose availability
- PHP: Version, Composer, Laravel/Symfony detection
- Database: MySQL, PostgreSQL, Redis, SQLite status
- Framework: Automatic detection (Next.js, React, Vue, Laravel, etc.)
Output includes status indicators (✓ success, ⚠ warning, ✗ error) and actionable suggestions.
flash-dev analyzeComprehensive project audit:
- Framework detection: Identifies the technology stack
- Architecture scoring: AI-powered or static analysis of code structure
- Dependency analysis: Package count and health
- Security audit: Basic security checks
- Size analysis: Project footprint calculation
Supports JSON output for automation:
flash-dev analyze --jsonflash-dev depsAnalyzes project dependencies:
- Unused packages: Detects dependencies not imported in source code
- Vulnerabilities: Runs
npm auditto identify security issues - Outdated packages: Shows packages with newer versions available
- Duplicates: Identifies duplicate dependency declarations
Auto-fix mode:
flash-dev deps --fixAutomatically runs npm audit fix and removes unused packages after confirmation.
flash-dev explain "TypeError: Cannot read property 'x' of undefined"AI-powered error analysis:
- Root cause: Explains why the error occurred
- Solution: Provides actionable fixes
- Example: Shows corrected code examples
- Documentation: Links to relevant documentation
Fallback to local knowledge base if AI is unavailable.
From log file:
flash-dev explain --file error.logflash-dev fixAutomatically fixes common code issues:
- ESLint: Runs
eslint --fixfor linting issues - TypeScript: Fixes TypeScript errors
- Imports: Organizes and removes unused imports
- Formatting: Applies Prettier formatting
Creates automatic backups before applying fixes:
.flash-dev/backups/backup-1691234567890/
flash-dev cache listLists all detected caches with sizes:
- npm, pnpm, yarn
- Composer
- Docker
- Vite, Next.js
Statistics:
flash-dev cache statsShows total cache size and per-tool breakdown.
Clean caches:
flash-dev cache cleanInteractive confirmation before deletion.
flash-dev scanDetects:
- API keys exposed in code
- URLs hardcoded in the codebase
- Debug statements (
console.log,debugger) - SQL injection patterns
- Eval — dangerous
eval/execusage - Dependencies with known vulnerabilities
flash-dev env- Reads your local
.envfile - Filters structural configuration variables
- Sanitizes sensitive values (API keys, passwords, tokens)
- Generates a clean
.env.examplefor your team
flash-dev secureDetects:
- SSH private keys
- AWS access/secret keys
- Stripe API keys
- Google API keys
- GitHub tokens
- JWT tokens
- Database passwords
- Generic API/secret keys
flash-dev cleanCleans:
node_modulesdirectories- Build caches (
.next,.nuxt,dist,build) - Package manager caches
- Old projects (not modified in 3 months)
flash-dev sync- Stashes your local changes
- Switches to the main branch and pulls the latest changes
- Returns to your working branch
- Rebases your branch on main
- Restores your local changes
flash-dev nuke- Lists all merged local branches
- Excludes protected branches (
main,master,dev,develop) - Deletes obsolete branches safely
- Frees up your local Git history
flash-dev statusDisplays system status and version.
flash-dev doctorComplete diagnostics of your development environment:
- Git: Installation, repository status, branch, conflicts
- Node.js: Version, package managers (npm, pnpm, yarn, bun)
- Docker: Engine status, containers, images
- Database: MySQL, PostgreSQL, Redis status
- Framework: Auto-detection (Laravel, Next.js, React, etc.)
flash-dev analyzeComprehensive project audit:
- Architecture: AI-powered scoring (with Gemini) or static analysis
- Stack: Framework, language, dependencies
- Size: Source code weight vs ignored files
- Security: Vulnerability detection
- Suggestions: AI-generated improvements
flash-dev depsAnalyze dependencies:
- Unused packages: Detection via import analysis
- Vulnerabilities: High/critical severity
- Outdated: Packages with newer versions
- Duplicates: Deduplication opportunities
Auto-fix mode:
flash-dev deps --fixflash-dev explainPaste any error and get AI-powered solutions:
- Cause: Root cause analysis
- Solution: Step-by-step fix
- Example: Code snippets
- Documentation: Relevant links
Or analyze a log file:
flash-dev explain error.logflash-dev --helpThe AI generates messages that follow Conventional Commits:
feat(ui): add navbar componentfix(auth): resolve login timeout issuedocs(readme): update installation guiderefactor(api): simplify user endpointtest(utils): add unit tests for parser
Basic mode (without AI):
feat(core): add 2 filesfix(general): update 1 filedocs(docs): add 1 file
Security architecture
- Zero remote storage — API keys are never stored on our servers
- Direct transfer — data flows directly from your machine to Google's secure API
- Local permissions — the configuration file is restricted to your system user's permissions
- Automatic filtering — binary and large files are automatically excluded from the diff sent to the AI
API key management
Source priority:
- Environment variable
GEMINI_API_KEY - Local configuration file (
~/.flash-dev/config.json)
If no key is detected on first launch, flash-dev prompts you to configure one or to continue in basic mode.
To configure the key via an environment variable:
# Linux/Mac
export GEMINI_API_KEY="your_key_here"
# Windows (PowerShell)
$env:GEMINI_API_KEY="your_key_here"
# Windows (CMD)
set GEMINI_API_KEY=your_key_hereToken limit — the diff sent to the AI is automatically truncated to 4,000 characters to avoid exceeding API limits.
Automatically excluded files:
- Binary files
package-lock.jsonyarn.lock.min.jsand.min.cssfiles
Flash-dev is an open-source project — contributions are welcome:
- Fork the project
- Create a branch for your feature (
git checkout -b feature/AmazingFeature) - Commit your changes (
flash-dev push) - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request on dominiqsoro/flash-dev
This project is licensed under the GNU General Public License v3.0 — see the LICENSE file for details.
Flash-dev is 100% free, thanks to the BYOK model. If the tool saves you time, consider:
- Star the repository on GitHub: dominiqsoro/flash-dev
- Buy a coffee on Ko-fi: dominiqsoro
- Support on Buy Me a Coffee: dominiqsoro
- Report bugs or suggest features
Flash-dev is free and open source.
To help fund development, Flash-dev may occasionally display a small sponsored or project-support message after a successful command (push, scan).
- No telemetry
- No tracking
- No network requests for ads
- No project data collection
- Never blocks a command
- Optional opt-out
flash-dev config monetization off
flash-dev config monetization on
flash-dev config monetization ads off
flash-dev config monetization support offSource of truth: src/utils/monetization.js
- Issues — GitHub Issues
- Documentation — README.md
- Developer — dominiqsoro
Major Release — Intelligent Terminal Copilot
This release transforms Flash-dev from a Git automation tool into a context-aware intelligent terminal copilot.
🚀 New Features
- Environment Doctor (
flash-dev doctor): Complete diagnostics of Git, Node.js, Docker, databases, and frameworks with parallel execution - Project Analysis (
flash-dev analyze): Architecture scoring (AI-powered or static), stack analysis, security audit - Dependency Manager (
flash-dev deps [--fix]): Detect unused packages, vulnerabilities, outdated dependencies with auto-fix - AI Error Explainer (
flash-dev explain [error]): Gemini-powered error analysis with local fallback for common patterns - Auto-fix Command (
flash-dev fix): ESLint, TypeScript, imports, and formatting corrections with automatic backup - Cache Manager (
flash-dev cache [list/stats/clean]): Unified cache management for npm, pnpm, yarn, composer, docker, vite, next
🏗️ Architecture
- New modular system: Core (Config, Logger, Errors), Detectors (Git, Node, Docker, PHP, Database, Framework)
- Centralized error handling with solution-oriented messages
- Parallel execution for diagnostics and analysis
- Context-aware project detection
📝 Breaking Changes
- Minimum Node.js version: 18.0.0 (unchanged)
- New positioning: "Intelligent Terminal Copilot" instead of "Git Automation Tool"
🐛 Bug Fixes
- Enhanced error handling across all commands
- Fixed async operations in
cleancommand to prevent terminal freeze - Improved validation in
envcommand with better error messages - Added try/catch global wrapper in
versioncommand
📚 Documentation
- Updated README with new v3.0.0 positioning
- Added detailed roadmap for v3.1.0 and v3.2.0
- Enhanced feature descriptions and framework support list
Git Automation & Security Tools
🚀 Features
- Git workflow automation:
git add+ AI commit +git push - AI-powered commits with Gemini 2.5 Flash (Conventional Commits)
- Security scanning and vulnerability detection
- Secret audit pre-commit (API keys, tokens, passwords)
- Environment file generator (
.env.example) - Disk cleanup (node_modules, build caches)
- Branch synchronization and cleanup
- Laravel ecosystem tools (CRUD generation, cache optimization)
- System utilities (kill-node, size, sql-dump, scripts, log-tail, pack, node-switch)
- Project bootstrap (Next.js, Laravel, Vue)
🛡️ Security
- BYOK architecture (Bring Your Own Key)
- Zero remote key storage
- Direct transfer to Google's secure API
- Core Architecture: Modular system with Detectors, Services, Logger
- Environment Doctor: Complete diagnostics (Git, Node, Docker, DB, Framework)
- Project Analysis: Architecture scoring, stack analysis, security audit
- Dependency Manager: Unused detection, vulnerabilities, auto-fix
- AI Error Explainer: Gemini-powered error analysis with fallback
- Enhanced Error Handling: Centralized error types with solutions
- Auto-fix Command: ESLint, TypeScript, formatting fixes
- Docker Namespace: init, build, logs, clean, shell, doctor
- Project Init: Auto-detection + ESLint, Prettier, Husky, lint-staged
- Migration Manager: Prisma, Laravel, Knex, Drizzle support
- Cache Manager: npm, pnpm, yarn, composer, docker, vite, next
- Deploy Command: SSH, Docker, Railway, Render, Coolify, VPS
- Workflow Engine:
flash-dev flow release(test → audit → commit → build → deploy) - Monitor: Real-time CPU, RAM, Docker, DB, ports monitoring
- Benchmark: Cold build, hot reload, install time, disk usage
- Workspace: Monorepo support (apps, packages, libs, services)
- Audit Command: Complete HTML/PDF report generation
Flash-dev automatise votre workflow Git en une seule commande : git add + commit propulsé par IA + git push. Plus besoin de quitter le terminal ni de toucher la souris.
Table des matières
| Fonctionnalité | Description |
|---|---|
| Automatisation Git | Une seule commande pour add, commit et push |
| Commits propulsés par IA | Utilise Gemini 2.5 Flash pour générer des messages Conventional Commits (optionnel) |
| Mode basique | Fonctionne sans IA, avec une génération de message simple |
| Scan de sécurité | Détecte les vulnérabilités dans votre code |
| Audit des secrets | Empêche les fuites accidentelles de secrets avant un commit |
| Générateur d'environnement | Crée des fichiers .env.example sécurisés |
| Nettoyage du disque | Libère de l'espace en nettoyant les caches et les anciens projets |
| Synchronisation de branche | Se synchronise automatiquement avec la branche principale |
| Nettoyage des branches | Supprime en toute sécurité les branches locales fusionnées |
| Sécurité maximale | Architecture BYOK (Bring Your Own Key) — aucun stockage de clé à distance |
| Validation utilisateur | Confirmation interactive avant chaque commit |
| Installation simplifiée | Disponible sur NPM via npm install -g flash-dev |
| Open Source | Code entièrement gratuit et transparent |
- Node.js — version LTS >= 18.0.0
- Git — installé et configuré
- Une clé API Google Gemini — gratuite, mais facultative ; flash-dev fonctionne aussi sans elle
Installation globale via NPM
npm install -g flash-devDéveloppement local
# Cloner le dépôt
git clone https://github.com/dominiqsoro/flash-dev.git
cd flash-dev
# Installer les dépendances
npm install
# Lier le package localement
npm linkFlash-dev utilise le modèle Gemini 2.5 Flash de Google pour générer des messages de commit intelligents. Pour obtenir une clé gratuite :
- Rendez-vous sur Google AI Studio
- Connectez-vous avec votre compte Google
- Cliquez sur "Create API Key"
- Copiez votre clé API
Important — Votre clé API est stockée uniquement en local sur votre machine. Elle n'est jamais envoyée à nos serveurs.
| Commande | Description |
|---|---|
flash-dev push |
Indexe, commit (via IA ou en mode basique) et pousse vos changements |
flash-dev scan |
Analyse le projet à la recherche de vulnérabilités de sécurité |
flash-dev env |
Génère un .env.example assaini à partir de votre .env local |
flash-dev secure |
Audite les changements indexés à la recherche de secrets avant un commit |
flash-dev clean |
Nettoie les caches de développement et les anciens répertoires de projets |
flash-dev sync |
Synchronise votre branche de travail avec main |
flash-dev nuke |
Supprime les branches locales fusionnées |
flash-dev status |
Affiche le statut du système et la version |
Automatise l'intégralité du workflow Git :
flash-dev push- Vérification — vérifie que le dossier est un dépôt Git valide
- Indexation — exécute
git add .pour indexer tous les fichiers - Capture — capture les changements via
git diff --cached - Génération — envoie le diff à Gemini pour générer un message Conventional Commits (si une clé API est configurée)
- Validation — affiche le message généré et demande une confirmation
- Commit — exécute
git commitavec le message validé - Push — détecte automatiquement la branche et exécute
git push
flash-dev scanDétecte :
- Les clés API exposées dans le code
- Les URLs codées en dur
- Les instructions de débogage (
console.log,debugger) - Les schémas d'injection SQL
- Les usages dangereux d'eval/exec
- Les dépendances avec des vulnérabilités connues
flash-dev env- Lit votre fichier
.envlocal - Filtre les variables de configuration structurelles
- Assainit les valeurs sensibles (clés API, mots de passe, tokens)
- Génère un
.env.examplepropre pour votre équipe
flash-dev secureDétecte :
- Les clés privées SSH
- Les clés d'accès/secrètes AWS
- Les clés API Stripe
- Les clés API Google
- Les tokens GitHub
- Les tokens JWT
- Les mots de passe de base de données
- Les clés API/secrètes génériques
flash-dev cleanNettoie :
- Les répertoires
node_modules - Les caches de build (
.next,.nuxt,dist,build) - Les caches des gestionnaires de paquets
- Les anciens projets (non modifiés depuis 3 mois)
flash-dev sync- Met de côté (stash) vos changements locaux
- Bascule sur la branche main et récupère les derniers changements
- Revient sur votre branche de travail
- Rebase votre branche sur main
- Restaure vos changements locaux
flash-dev nuke- Liste toutes les branches locales fusionnées
- Exclut les branches protégées (
main,master,dev,develop) - Supprime les branches obsolètes en toute sécurité
- Libère votre historique Git local
flash-dev statusAffiche le statut du système et la version.
flash-dev --helpL'IA génère des messages qui suivent la convention Conventional Commits :
feat(ui): add navbar componentfix(auth): resolve login timeout issuedocs(readme): update installation guiderefactor(api): simplify user endpointtest(utils): add unit tests for parser
Mode basique (sans IA) :
feat(core): add 2 filesfix(general): update 1 filedocs(docs): add 1 file
Architecture de sécurité
- Aucun stockage à distance — les clés API ne sont jamais stockées sur nos serveurs
- Transfert direct — les données circulent directement de votre machine vers l'API sécurisée de Google
- Permissions locales — le fichier de configuration est restreint aux permissions de votre utilisateur système
- Filtrage automatique — les fichiers binaires et volumineux sont automatiquement exclus du diff envoyé à l'IA
Gestion de la clé API
Ordre de priorité des sources :
- Variable d'environnement
GEMINI_API_KEY - Fichier de configuration local (
~/.flash-dev/config.json)
Si aucune clé n'est détectée au premier lancement, flash-dev vous invite à en configurer une ou à continuer en mode basique.
Pour configurer la clé via une variable d'environnement :
# Linux/Mac
export GEMINI_API_KEY="votre_cle_ici"
# Windows (PowerShell)
$env:GEMINI_API_KEY="votre_cle_ici"
# Windows (CMD)
set GEMINI_API_KEY=votre_cle_iciLimite de tokens — le diff envoyé à l'IA est automatiquement tronqué à 4 000 caractères pour éviter de dépasser les limites de l'API.
Fichiers automatiquement exclus :
- Les fichiers binaires
package-lock.jsonyarn.lock- Les fichiers
.min.jset.min.css
Flash-dev est un projet open-source, les contributions sont les bienvenues :
- Forkez le projet
- Créez une branche pour votre fonctionnalité (
git checkout -b feature/AmazingFeature) - Committez vos changements (
flash-dev push) - Poussez vers la branche (
git push origin feature/AmazingFeature) - Ouvrez une Pull Request sur dominiqsoro/flash-dev
Ce projet est distribué sous licence GNU General Public License v3.0 — voir le fichier LICENSE pour plus de détails.
Flash-dev est 100 % gratuit, grâce au modèle BYOK. Si l'outil vous fait gagner du temps, vous pouvez :
- Star le dépôt sur GitHub : dominiqsoro/flash-dev
- Offrir un café sur Ko-fi : dominiqsoro
- Soutenir sur Buy Me a Coffee : dominiqsoro
- Signaler des bugs ou proposer des fonctionnalités
Flash-dev est gratuit et open source.
Pour financer le développement, Flash-dev peut occasionnellement afficher un court message de soutien ou sponsorisé après une commande réussie (push, scan).
- Pas de télémétrie
- Pas de tracking
- Pas de requête réseau pour les pubs
- Aucune donnée projet collectée
- Ne bloque jamais une commande
- Opt-out disponible
flash-dev config monetization off
flash-dev config monetization on
flash-dev config monetization ads off
flash-dev config monetization support offCode source : src/utils/monetization.js
- Issues — GitHub Issues
- Documentation — README.md
- Développeur — dominiqsoro
- Mode basique sans IA
- Scan de sécurité intégré
- Commande
flash-dev cleanpour le nettoyage des branches locales - Commande
flash-dev deploypour l'automatisation du déploiement - Support multi-modèles IA (OpenAI, Anthropic, etc.)
- Configuration de prompt personnalisable
- Mode interactif avancé avec sélection de fichiers
Developed with passion for developers, by developers Développé avec passion pour les développeurs, par des développeurs