gitnifty
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

GitNifty

A robust, promise-based Git utility for Node.js

npm version License GitHub stars Downloads Type Support Sponsor Follow @teneplays on X

GitNifty is a robust and promise-based Git utility for Node.js, offering developers smart, automation-ready commands for common Git operations. Ideal for building CLI tools, automation scripts, or custom Git workflows, GitNifty streamlines your Git interaction without complex shell scripting.

Elevate your Git game with tools that are as delightful as they are effective.

Built with TypeScript and powered by child_process.exec, GitNifty offers clean abstractions for Git commands while maintaining full control and flexibility.

Installation

yarn add gitnifty
# or
npm install gitnifty

Usage

GitNifty exposes a Git class that can be used to interact with a Git repository via common commands like user, currentBranch, checkWorkingDirClean, and more.

Basic Example

import { Git } from "gitnifty";

const git = new Git({ cwd: "/path/to/your/repo" });

const username = await git.getUserName(); // e.g., 'John Doe'
const branch = await git.getCurrentBranchName(); // e.g., 'main'
const isClean = await git.isWorkingDirClean(); // true or false

Async Usage

async function main() {
  const git = new Git();
  const userName = await git.getUserName();
  console.log("Git User:", userName);
}

main();

Features

  • Smart Commands - Get common Git info without writing raw shell logic.
  • Promise-based - Easy async integration with modern toolchains.
  • Error-resilient - Graceful handling for missing remotes or configs.
  • Automation-ready - Perfect for CLI tools, devops, and build scripts.
  • Zero dependencies - Lightweight and focused.
  • TypeScript Support - Fully typed API for better DX.

API

You can view the complete API reference here.

Requirements

  • Node.js v18+
  • Git installed and available in PATH
  • TypeScript (optional but supported)

FAQ

Does it work outside of Git repositories? Some commands require a valid Git repository (.git folder). Others like git config may still work.
Can I use this in a CLI tool? Yes! GitNifty is designed for CLI automation. You can use it in commander, yargs, or any script-based tool.
Does it support Git hooks or events? Coming soon! GitNifty will support basic hook helpers and lifecycle execution.

License

Released under the Apache License

Package Sidebar

Install

npm i gitnifty

Weekly Downloads

10

Version

1.1.0

License

Apache-2.0

Unpacked Size

67 kB

Total Files

5

Last publish

Collaborators

  • tenedev