gims 0.5.4 β†’ 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # πŸš€ GIMS - Git Made Simple
1
+ # πŸš€ GIMS - Git Made Simple (Enhanced)
2
2
 
3
3
  <div align="center">
4
4
 
@@ -9,7 +9,7 @@
9
9
 
10
10
  **The AI-powered Git CLI that writes your commit messages for you**
11
11
 
12
- *Because life's too short for "fix stuff" commits* 🎯
12
+ *Now with enhanced UX, smart insights, and interactive workflows* ✨
13
13
 
14
14
  </div>
15
15
 
@@ -17,7 +17,7 @@
17
17
 
18
18
  ## ✨ What is GIMS?
19
19
 
20
- GIMS is a revolutionary Git CLI tool that uses AI to automatically generate meaningful commit messages from your code changes. Say goodbye to generic "update code" commits and hello to descriptive, professional commit messages that actually tell a story.
20
+ GIMS is a revolutionary Git CLI tool that uses AI to automatically generate meaningful commit messages from your code changes. The enhanced version adds intelligent insights, interactive workflows, and a modular architecture for better performance and user experience.
21
21
 
22
22
  ### 🎬 See It In Action
23
23
 
@@ -31,32 +31,39 @@ git push
31
31
  g o # AI analyzes changes, commits with perfect message, and pushes!
32
32
  ```
33
33
 
34
- ## 🌟 Features
34
+ ## 🌟 Enhanced Features
35
35
 
36
36
  ### πŸ€– **AI-Powered Commit Messages**
37
37
  - OpenAI, Google Gemini, and Groq support with automatic provider selection
38
- - Smart diff analysis that understands your code changes
38
+ - Smart diff analysis with caching for improved performance
39
+ - Multiple suggestion generation for better options
39
40
  - Handles large codebases with intelligent summarization and safe truncation
40
- - Optional Conventional Commits formatting and optional commit body generation (`--conventional`, `--body`)
41
+ - Optional Conventional Commits formatting and optional commit body generation
41
42
 
42
43
  ### ⚑ **Lightning Fast Workflow**
44
+ - **Interactive Mode**: `g int` - guided commit wizard with multiple suggestions
45
+ - **Smart Status**: `g status` - enhanced git status with AI insights
46
+ - **Preview Mode**: `g preview` - see what would be committed with AI message
43
47
  - One command commits: `g o` - analyze, commit, and push
44
- - Smart suggestions: `g s` - get AI-generated messages copied to clipboard
45
- - Local commits: `g l` - commit locally with AI messages
46
- - Staged-only by default for suggestions for precise control (use `--all` to stage everything)
47
-
48
- ### 🧠 **Intelligent Code Analysis**
49
- - Analyzes actual code changes, not just file names
50
- - Understands context from function changes, imports, and logic
51
- - Graceful fallbacks for extremely large changesets and offline use
52
-
53
- ### πŸ› οΈ **Developer-Friendly**
54
- - Numbered commit history with `g ls` / `g ll` and index-aware commands
55
- - Smart branching: `g b 5` creates branch from commit #5
56
- - Safe operations with confirmations and dry-run support
57
- - JSON output for editor integrations
58
- - Quality-of-life: `--amend`, `undo` command, and automatic upstream setup on push
59
- - Manual commit command for custom messages: `g m "your message"`
48
+ - Smart suggestions: `g s` - get AI-generated messages (use `--multiple` for options)
49
+
50
+ ### 🧠 **Intelligent Analysis & Insights**
51
+ - **Project Detection**: Automatically detects project type (React, Node, Python, etc.)
52
+ - **Smart Insights**: AI analyzes changes and provides contextual tips
53
+ - **Change Complexity**: Understands and reports on the scope of changes
54
+ - **Commit History Analysis**: Tracks patterns and suggests improvements
55
+
56
+ ### πŸ› οΈ **Enhanced Developer Experience**
57
+ - **Setup Wizard**: `g setup` - interactive configuration for first-time users
58
+ - **Progress Indicators**: Visual feedback for AI operations
59
+ - **Better Error Messages**: Actionable guidance when things go wrong
60
+ - **Smart Sync**: `g sync` - intelligent pull with rebase/merge options
61
+ - **Enhanced Stash**: `g stash` - AI-generated stash descriptions
62
+
63
+ ### πŸ”§ **Advanced Configuration**
64
+ - **Config Management**: `g config` - set preferences globally or per-project
65
+ - **Caching System**: Speeds up repeated operations
66
+ - **Modular Architecture**: Better performance and maintainability
60
67
 
61
68
  ## πŸš€ Quick Start
62
69
 
@@ -89,56 +96,87 @@ source ~/.bashrc
89
96
  npm install -g gims
90
97
  ```
