npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

gissy

v1.2.1

Published

An intelligent CLI assistant to automate your Git workflow with AI-powered commits, file watching, and multi-provider support (OpenAI, Gemini, Addis AI).

Readme

Gissy

If you find this project useful, please consider giving it a ⭐! Your support helps the project grow and reach more developers.

GitHub stars


gissy is an intelligent, open-source command-line tool that automates your most repetitive Git tasks. From providing an enhanced git status to watching your files, running quality checks, and generating insightful, AI-powered commit messages, gissy acts as your personal Git assistant so you can focus on coding.

   Your personal Git assistant

✨ Key Features

  • Open Source: Free to use, licensed under MIT, and open to community contributions.
  • Intelligent File Watcher: Automatically detects file changes in your repository
  • Automated Workflow: Runs your tests and linter, then stages, commits, and pushes your changes seamlessly
  • SSH Key Setup: Automatic SSH key generation and GitHub configuration for seamless authentication
  • AI-Powered Commits: Leverages multiple AI providers (OpenAI, Gemini, Addis AI) to generate meaningful and conventional commit messages from your code diffs
  • Multi-AI Provider Support: Choose from OpenAI, Google Gemini, or Addis AI for local language support
  • Highly Configurable: Customize every part of the workflow using a simple .gissyrc.json file in your project
  • Zero-Config Ready: Works out of the box with sensible defaults for most projects
  • Cross-Platform: Works on Windows, macOS, and Linux
  • Enhanced Git Commands: Clean, colorful, and informative outputs for status, info, and branch commands
  • TypeScript Ready: Built with modern JavaScript (ES modules) for better performance

🛠️ Installation

Global Installation (Recommended)

npm install -g gissy

Using npx (No Installation Required)

# Run gissy without installing
npx gissy status
npx gissy watch
npx gissy info
npx gissy ssh

⚙️ Configuration

Basic Configuration

Create a .gissyrc.json file in your project root:

{
  "branch": "main",
  "runTests": true,
  "runLint": true,
  "useAI": false,
  "autoCommit": false,
  "autoPush": false,
  "testCommand": "npm test",
  "lintCommand": "npm run lint",
  "watchIgnore": [
    "*.tmp",
    "build/**",
    "dist/**",
    "node_modules/**",
    ".git/**",
    "*.log"
  ]
}

AI Provider Configuration

Gissy supports multiple AI providers for generating intelligent commit messages. Configure your preferred provider using environment variables:

Environment Variables

Create a .env file in your project root:

# OpenAI (default priority)
OPENAI_API_KEY=your_openai_api_key_here

# Google Gemini
GEMINI_API_KEY=your_gemini_api_key_here

# Addis AI (local languages support)
ADDIS_AI_API_KEY=your_addis_ai_api_key_here

Provider Priority

The system automatically detects which AI provider to use based on available API keys in this priority order:

  1. OpenAI (if OPENAI_API_KEY is set)
  2. Google Gemini (if GEMINI_API_KEY is set)
  3. Addis AI (if ADDIS_AI_API_KEY is set)

AI Provider Features

| Provider | Model | Languages | Special Features | |----------|--------|-----------|------------------| | OpenAI | GPT-3.5-turbo | English | Conventional commit format | | Gemini | gemini-pro | Multiple | Advanced AI generation | | Addis AI | addis-ai | Afaan Oromo, Amharic | Local language support |

Multi-AI Provider Support Guide

Overview

Gissy supports multiple AI providers for generating intelligent commit messages, including OpenAI, Gemini, and Addis AI.

Supported Providers

  1. OpenAI - Standard GPT models for general commit messages
  2. Gemini - Google's Gemini models for advanced AI generation
  3. Addis AI - Local language support for Afaan Oromo and Amharic

Configuration Examples

.env file
# For OpenAI
OPENAI_API_KEY=sk-1234567890abcdef

# For Gemini
GEMINI_API_KEY=your-gemini-key-here

# For Addis AI (local languages)
ADDIS_AI_API_KEY=your-addis-ai-key-here

Features

  • Multi-language support: Addis AI supports Afaan Oromo and Amharic
  • Automatic fallback: Falls back to simple commit messages if no AI keys are available
  • Zero-config ready: Works without any API keys
  • Cross-platform: Works on Windows, macOS, and Linux

Migration Guide

From Single OpenAI to Multi-Provider
  1. Add new environment variables as needed
  2. No code changes required
  3. System automatically detects available providers
Backward Compatibility
  • Existing OPENAI_API_KEY continues to work
  • No breaking changes to existing configurations
  • Fallback to simple commit messages when no keys are available

Configuration Options

| Option | Type | Default | Description | |--------|------|---------|-------------| | branch | string | "main" | Target branch for pushes | | runTests | boolean | true | Run tests before committing | | runLint | boolean | true | Run linting before committing | | useAI | boolean | false | Use AI for commit messages | | autoCommit | boolean | false | Skip confirmation for commits | | autoPush | boolean | false | Skip confirmation for pushes | | testCommand | string | "npm test" | Command to run tests | | lintCommand | string | "npm run lint" | Command to run linting | | watchIgnore | array | [] | Additional patterns to ignore |

📖 Usage

Basic Commands

# Show enhanced git status with file changes
gissy status

# Show detailed repository information
gissy info

# List all branches with current indicator
gissy branch

# List remote branches
gissy branch --remote

# List all branches (local and remote)
gissy branch --all

# Start intelligent file watcher
gissy watch

# Show which AI provider is being used
gissy watch --verbose

# Generate and setup SSH key for GitHub
gissy ssh 

# Show help and all available commands
gissy --help

# Using npx (no installation required)
npx gissy status
npx gissy watch --use-ai
npx gissy info

File Watcher Workflow

The file watcher automatically:

  1. Monitors file changes in your repository
  2. Runs tests and linting (if enabled)
  3. Generates commit messages (AI or fallback)
  4. Stages, commits, and pushes changes
$ gissy watch
👀 gissy - Enhanced File Watcher Started

🚀 gissy — automate your GitHub workflows

📁 Watching current directory for changes...
⚙️  Configuration:
   Tests: ✅
   Linting: ✅
   AI Commits: ❌
   Auto Commit: ❌
   Auto Push: ❌
   Branch: main

📝 Modified: src/index.js
✅ All quality checks passed!
💭 AI commit message generated
🚀 Successfully committed and pushed changes!

Advanced Usage

# Verbose logging during watch
gissy watch --verbose

# Custom ignore patterns
gissy watch --ignore "*.tmp" "build/**"

# Combined options
gissy watch --verbose --ignore "*.log" "dist/**"

# Using npx with all options
npx gissy watch --verbose --use-ai --ignore "*.log"

🤝 Contributing

We welcome contributions! Please see our CONTRIBUTING.md file for detailed information on how to get started, development setup, and contribution guidelines.

📄 License

MIT License - see LICENSE file for details.

🙏 Acknowledgments

🚀 Roadmap

We have big plans for gissy! Here are some of the features we're looking to add in the future.

1. Advanced Configuration

  • [ ] Custom commit message templates
  • [ ] Multi-repository support
  • [ ] Custom Git hooks

2. Enhanced AI

  • [ ] Commit message validation
  • [ ] User preference learning

3. Platform Integration

  • [ ] Bitbucket pipeline support
  • [ ] Azure DevOps integration

4. User Experience

  • [ ] Color themes
  • [ ] Progress bars for long-running tasks
  • [ ] Detailed logging options

✍️ Author

Exodus Tola