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

@praisetechzw/gitpilot

v1.0.0

Published

Automate your entire Git workflow: smart commit messages, auto-commit on save, auto-push, and a full CLI.

Downloads

19

Readme

GitPilot

GitHub · npm profile

GitPilot automates Git inside VS Code with smart commit messages, auto-commit on save, auto-push, a sidebar workflow, and a CLI for terminal use.


Features

| Feature | Description | |---|---| | Smart commit messages | Analyzes your diff and generates conventional, emoji, or plain messages automatically | | Auto-commit on save | Watches for file changes and commits after a configurable period of inactivity | | Auto-push | Optionally push to remote after every commit | | Sidebar panel | Real-time view of changes, branch, recent commits, and ahead/behind status | | Diff preview | See exactly which files changed and how many lines before committing | | CLI tool | Full gitpilot CLI for terminal power users | | Undo last commit | One-click soft reset | | Keyboard shortcuts | Ctrl+Alt+C to commit, Ctrl+Alt+P to commit and push |


Install

From VS Code

  1. Open VS Code
  2. Go to Extensions (Ctrl+Shift+X)
  3. Search for GitPilot
  4. Click Install

From a VSIX file

If you build the extension locally, install the generated .vsix file with:

code --install-extension gitpilot-1.0.0.vsix

From source

git clone <this-repo>
cd gitpilot
npm install
npm run package
# Press F5 in VS Code to launch the Extension Development Host

CLI

cd gitpilot
npm link

npm package

npm install -g @praisetechzw/gitpilot

To publish a new version after bumping version in package.json:

npm run publish

GitHub Packages

This repository can also publish to GitHub Packages using the workflow in .github/workflows/github-packages.yml.

Trigger it with a tag:

git tag pkg-v1.0.0
git push origin pkg-v1.0.0

Install from GitHub Packages:

npm install -g @praisetechzw/gitpilot --registry=https://npm.pkg.github.com

What you need

  • VS Code 1.74 or newer
  • Git installed and available on your PATH
  • A folder opened in VS Code that is already a git repository

Usage

VS Code panel

Click the GitPilot icon in the Activity Bar (left sidebar) to open the panel.

The panel shows:

  • Branch and sync status (ahead/behind remote)
  • Auto-commit / auto-push toggles — flip them on without leaving the editor
  • Countdown timer — shows how long until the next auto-commit
  • Changed files — colour-coded (A = added, M = modified, D = deleted, R = renamed)
  • Commit message — pre-filled from your diff, fully editable
  • Recent commits — click any to copy the hash

CLI commands

Supported commands:

gitpilot commit [-y] [-m "message"] [-s conventional|simple|emoji]
gitpilot push [-s conventional|simple|emoji]
gitpilot status
gitpilot log [n]
gitpilot undo

Settings

Open Settings > Extensions > GitPilot or add to your settings.json:

{
  "gitpilot.autoCommit": false,
  "gitpilot.autoPush": false,
  "gitpilot.debounceSeconds": 30,
  "gitpilot.commitStyle": "conventional",
  "gitpilot.excludePatterns": ["*.log", "node_modules/**", ".env"]
}

| Setting | Default | Description | |---|---|---| | autoCommit | false | Commit automatically after inactivity | | autoPush | false | Push after every commit | | debounceSeconds | 30 | Seconds of inactivity before auto-commit | | commitStyle | conventional | conventional, simple, or emoji | | excludePatterns | [...] | Files to ignore |


Commit Message Styles

GitPilot generates commit messages by analyzing your diff:

| Style | Example | |---|---| | conventional | feat(auth): add login form | | emoji | ✨ [auth] add login form | | simple | Add login form |

It detects the commit type automatically:

| Type | Triggered by | |---|---| | feat | New files, large additions | | fix | Keywords like "fix", "bug", "error" in diff | | docs | .md, .rst, /docs/ paths | | style | .css, .scss, .sass files | | test | .spec.js, .test.ts, /__tests__/ | | refactor | Renames, restructures, more deletions than additions | | chore | Config files, lockfiles, .env | | build | Dockerfile, /scripts/, /build/ | | ci | .github/, .gitlab/, ci/ paths |


Keyboard Shortcuts

| Shortcut | Action | |---|---| | Ctrl+Alt+C / Cmd+Alt+C | Smart commit | | Ctrl+Alt+P / Cmd+Alt+P | Commit and push |


Project Structure

gitpilot/
├── package.json           # Extension manifest + dependencies
├── LICENSE
├── README.md
├── src/
│   ├── extension.js       # Main VS Code extension entry point
│   ├── git/
│   │   ├── gitOps.js      # Git operations (status, diff, commit, push...)
│   │   └── commitMessage.js # Smart commit message generation
│   └── ui/
│       └── panel.html     # Sidebar UI (self-contained HTML/CSS/JS)
├── cli/
│   └── gitpilot.js        # Standalone CLI tool
├── gitpilot_architecture.svg
└── package-lock.json

Contributing

PRs are welcome. Good next steps include AI-assisted commit messages, per-branch configuration, commit templates, and GitHub or GitLab PR creation.


CI/CD

GitHub Actions are set up for two paths:

  1. CI runs on push and pull requests to validate the code with install, lint, and package checks.
  2. Release workflow runs when you push a tag like v1.0.1 and produces a VSIX artifact and GitHub Release.

Release commands:

git tag v1.0.1
git push origin v1.0.1

If you add a VSCE_PAT secret in GitHub Actions, the release workflow can also publish to the Visual Studio Marketplace.


License

MIT