91
98
 
92
- ### Setup AI (Choose One)
99
+ ### Setup AI (Choose One - Quick & Easy!)
93
100
 
94
- **Option 1: OpenAI**
101
+ **πŸš€ Quick Setup (Recommended)**
95
102
  ```bash
96
- export OPENAI_API_KEY="your-api-key-here"
97
- ```
103
+ # Gemini (Free, fast, recommended)
104
+ g setup --api-key gemini
98
105
 
99
- **Option 2: Google Gemini**
100
- ```bash
101
- export GEMINI_API_KEY="your-api-key-here"
106
+ # OpenAI (High quality)
107
+ g setup --api-key openai
108
+
109
+ # Groq (Ultra fast)
110
+ g setup --api-key groq
102
111
  ```
103
112
 
104
- **Option 3: Groq**
113
+ **πŸ”§ Manual Setup (Advanced)**
105
114
  ```bash
106
- export GROQ_API_KEY="your-api-key-here"
107
- # Optional, if self-hosting/proxying
108
- export GROQ_BASE_URL="https://api.groq.com/openai/v1"
115
+ # Set environment variables
116
+ export GEMINI_API_KEY="your-api-key-here" # Uses gemini-2.0-flash-exp
117
+ export OPENAI_API_KEY="your-api-key-here" # Uses gpt-4o-mini
118
+ export GROQ_API_KEY="your-api-key-here" # Uses llama-3.1-8b-instant
109
119
  ```
110
120
 
111
- GIMS auto-detects configured providers. If none are configured, it uses a local heuristic to generate sensible messages.
121
+ GIMS auto-detects configured providers and uses smart defaults. If no AI is configured, it uses local heuristics to generate sensible messages.
112
122
 
113
- ### Your First AI Commit
123
+ ### Your First Enhanced Experience
114
124
 
115
125
  ```bash
126
+ # Quick AI setup (choose one - Gemini recommended)
127
+ g setup --api-key gemini # Fast & free
128
+ g setup --api-key openai # High quality
129
+ g setup --api-key groq # Ultra fast
130
+
116
131
  # Make some changes to your code
117
- echo "console.log('Hello GIMS!');" > hello.js
132
+ echo "console.log('Hello Enhanced GIMS!');" > hello.js
133
+
134
+ # Check enhanced status with AI insights
135
+ g s
136
+ # Shows: Git status + AI insights about your changes
137
+
138
+ # Use interactive mode for guided commits
139
+ g i
140
+ # Walks you through: staging β†’ AI suggestions β†’ commit β†’ push
118
141
 
119
- # Let AI commit it for you
142
+ # Or use the classic one-command workflow
120
143
  g o
121
- # Output: Committed & pushed: "Add hello world console log"
144
+ # Output: βœ“ Committed & pushed: "Add hello world console log"
122
145
  ```
123
146
 
124
- ## πŸ“– Commands Reference
147
+ ## πŸ“– Enhanced Commands Reference
125
148
 
149
+ ### πŸš€ **Main Workflow (Single Letters)**
126
150
  | Command | Alias | Description | Example |
127
151
  |---------|-------|-------------|---------|
128
- | `gims init` | `g i` | Initialize new Git repo | `g i` |
129
- | `gims clone <repo>` | `g c` | Clone repository | `g c https://github.com/user/repo` |
130
- | `gims suggest` | `g s` | Generate & copy commit message from staged changes (use `--all` to stage) | `g s --all` |
152
+ | `gims status` | `g s` | Enhanced git status with AI insights | `g s` |
153
+ | `gims interactive` | `g i` | Interactive commit wizard | `g i` |
154
+ | `gims preview` | `g p` | Preview commit with AI message | `g p` |
131
155
  | `gims local` | `g l` | AI commit locally | `g l` |
