Sign In

@bunsdev/cvnty

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bunsdev/cvnty

A modern and sleek CLI git management tool

Source
npmnpm
Version
1.0.0
Version published
Weekly downloads
12
33.33%
Maintainers
1
Weekly downloads
 
Created
Source

git-cvnty

A modern, sleek CLI git management tool — a complete reimagining of GitGud built with Ink 4 (React 18 + ESM), a built-in Changelog Viewer inspired by changelog-view, and a polished cyan/magenta terminal aesthetic.

█▀▀ █ ▀█▀ ▄▄ █▀▀ █ █ █▄ █ ▀█▀
 █▄█ █  █     █▄▄ ▀▄▀ █ ▀█  █

  ⎇  Branch: main

Features

  • Status Panels — color-coded unstaged / staged file changes ( modified · added · deleted · » renamed)
  • Commit Graph — live git log --all --graph visualization
  • Stage Changes — toggle individual files or all at once
  • Commit — enter a commit message inline without quoting
  • Push / Pull — push or pull the current branch with one keypress
  • Checkout / Create Branch — switch to existing branch or create a new one
  • Delete Branch — force-delete a local branch with safety confirmation
  • Stash Manager — push (with optional message), pop, and drop stashes
  • 📋 Changelog Viewer — browse changelogs right in your terminal:
    • Local — reads CHANGELOG.md / HISTORY.md from your repo root, parses Keep-a-Changelog format into per-version sections
    • Remote — fetch changelogs for npm packages or GitHub repos (e.g. react, react@18.0.0, facebook/react)
    • Tabbed version sidebar (left) + scrollable markdown content (right)
    • Terminal markdown rendering: headings, bullets, code spans, separators
    • Loading spinner for network fetches
  • Keyboard-first navigation — Tab · ↑↓ · Enter · Esc · PageUp/PageDown
  • Configurable theme — edit src/theme.js to change colors, border style, logo visibility

Requirements

  • Node.js ≥ 18
  • Git ≥ 2.23 (for git restore --staged support)
  • npm ≥ 7

Installation

npm install --global git-cvnty

Or run without installing:

npx git-cvnty

Usage

Navigate to any directory that contains a .git folder and run:

git-cvnty

Options

FlagDescription
--no-logoHide the ASCII logo at startup

Navigation

KeyAction
/ Move between menu items
EnterSelect / confirm
EscGo back to main menu
Ctrl+CQuit

Changelog Viewer — additional keys

KeyAction
Tab or Shift+↑↓Switch between version entries
/ Scroll changelog content
PageUp / PageDownFast-scroll content

Changelog Viewer

The View Changelog action provides two modes:

1. Local CHANGELOG.md

Reads the first changelog file found in your git repo root:

CHANGELOG.md · HISTORY.md · CHANGES.md · ChangeLog.md · …

Parses any Keep a Changelog format:

## [1.2.0] - 2024-03-01
### Added
- New feature

## [1.1.0] - 2024-01-15
### Fixed
- Bug fix

2. Remote package / GitHub repo

Enter a query string in any of these formats:

react                        # auto-detects version from node_modules
react@18.0.0                 # shows changes since 18.0.0
facebook/react               # GitHub owner/repo
facebook/react@18.0.0        # GitHub repo + filter version

git-cvnty checks CHANGELOG.md, HISTORY.md, and GitHub Releases in order, then renders the changelog in your terminal with filtered versions.

Building from source

git clone https://github.com/BunsDev/git-cvnty
cd git-cvnty
npm install
npm run build   # compiles src/ → dist/ with esbuild
node dist/cli.js

To watch for changes during development:

npm run dev

Customization

Edit src/theme.js to change the look and feel:

const theme = {
  accent: 'cyan',        // border/heading color
  highlight: 'magenta',  // secondary accent
  staged: 'green',       // staged file indicator
  unstaged: 'yellow',    // unstaged file indicator
  border: 'round',       // 'single' | 'double' | 'round' | 'bold'
  showLogo: true,        // show/hide the ASCII header
};

Project Structure

git-cvnty/
├── cli.js                    # Entry point (ESM, JSX via esbuild)
├── build.js                  # esbuild bundler config
├── CHANGELOG.md              # This project's changelog
├── src/
│   ├── app.js                # Main app component + action router + horizontal action menu
│   ├── git.js                # All git operations (status, commit, push, …)
│   ├── changelog.js          # Changelog parsing + GitHub/npm fetching
│   ├── theme.js              # Centralized color/style config
│   └── components/
│       ├── Header.js         # Logo + current branch display
│       ├── StatusPanel.js    # Unstaged/staged file panels
│       ├── BranchPanel.js    # git log --graph visualization
│       ├── Footer.js         # Keyboard hint bar
│       ├── CommitDialog.js   # Commit message prompt
│       ├── CheckoutDialog.js # Branch checkout/create
│       ├── DeleteDialog.js   # Branch deletion
│       ├── StageDialog.js    # File staging toggle
│       ├── StashDialog.js    # Stash push/pop/drop
│       ├── PushPullStatus.js # Push/pull result banner
│       └── ChangelogDialog.js# Tabbed changelog viewer ← inspired by changelog-view
└── dist/
    └── cli.js                # Compiled output (auto-generated by npm run build)

Credits

  • Inspired by GitGud by GitGud-org
  • Changelog viewer interface inspired by changelog-view by Julien Deniau
  • Built with Ink by Vadim Demedes

License

MIT

Keywords

git

FAQs

Package last updated on 21 Jun 2026

Related posts