shiply
v1.1.4
Published
Auto-commit task completions to Git with AI-generated messages, a live dashboard, and smart notifications.
Downloads
616
Maintainers
Readme
⚡ Shiply
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.jsonor.envper repo
Quick Start
Install the CLI
npm install -g shiplyStart watching
# Auto-commit on file changes
shiply start
# AI agent mode — commit after 30s of silence
shiply agent
# Preview without committing
shiply start --dry-runStart the dashboard
shiply server
# → http://localhost:3131CLI 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 templateDocumentation
- User Guide — Full feature walkthrough
- Deployment Guide — Production setup with PM2, Docker, Nginx
- Contributing — Development setup and PR guidelines
- Security — Vulnerability reporting
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
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.