132
- | `gims online` | `g o` | AI commit + push (use `--set-upstream` on first push) | `g o --set-upstream` |
133
- | `gims commit <message...>` | `g m` | Commit with a custom message (no AI) | `g m "fix: handle empty input"` |
134
- | `gims pull` | `g p` | Pull latest changes | `g p` |
135
- | `gims amend` | `g a` | Stage all changes and amend the last commit (reuse message) | `g a` |
136
- | `gims list` | `g ls` | Show numbered commit history | `g ls` |
137
- | `gims largelist` | `g ll` | Detailed commit history | `g ll` |
156
+ | `gims online` | `g o` | AI commit + push | `g o` |
157
+ | `gims list` | `g h` | Numbered commit history | `g h` |
158
+ | `gims amend` | `g a` | Smart amend with AI | `g a` |
159
+ | `gims undo` | `g u` | Undo last commit | `g u --yes` |
160
+
161
+ ### οΏ½ **Se tup & Config**
162
+ | Command | Alias | Description | Example |
163
+ |---------|-------|-------------|---------|
164
+ | `gims setup` | - | Setup wizard or quick API key setup | `g setup --api-key gemini` |
165
+ | `gims config` | - | Manage configuration | `g config --set provider=gemini` |
166
+
167
+ ### πŸ“ **Additional Commands**
168
+ | Command | Alias | Description | Example |
169
+ |---------|-------|-------------|---------|
170
+ | `gims suggest` | `g sg` | AI suggestions with clipboard | `g sg --multiple` |
171
+ | `gims commit <msg>` | `g m` | Custom message commit | `g m "fix: handle edge case"` |
172
+ | `gims sync` | - | Smart sync: pull + rebase/merge | `g sync --rebase` |
173
+ | `gims stash` | - | Enhanced stash with AI descriptions | `g stash` |
174
+ | `gims init` | - | Initialize repo | `g init` |
175
+ | `gims clone <repo>` | `g c` | Clone repository | `g c https://github.com/user/repo` |
176
+ | `gims pull` | - | Pull changes | `g pull` |
138
177
  | `gims branch <n>` | `g b` | Branch from commit #n | `g b 3 feature-x` |
139
- | `gims reset <n>` | `g r` | Reset to commit #n (`--hard` needs `--yes`) | `g r 5 --hard --yes` |
140
- | `gims revert <n>` | `g rv` | Safely revert commit #n (requires `--yes`) | `g rv 2 --yes` |
141
- | `gims undo` | `g u` | Undo last commit (soft reset by default) | `g u` or `g u --hard --yes` |
178
+ | `gims reset <n>` | `g r` | Reset to commit | `g r 5 --hard --yes` |
179
+ | `gims revert <n>` | `g rv` | Revert commit | `g rv 2 --yes` |
142
180
 
143
181
  ### Global Options
144
182
 
@@ -150,97 +188,190 @@ g o
150
188
  - `--body`: Generate a commit body in addition to subject
151
189
  - `--conventional`: Format subject using Conventional Commits
152
190
  - `--dry-run`: Print what would happen without committing/pushing
153
- - `--verbose`: Verbose logging
191
+ - `--verbose`: Verbose logging with AI provider details
154
192
  - `--json`: Machine-readable output for `g s`
155
- - `--yes`: Confirm destructive actions without prompting (e.g., reset/revert/undo)
193
+ - `--yes`: Confirm destructive actions without prompting
156
194
  - `--amend`: Amend the last commit instead of creating a new one
157
195
  - `--set-upstream`: On push, set upstream if the current branch has none
158
196
 
159
- ## πŸ’‘ Real-World Examples
197
+ ### Command-Specific Options
198
+
199
+ - `g s --multiple`: Generate multiple commit message suggestions
200
+ - `g ls --detailed`: Show detailed commit information with dates and authors
201
+ - `g ls --limit <n>`: Limit number of commits shown (default: 20)
202
+ - `g sync --rebase`: Use rebase instead of merge for sync
203
+ - `g stash --list`: List all stashes
204
+ - `g stash --pop`: Pop the latest stash
205
+ - `g stash --apply <n>`: Apply stash by index
206
+ - `g a --no-edit`: Amend without changing the commit message
207
+ - `g config --global`: Use global configuration instead of project-local
160
208
 
