1.9 KiB
1.9 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
GIMS (Git Made Simple) is an AI-powered Git CLI tool that automatically generates meaningful commit messages from code changes. It's a Node.js package published to npm that integrates with OpenAI GPT-4 and Google Gemini APIs.
Architecture
- Single-file CLI: All functionality is contained in
bin/gims.js - AI Integration: Supports both OpenAI and Google Gemini APIs with intelligent fallback strategies
- Git Wrapper: Built on top of
simple-gitlibrary for Git operations - Token Management: Implements sophisticated content chunking to handle large diffs within AI token limits
Key Components
- Command System: Uses
commander.jsfor CLI argument parsing with aliases (e.g.,g oforgims online) - AI Message Generation: Multi-strategy approach that falls back from full diff → summary → status → truncated content
- Commit Resolution: Supports both commit hashes and numbered indices for referencing commits
- Safe Operations: Includes error handling for empty repositories and edge cases
Environment Setup
Required environment variables (at least one):
OPENAI_API_KEY- For OpenAI GPT-4o-mini integrationGEMINI_API_KEY- For Google Gemini 2.0 Flash integration
Common Commands
- Install globally:
npm install -g . - Test locally:
node bin/gims.js --help - Test specific command:
node bin/gims.js suggest - Run with alias:
g o(after global install)
Development Notes
- No test framework is currently configured (package.json shows placeholder test script)
- Node.js version requirement: >=20.0.0
- Uses CommonJS modules (
require/module.exports) - Dependencies are minimal and focused on core functionality
- Token estimation uses 4 characters per token approximation
- Maximum context limit set conservatively at 100,000 tokens