desktop / dugite

Elegant bindings for working with Git in your Node applications
MIT License
462 stars 149 forks source link
dugite-native git nodejs

Dugite - JS bindings for Git

This project provides bindings for Node applications to interact with Git repositories, using the same command line interface that core Git offers. Development is primarily driven by Git-related projects at GitHub such as GitHub Desktop.

The source is in TypeScript, but can be consumed by any JavaScript application.

Getting Started

Add it to your project:

> npm install dugite

or

> yarn add dugite

Then reference it in your application:

import { GitProcess, GitError, IGitResult } from 'dugite'

const pathToRepository = 'C:/path/to/git/repository/'

const result = await GitProcess.exec(['status'], pathToRepository)
if (result.exitCode === 0) {
  const output = result.stdout
  // do some things with the output
} else {
  const error = result.stderr
  // error handling
}

Features

Supported Platforms

Status

This project is under active development for Git-related projects at GitHub. This will stabilize as this library gets more usage in production, and is open to external contributions that align with the project's goals.

If you are interested in getting involved with this project, refer to the CONTRIBUTING.md file for instructions and the documentation sections for more information about the project.

Roadmap

As this is under active development, the roadmap is also subject to change. Some ideas: