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

resulgit

v1.0.18

Published

A powerful CLI tool for version control system operations - clone, commit, push, pull, merge, branch management, and more

Readme

resulgit

A powerful command-line interface (CLI) tool for version control system operations.

Installation

npm install -g resulgit

Or install locally:

npm install resulgit

Usage

resulgit <command> [options]

Commands

Authentication

  • resulgit auth set-token --token <token> - Set authentication token
  • resulgit auth set-server --server <url> - Set server URL
  • resulgit auth login --email <email> --password <password> - Login to server
  • resulgit auth register --username <name> --email <email> --password <password> - Register new account

Repository Management

  • resulgit repo list - List all repositories
  • resulgit repo create --name <name> [--description <text>] [--visibility <private|public>] - Create new repository
  • resulgit repo log --repo <id> [--branch <name>] - View commit log
  • resulgit repo head --repo <id> [--branch <name>] - Get HEAD commit
  • resulgit repo select - Interactive repository selection

Clone & Initialize

  • resulgit init <name> - Initialize a new repository (creates folder and remote repo automatically)
  • resulgit init <name> --dir <path> - Initialize in a specific directory
  • resulgit clone <name> - Clone a repository by name
  • resulgit clone --repo <name> --branch <branch> - Clone with specific branch
  • resulgit workspace set-root --path <dir> - Set workspace root directory

Branch Operations

  • resulgit branch list - List all branches
  • resulgit branch create <name> - Create new branch (simple)
  • resulgit branch create <name> --base <branch> - Create from specific base
  • resulgit branch delete <name> - Delete a branch
  • resulgit switch <branch> - Switch to a branch
  • resulgit switch -c <branch> - Create and switch to new branch
  • resulgit checkout <branch> - Checkout a branch
  • resulgit merge <branch> - Merge a branch into current

File Operations

  • resulgit status - Show working directory status
  • resulgit diff [--path <file>] [--commit <id>] - Show differences
  • resulgit add <file> [--content <text>] [--all] - Add files
  • resulgit rm --path <file> - Remove files
  • resulgit mv --from <old> --to <new> - Move/rename files
  • resulgit restore --path <file> [--source <commit>] - Restore file from commit

Version Control

  • resulgit commit --message <text> - Create a commit
  • resulgit commit -m <text> - Short form (same as above)
  • resulgit commit -a -m <text> - Add all changes and commit
  • resulgit push - Push changes to remote
  • resulgit pull - Pull changes from remote
  • resulgit merge --branch <name> [--squash] [--no-push] - Merge branches
  • resulgit cherry-pick --commit <id> [--branch <name>] [--no-push] - Cherry-pick a commit
  • resulgit revert --commit <id> [--no-push] - Revert a commit
  • resulgit reset [--commit <id>] [--mode <soft|mixed|hard>] - Reset to commit

Stash Operations

  • resulgit stash or resulgit stash save [--message <msg>] - Save changes to stash
  • resulgit stash list - List all stashes
  • resulgit stash pop [--index <n>] - Apply and remove stash
  • resulgit stash apply [--index <n>] - Apply stash without removing
  • resulgit stash drop [--index <n>] - Delete a stash
  • resulgit stash clear - Clear all stashes

Tags

  • resulgit tag list - List all tags
  • resulgit tag create --name <tag> [--branch <name>] - Create a tag
  • resulgit tag delete --name <tag> - Delete a tag

Pull Requests

  • resulgit pr list - List pull requests
  • resulgit pr create --title <title> [--source <branch>] [--target <branch>] - Create pull request
  • resulgit pr merge --id <id> - Merge a pull request

Information & Inspection

  • resulgit current - Show current repository and branch
  • resulgit head - Show HEAD commit ID
  • resulgit show --commit <id> - Show commit details
  • resulgit log [--branch <name>] [--max <N>] [--oneline] [--stats] - Show commit history with visualization
  • resulgit blame --path <file> - Show line-by-line authorship information
  • resulgit grep --pattern <pattern> [--ignore-case] - Search for patterns in repository
  • resulgit ls-files - List all tracked files
  • resulgit reflog - Show reference log history
  • resulgit cat-file --type <type> --object <id> [--path <file>] - Display file/commit contents
  • resulgit rev-parse --rev <ref> - Parse revision names to commit IDs
  • resulgit describe [--commit <id>] - Describe a commit with nearest tag
  • resulgit shortlog [--branch <name>] [--max <N>] - Summarize commit log by author

Git Hooks

  • resulgit hook list - List installed hooks
  • resulgit hook install --name <hook> [--script <code>] [--sample] - Install a hook
  • resulgit hook remove --name <hook> - Remove a hook
  • resulgit hook show --name <hook> - Show hook content

Available hooks: pre-commit, post-commit, pre-push, post-push, pre-merge, post-merge, pre-checkout, post-checkout

Global Options

  • --server <url> - Override default server
  • --token <token> - Override stored token
  • --json - Output in JSON format
  • --dir <path> - Specify working directory

Examples

# Login to server
resulgit auth login --email [email protected] --password mypassword

# List repositories
resulgit repo list

# Initialize a new repository (creates folder + remote repo automatically)
resulgit init MyProject

# Or clone an existing repository
resulgit clone MyProject

# Check status
cd MyProject
resulgit status

# Create and commit changes
resulgit add file.txt --content "Hello World"
resulgit commit -m "Add file.txt"
resulgit push

# Create a branch
resulgit branch create --name feature-branch

# Merge branches
resulgit merge --branch feature-branch

# View commit history with graph
resulgit log --max 20

# View commit history in one line
resulgit log --oneline

# View commit statistics
resulgit log --stats

# Show line-by-line authorship
resulgit blame --path src/index.js

# Search in repository
resulgit grep --pattern "TODO"

# List tracked files
resulgit ls-files

# Install a pre-commit hook
resulgit hook install --name pre-commit --sample

Configuration

Configuration is stored in ~/.resulgit/config.json. You can set:

  • server: Default server URL
  • token: Authentication token
  • workspaceRoot: Default workspace directory

License

MIT