161
- ### πŸ”§ Bug Fix
209
+ ## πŸ’‘ Enhanced Real-World Examples
210
+
211
+ ### 🎯 **Interactive Workflow**
162
212
  ```bash
163
- # You fix a null pointer exception
164
- g o
165
- # AI generates: "Fix null pointer exception in user authentication"
213
+ # Complex feature development
214
+ g status # See AI insights about your changes
215
+ # Output: "πŸ“¦ Dependencies changed - consider updating package-lock.json"
216
+
217
+ g int # Interactive commit wizard
218
+ # Guides you through: staging β†’ multiple AI suggestions β†’ commit
219
+
220
+ g sync --rebase # Smart sync with rebase
221
+ # Output: "βœ“ Rebased successfully"
166
222
  ```
167
223
 
168
- ### ✨ New Feature
224
+ ### πŸ”§ **Bug Fix with Preview**
169
225
  ```bash
170
- # You add a search function
171
- g o
172
- # AI generates: "Add search functionality with pagination support"
226
+ # You fix a critical bug
227
+ g preview # Preview what would be committed
228
+ # Shows: complexity analysis + AI suggestion + diff summary
229
+
230
+ g o # Commit with confidence
231
+ # AI generates: "Fix null pointer exception in user authentication"
173
232
  ```
174
233
 
175
- ### πŸ“š Documentation
234
+ ### ✨ **Feature Development**
176
235
  ```bash
177
- # You update README and add comments
178
- g o
179
- # AI generates: "Update documentation and add inline code comments"
236
+ # Multiple related changes
237
+ g s --multiple # Get several commit message options
238
+ # Shows: 3 different AI-generated suggestions
239
+
240
+ g stash # Stash with AI description
241
+ # Output: "βœ“ Stashed changes: 'Add search functionality components'"
242
+
243
+ g l # Commit locally first
244
+ g sync # Smart sync before pushing
245
+ g o # Push with upstream setup
180
246
  ```
181
247
 
182
- ### 🎨 Refactoring
248
+ ### πŸ“Š **Project Analysis**
183
249
  ```bash
184
- # You clean up code structure
185
- g o
186
- # AI generates: "Refactor authentication module for better maintainability"
250
+ g status # Enhanced status with insights
251
+ # Shows: file changes + AI insights + recent activity summary
252
+
253
+ g config --set conventional=true # Enable conventional commits
254
+ g ls --detailed --limit 5 # Analyze recent commit patterns
187
255
  ```
188
256
 
189
- ## πŸ”₯ Pro Tips
257
+ ## πŸ”₯ Enhanced Pro Tips
190
258
 
191
- ### 🎯 Perfect Workflow
259
+ ### 🎯 **Perfect Enhanced Workflow**
192
260
  ```bash
193
- g p # Pull latest changes
194
- # ... code your features ...
195
- g s # Preview AI suggestion from staged changes
196
- g s --all # Or stage everything and suggest
197
- g l # Commit locally first
198
- # ... test your changes ...
199
- g o --set-upstream # Push with automatic upstream setup on first push
261
+ g setup --api-key gemini # One-time AI setup (fast & free)
262
+ g s # Check status with AI insights
263
+ g i # Interactive commit for complex changes
264
+ g sync # Smart sync instead of manual pull
265
+ g o --set-upstream # Push with automatic upstream setup
200
266
  ```
201
267
 
202
- ### 🧠 Smart Branching
268
+ ### 🧠 **Smart Development Patterns**
203
269
  ```bash
204
- g ls # See numbered history
205
- g b 5 hotfix # Branch from commit #5
206
- g l # Make changes and commit
207
- g checkout main && g pull # Back to main
270
+ # Feature development
271
+ g stash # Stash with AI description
272
+ g b 5 feature-x # Branch from specific commit
273
+ g preview # Preview changes before committing
274
+ g s --multiple # Get multiple commit options
275
+ g l && g sync # Commit locally, then smart sync
276
+
277
+ # Code review preparation
278
+ g ls --detailed # Review commit history
279
+ g config --set conventional=true # Enable conventional commits
280
+ g amend # Update last commit with AI message
208
281
  ```
