npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, πŸ‘‹, I’m Ryan HefnerΒ  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you πŸ™

Β© 2025 – Pkg Stats / Ryan Hefner

@dougcostadev/auto-commit

v1.0.4

Published

πŸš€ Universal Git Commit Automation - Intelligent batch commits with file type detection

Readme

πŸš€ Auto Commit (DAC)

Universal Git Commit Automation CLI Tool

npm version License: MIT Node.js

Intelligent batch commit system that automatically categorizes files by type, size, and importance for optimal Git performance.

πŸš€ Quick Start

Installation

# 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

Usage

# 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 config

πŸ“– Commands

dac init

Initialize DAC in your repository with interactive setup.

dac init                    # Interactive setup
dac init --force           # Force reinitialize
dac init --config <path>   # Custom config location

dac run

Execute 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 analysis

dac config

Manage 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 defaults

dac stats

View repository and processing statistics.

dac stats                  # Basic statistics
dac stats --detailed       # Detailed analysis
dac stats --history        # Processing history

🎯 Features

🧠 Intelligent File Classification

  • 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

πŸ“Š Interactive CLI Interface

  • 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

βš™οΈ Adaptive Configuration

  • 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.)

πŸ› οΈ Configuration

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

🎨 Interface Preview

β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•β•β•
β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘     
β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘     
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
β•šβ•β•β•β•β•β•  β•šβ•β•  β•šβ•β•  β•šβ•β•β•β•β•β•

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  πŸš€ 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

πŸ”§ Development

Local Development

# 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 --help

Testing

npm test              # Run tests
npm run lint          # Check code style
npm run format        # Format code

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Support


Made with ❀️ by Douglas Costa

⭐ Star this repository if it helps you! ⭐