Universal Git Commit Automation CLI Tool
Intelligent batch commit system that automatically categorizes files by type, size, and importance for optimal Git performance.
Ever tried to run git add . on a massive, existing project for its first commit? It's slow, risky, and creates a single, unmanageable commit that's difficult to review or revert. DAC solves this problem.
It's specifically designed for the initial versioning of large-scale projects. By intelligently categorizing and batching your files, it transforms a daunting task into a series of small, fast, and organized commits. Get your big project onto Git efficiently and safely.
Note: This tool is for streamlining legitimate versioning, not for generating "fake" commits to inflate your contribution graph.
# Install globally via NPM
npm install -g @dougcostadev/auto-commit
# Or using Yarn
yarn global add @dougcostadev/auto-commit
# Or using pnpm
pnpm add -g @dougcostadev/auto-commit# Navigate to any Git repository
cd your-project
# Initialize DAC configuration
dac init
# Run intelligent batch commits
dac run
# View repository statistics
dac stats
# Configure settings
dac configInitialize DAC in your repository with interactive setup.
dac init # Interactive setup
dac init --force # Force reinitialize
dac init --config <path> # Custom config locationExecute intelligent batch commit automation.
dac run # Full automated processing
dac run --dry-run # Preview without executing
dac run --type source web # Process only specific types
dac run --batch-size 500 # Override batch sizes
dac run --skip-analysis # Skip repository analysisManage DAC configuration settings.
dac config --list # Show all settings
dac config --set key=value # Set configuration
dac config --get key # Get specific value
dac config --reset # Reset to defaultsView repository and processing statistics.
dac stats # Basic statistics
dac stats --detailed # Detailed analysis
dac stats --history # Processing history- 13 Categories: Binary, Media, Assets, Archives, Source, Web, Mobile, Database, Config, Docs, Data, System, Misc
- 200+ Extensions: Comprehensive coverage of all major file types
- Smart Detection: Advanced pattern matching and content analysis
- Beautiful UI: Colorful, gradient interface with ASCII art
- Progress Tracking: Real-time progress bars and file-by-file updates
- Interactive Menus: Easy navigation and configuration
- Error Handling: Graceful error recovery and user feedback
- Dynamic Batch Sizing: Automatically optimized based on file types and repository size
- Custom Settings: Configurable batch sizes, file type priorities, and processing rules
- GitHub Compliance: Respects 100MB file and ~1GB push limits
- Project Detection: Automatic detection of project type (Web, Mobile, Game, etc.)
DAC creates a .dac.json configuration file in your repository:
{
"version": "1.0.0",
"batchSizes": {
"binary": 50,
"media": 75,
"source": 800,
"web": 1200,
"docs": 2500
},
"excludePatterns": [
"node_modules/**",
".git/**",
"dist/**",
"build/**"
],
"commitMessage": {
"template": "{type} - Batch {batch}/{total} ({count} files)",
"useConventional": false
},
"processing": {
"parallel": true,
"maxConcurrency": 4,
"retryFailedPushes": true,
"skipLargeFiles": true
}
}βββββββββ ββββββ βββββββ
ββββββββ ββββββββ ββββββββ
βββ βββ ββββββββ βββ
βββ βββ ββββββββ βββ
ββββββββ βββ βββ ββββββββ
βββββββ βββ βββ βββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π Auto Commit v1.0.0 β
β Universal Git Commit Automation β
β https://github.com/dougcostadev/auto-commit β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π Repository Analysis:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π web β 4,521 files β 30% β 4 batches β
β π» source β 3,245 files β 21% β 3 batches β
β π docs β 2,890 files β 19% β 2 batches β
β π¨ media β 1,876 files β 12% β 25 batches β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π― Repository Type: Web Development Project
β‘ Processing Strategy: Optimized for frontend files
# Clone the repository
git clone https://github.com/dougcostadev/auto-commit.git
cd auto-commit
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run locally
npm run dev
# Test the CLI
npm link
dac --helpnpm test # Run tests
npm run lint # Check code style
npm run format # Format code- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
Made with β€οΈ by Douglas Costa
β Star this repository if it helps you! β