209
282
 
210
- ### πŸ›‘οΈ Safe Experimentation
283
+ ### πŸ›‘οΈ **Safe & Smart Operations**
211
284
  ```bash
212
- g l # Commit your experiment
213
- # ... code breaks something ...
214
- g r 1 --soft --yes # Soft reset to previous commit (confirmed)
215
- # ... or ...
216
- g u --yes # Undo last commit (soft)
285
+ # Experimentation
286
+ g stash # AI-described stash
287
+ g l # Commit experiment
288
+ g preview # Check what you're about to commit
289
+ g u --yes # Quick undo if needed
290
+
291
+ # Team collaboration
292
+ g sync --rebase # Clean history with rebase
293
+ g status # Check insights before committing
294
+ g config --global # Set team-wide preferences
217
295
  ```
218
296
 
219
- ## βš™οΈ Configuration
297
+ ### ⚑ **Power User Shortcuts**
298
+ ```bash
299
+ # Single-letter workflow
300
+ g s # Enhanced status
301
+ g p # Quick preview
302
+ g i # Interactive mode
303
+ g sg --multiple # Multiple suggestions
304
+ g h --detailed # Detailed history
305
+ g l && g o # Local commit then push
306
+
307
+ # Configuration
308
+ g config --set autoStage=true # Auto-stage by default
309
+ g config --set progressIndicators=false # Disable progress bars
310
+ g config --list # Review all settings
311
+ ```
312
+
313
+ ## βš™οΈ Enhanced Configuration
314
+
315
+ ### Setup Wizard (Recommended)
316
+ ```bash
317
+ g setup # Interactive configuration wizard
318
+ # Detects project type, configures AI providers, sets preferences
319
+ ```
220
320
 
221
321
  ### Environment Variables
222
322
 
223
- | Variable | Purpose |
224
- |----------|---------|
225
- | `OPENAI_API_KEY` | OpenAI API access |
226
- | `GEMINI_API_KEY` | Google Gemini API access |
227
- | `GROQ_API_KEY` | Groq API access (OpenAI-compatible) |
228
- | `GROQ_BASE_URL` | Groq API base URL (optional) |
229
- | `GIMS_PROVIDER` | Default provider: `auto` | `openai` | `gemini` | `groq` | `none` |
230
- | `GIMS_MODEL` | Default model identifier for provider |
231
- | `GIMS_CONVENTIONAL` | `1` to enable Conventional Commits by default |
232
- | `GIMS_COPY` | `0` to disable clipboard copying in `g s` by default |
323
+ | Variable | Purpose | Default |
324
+ |----------|---------|---------|
325
+ | `OPENAI_API_KEY` | OpenAI API access | - |
326
+ | `GEMINI_API_KEY` | Google Gemini API access | - |
327
+ | `GROQ_API_KEY` | Groq API access | - |
328
+ | `GROQ_BASE_URL` | Groq API base URL | `https://api.groq.com/openai/v1` |
329
+ | `GIMS_PROVIDER` | Default provider | `auto` |
330
+ | `GIMS_MODEL` | Default model identifier | (provider-specific) |
331
+ | `GIMS_CONVENTIONAL` | Enable Conventional Commits | `0` |
332
+ | `GIMS_COPY` | Enable clipboard copying | `1` |
333
+ | `GIMS_AUTO_STAGE` | Auto-stage changes | `0` |
334
+ | `GIMS_CACHE` | Enable AI response caching | `1` |
335
+ | `GIMS_PROGRESS` | Show progress indicators | `1` |
336
+
337
+ ### Configuration Management
338
+ ```bash
339
+ # Set configuration values
340
+ g config --set provider=gemini
341
+ g config --set conventional=true --global
342
+ g config --set autoStage=true
343
+
344
+ # View configuration
345
+ g config --list
346
+ g config --get provider
347
+
348
+ # Project vs Global config
349
+ g config --set conventional=true # Project-specific
350
+ g config --set conventional=true --global # Global (all projects)
351
+ ```
233
352
 
