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 🙏

© 2026 – Pkg Stats / Ryan Hefner

shiply

v1.1.4

Published

Auto-commit task completions to Git with AI-generated messages, a live dashboard, and smart notifications.

Downloads

616

Readme

⚡ Shiply

npm version license node

Auto-commit your code changes to Git with AI-generated messages. Shiply watches your project, analyzes diffs, and commits with meaningful messages — all locally, no cloud required.

Features

  • AI Commit Messages — Multi-provider chain: Ollama → Groq → Gemini → Anthropic → template fallback
  • File Watcher — Debounced, batched auto-commits on every save
  • Agent Mode — Idle detection for AI coding tools (Copilot, Cursor, Cline, Aider)
  • Web Dashboard — Real-time stats, heatmap, commit feed, theme toggle
  • Squash & Undo — Combine auto-commits or soft-reset the last one
  • Notifications — Desktop, Slack, Discord, Telegram, daily digest
  • Branch Protection — Prevent auto-commits to critical branches
  • GPG Signing — Signed commits out of the box
  • Per-Project Config.autocommitrc.json or .env per repo

Quick Start

Install the CLI

npm install -g shiply

Start watching

# Auto-commit on file changes
shiply start

# AI agent mode — commit after 30s of silence
shiply agent

# Preview without committing
shiply start --dry-run

Start the dashboard

shiply server
# → http://localhost:3131

CLI Commands

| Command | Description | |---------|-------------| | shiply start | Watch and auto-commit file changes | | shiply agent | Idle-detection mode for AI coding tools | | shiply flush | Commit all pending changes now | | shiply squash | Squash last N auto-commits into one | | shiply pause / resume | Pause/resume auto-commits | | shiply diff | Pretty-print uncommitted changes | | shiply status | Show current config and repo info | | shiply log | Pretty-print recent commits | | shiply report | Activity report with streaks | | shiply undo | Soft-reset the last commit | | shiply init | Scaffold a task template | | shiply server | Start the web dashboard | | shiply config list | View all config values | | shiply config set KEY val | Update a config value |

Configuration

All config is optional. AI works out of the box with zero setup.

Priority: CLI flags → .autocommitrc.json.env → defaults

{
  "commitFormat": "conventional",
  "debounceMs": 3000,
  "batchWindowMs": 5000,
  "idleMs": 30000,
  "autoBranch": true,
  "onCommit": "npm test"
}

See .env.example for all available environment variables.

Requirements

  • Node.js 16+
  • Git initialized repo

Project Structure

shiply/
├── src/
│   ├── cli.js             # CLI entry point
│   ├── watcher.js         # File watcher with idle detection & hooks
│   ├── ai.js              # Multi-provider AI commit messages
│   ├── git.js             # Git operations (staging, GPG, auto-branch)
│   ├── server.js          # Express + WebSocket dashboard
│   ├── analyzer.js        # Diff analyzer (categories, extensions)
│   ├── config-loader.js   # Unified config loader
│   ├── notify.js          # Notification channels
│   ├── report.js          # Log, report, streak calculator
│   ├── init.js            # Template scaffolding
│   ├── auth.js            # Authentication
│   ├── db.js              # SQLite database
│   ├── mail.js            # Email notifications
│   ├── middleware/         # Express middleware (auth, RBAC, audit, errors)
│   └── routes/            # API routes
├── website/               # React dashboard & landing page
├── public/                # Built dashboard assets
├── migrations/            # SQL migrations
├── data/                  # Auto-created at runtime (git-ignored)
└── .env.example           # Config template

Documentation

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

Security

To report a vulnerability, please see SECURITY.md.

Never commit your .env file. The repository ships only .env.example with placeholder values.

License

AGPL-3.0-only

If you run a modified version of Shiply as a network service, you must make your modified source code available to users of that service.