simple-git

A lightweight, promise-based interface for running git commands from Node.js

Library
npm
v4.0.2
3,856 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
76 /100 Good
Development Activity 64
Maintenance 76
Community 64
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
77 /100 Good
Architecture 80
Code Quality 82
Innovation 65
Learning Curve 80

simple-git is a Node.js library that wraps the system git CLI binary behind a typed, chainable, promise-based API, letting applications clone repos, inspect status/logs/diffs, and run arbitrary git commands programmatically without shelling out manually or parsing raw CLI output themselves.

It has no native bindings — every operation ultimately spawns the real git executable as a child process and parses its output — which keeps it lightweight and always compatible with whatever git version is installed, at the cost of requiring git itself to be present on the host.

What You Get

  • A chainable, promise-based API covering the full common git command surface (clone, add, commit, push, pull, log, diff, status, branch, tag, and more)
  • Structured, typed response objects for commands like status() and log() instead of raw stdout strings
  • A plugin system for customizing behavior like timeouts, progress reporting, and command-error handling
  • Both callback and promise/async APIs for compatibility with older and modern Node.js codebases
  • TypeScript typings shipped in the package for full editor autocompletion

Common Use Cases

  • Automating repository setup in CLI scaffolding tools (clone a template, initialize a repo, make an initial commit)
  • Building CI/CD or release-automation scripts that need to tag, push, or inspect commit history programmatically
  • Powering a backend service that manages many git repositories (e.g. a Git-hosting or deployment platform)
  • Reading commit/diff/status information to build dashboards, changelogs, or code-review tooling

Under The Hood

Architecture — The repo is a Yarn-workspaces monorepo with the main simple-git package plus small internal helper packages (@simple-git/args-pathspec, @simple-git/argv-parser) under packages/. Inside simple-git/src, git-factory.ts constructs the root SimpleGit instance, lib/simple-git-api.ts and lib/api.ts define the fluent/chainable method surface, lib/runners handles actually spawning the git child process and streaming its stdout/stderr, lib/tasks implement each individual git subcommand (clone, log, diff, etc.) as isolated task modules, and lib/parsers turn raw CLI output into the library’s structured response objects (lib/responses). Tech Stack — TypeScript compiled via esbuild with esbuild-node-externals, tested with Jest (93+ spec files) and Babel for transform config, linted/formatted with Biome, and versioned/released via Changesets; runtime dependencies are minimal (@kwsites/file-exists, @kwsites/promise-deferred, debug) with the real git binary as the only true external dependency. Code Quality — The task-per-file structure (lib/tasks/) keeps each git subcommand’s argument-building and output-parsing logic isolated and independently testable, and the extensive spec suite covers parser edge cases for commands like log, status, and diff whose CLI output formats vary by git version and locale. API Design — The chainable method-call style (git.add('.').commit('message').push()) combined with both promise and legacy-callback support gives the library a low barrier to entry for simple scripts while still exposing raw/typed access to full command output for more advanced automation, and the plugin system lets consumers hook timeouts or progress events without forking the library.

Used by 24 apps in this directory

TypeScript
89%
Other

strapi

CMS

73,368

Open-source headless CMS that auto-generates REST and GraphQL APIs from your content models, with a fully customizable admin panel you control.

View details
93
Repo Health
84
Technical
63
Dependency
Built with
TypeScript 89%
JavaScript 11%
Updated yesterday
TypeScript
72%
Apache 2.0

Supabase

Authentication · Databases · Developer Tools

113,827

The open-source Postgres development platform that replaces Firebase with authentication, real-time APIs, edge functions, storage, and vector embeddings — all built on PostgreSQL.

View details
90
Repo Health
91
Technical
62
Dependency
Built with
TypeScript 72%
MDX 26%
Updated today
TypeScript
85%
Apache 2.0

superset

AI Code Assistants · AI Development

15,503

Orchestrate an army of AI coding agents—Claude Code, Codex, Gemini CLI, and more—running simultaneously in isolated git worktrees from a single Electron desktop app.

View details
86
Repo Health
80
Technical
64
Dependency
Built with
TypeScript 85%
Updated today
HTML
68%
AGPL 3.0

ToolJet

AI Agents · Low Code Platforms · No Code Platforms

41,123

Open-source AI-native platform to build and deploy internal tools, workflows, and AI agents with a visual drag-and-drop builder and 80+ data source integrations.

View details
94
Repo Health
81
Technical
63
Dependency
Built with
HTML 68%
JavaScript 20%
Updated today
TypeScript
41%
AGPL 3.0

Wiki.js

Collaboration · Knowledge Management

29,081

A modern, self-hosted wiki platform built on Node.js with a rich plugin ecosystem for authentication, search, storage, and rendering that adapts to any team's infrastructure.

View details
95
Repo Health
67
Technical
60
Dependency
Built with
TypeScript 41%
Vue 39%
JavaScript 16%
Updated today
TypeScript
96%
GPL 3.0

Wire

Collaboration · Team Chat · Video Conferencing

1,192

Open source end-to-end encrypted messaging for teams and enterprises — self-host for complete control over your communications and data.

View details
93
Repo Health
8
Technical
68
Dependency
Built with
TypeScript 96%
Updated yesterday

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers