Skip to content

A promise based, TypeScript-built Git utility for Node.js. Simplify Git operations with smart, automation ready commands for CLI tools and custom workflows. Clever Git, Made Simple.

License

Notifications You must be signed in to change notification settings

teneplaysofficial/gitnifty

Repository files navigation

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

About

A promise based, TypeScript-built Git utility for Node.js. Simplify Git operations with smart, automation ready commands for CLI tools and custom workflows. Clever Git, Made Simple.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published