234
- ### .gimsrc (optional)
353
+ ### .gimsrc Configuration Files
235
354
 
236
- Place a `.gimsrc` JSON file in your repo root or home directory to set defaults:
355
+ **Project-level** (`./.gimsrc`):
356
+ ```json
357
+ {
358
+ "provider": "gemini",
359
+ "model": "gemini-2.0-flash",
360
+ "conventional": true,
361
+ "autoStage": false,
362
+ "projectType": "react"
363
+ }
364
+ ```
237
365
 
366
+ **Global** (`~/.gimsrc`):
238
367
  ```json
239
368
  {
240
369
  "provider": "auto",
241
- "model": "gpt-4o-mini",
242
- "conventional": true,
243
- "copy": true
370
+ "conventional": false,
371
+ "copy": true,
372
+ "cacheEnabled": true,
373
+ "progressIndicators": true,
374
+ "maxDiffSize": 100000
244
375
  }
245
376
  ```
246
377
 
@@ -296,20 +427,49 @@ jkl3456 Update API documentation with new endpoint examples
296
427
  mno7890 Fix memory leak in image processing pipeline
297
428
  ```
298
429
 
299
- ## πŸ“ˆ Stats
430
+ ## πŸ“ˆ Enhanced Stats & Benefits
431
+
432
+ - ⚑ **50% faster** commits with interactive mode and smart defaults
433
+ - 🎯 **Higher accuracy** with multiple AI suggestions and caching
434
+ - 🧠 **Smart insights** help improve code quality and commit patterns
435
+ - πŸ“š **Zero learning curve** - enhanced Git workflow, not replacement
436
+ - 🌍 **Universal compatibility** - Mac, Windows, Linux, WSL
437
+ - οΏ½ **Modular architecture** - better performance and extensibility
438
+
439
+ ## πŸ†• What's New in Enhanced GIMS
300
440
 
301
- - ⚑ Faster commits than traditional Git workflow
302
- - 🎯 High accuracy in commit message relevance
303
- - πŸ“š Zero learning curve - if you know Git, you know GIMS
304
- - 🌍 Works everywhere - Mac, Windows, Linux, WSL
441
+ ### ✨ **Major Enhancements**
442
+ - **Interactive Commit Wizard** - guided workflow with multiple suggestions
443
+ - **Smart Status & Insights** - AI analyzes your changes and provides tips
444
+ - **Enhanced Configuration** - setup wizard and flexible config management
445
+ - **Progress Indicators** - visual feedback for all AI operations
446
+ - **Caching System** - faster repeated operations
447
+ - **Better Error Handling** - actionable guidance when things go wrong
448
+
449
+ ### πŸ”§ **Developer Experience**
450
+ - **Project Type Detection** - automatically adapts to React, Node, Python, etc.
451
+ - **Smart Sync** - intelligent pull with rebase/merge options
452
+ - **Enhanced Stash** - AI-generated stash descriptions
453
+ - **Preview Mode** - see exactly what will be committed
454
+ - **Modular Architecture** - cleaner code and better maintainability
305
455
 
306
456
  ## πŸ—ΊοΈ Roadmap
307
457
 
458
+ ### 🎯 **Completed (v0.6.0)**
459
+ - [x] Interactive commit wizard
460
+ - [x] Enhanced status with AI insights
461
+ - [x] Smart configuration management
462
+ - [x] Progress indicators and better UX
463
+ - [x] Caching and performance improvements
464
+ - [x] Modular architecture
465
+
466
+ ### πŸš€ **Coming Next**
308
467
  - [ ] πŸ”Œ Plugin system for custom AI providers
309
- - [ ] πŸ“Š Commit message templates and customization
468
+ - [ ] πŸ“Š Commit message templates and team standards
310
469
  - [ ] 🌐 Multi-language commit message support
311
- - [ ] πŸ”„ Integration with popular Git GUIs
312
- - [ ] πŸ“± Mobile companion app
470
+ - [ ] πŸ”„ Integration with popular Git GUIs (VS Code, etc.)
471
+ - [ ] πŸ“± Web dashboard for team commit analytics
472
+ - [ ] πŸ€– Advanced AI features (code review suggestions, etc.)
313
473
 
314
474
  ## πŸ“„ License
315
475