devcommit 0.1.5.0__tar.gz → 0.1.5.2__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devcommit
3
- Version: 0.1.5.0
3
+ Version: 0.1.5.2
4
4
  Summary: AI-powered git commit message generator
5
5
  License: GNU GENERAL PUBLIC LICENSE
6
6
  Version 3, 29 June 2007
@@ -711,6 +711,7 @@ A command-line AI tool for autocommits.
711
711
 
712
712
  - 🤖 **Multi-AI Provider Support** - Choose from Gemini, Groq, OpenAI, Claude, Ollama, or custom APIs
713
713
  - 🚀 Automatic commit generation using AI
714
+ - 📝 **Changelog Generation** - Automatically generate markdown changelogs from your changes
714
715
  - 📁 Directory-based commits - create separate commits for each root directory
715
716
  - 🎯 Interactive mode to choose between global or directory-based commits
716
717
  - 📄 **Commit specific files or folders** - Stage and commit only selected files/directories
@@ -1115,6 +1116,47 @@ Selecting "Regenerate commit messages" will:
1115
1116
 
1116
1117
  This works for all commit modes (global, directory, and per-file commits).
1117
1118
 
1119
+ ### Changelog Generation
1120
+
1121
+ DevCommit can automatically generate markdown changelog files from your changes using AI.
1122
+
1123
+ **Usage:**
1124
+
1125
+ ```bash
1126
+ # Generate changelog after committing
1127
+ devcommit --changelog
1128
+
1129
+ # Generate changelog before staging (recommended)
1130
+ devcommit --stageAll --changelog
1131
+
1132
+ # Short form
1133
+ devcommit -s -c
1134
+
1135
+ # With specific files
1136
+ devcommit --stageAll --changelog --files src/
1137
+ ```
1138
+
1139
+ **How it works:**
1140
+
1141
+ - **With `--stageAll`**: Changelog is generated from unstaged changes **before** staging
1142
+ - **Without `--stageAll`**: Changelog is generated from the last commit **after** committing
1143
+ - Changelogs are saved as markdown files with datetime-based names (e.g., `2026-01-28_00-55-30.md`)
1144
+ - Default directory: `changelogs/` (configurable via `CHANGELOG_DIR` in `.dcommit`)
1145
+ - Uses Keep a Changelog format with AI-generated content
1146
+
1147
+ **Example workflow:**
1148
+
1149
+ ```bash
1150
+ # Make changes to your code
1151
+ # ...
1152
+
1153
+ # Stage all changes and generate changelog before committing
1154
+ devcommit --stageAll --changelog
1155
+
1156
+ # The changelog file is created in changelogs/ directory
1157
+ # Then changes are staged and committed
1158
+ ```
1159
+
1118
1160
  ### Additional Options
1119
1161
 
1120
1162
  - `--excludeFiles` or `-e`: Exclude specific files from the diff
@@ -1124,6 +1166,7 @@ This works for all commit modes (global, directory, and per-file commits).
1124
1166
  - `--directory` or `-d`: Force directory-based commits
1125
1167
  - `--files` or `-f`: Stage and commit specific files or folders (can specify multiple)
1126
1168
  - `--push` or `-p`: Push commits to remote after committing
1169
+ - `--changelog` or `-c`: Generate changelog file from changes
1127
1170
 
1128
1171
  ### Examples
1129
1172
 
@@ -1157,6 +1200,15 @@ devcommit -s -f src/core src/modules/account/ --directory
1157
1200
 
1158
1201
  # Stage and commit, then push
1159
1202
  devcommit -s -f src/core src/modules/account/ -p
1203
+
1204
+ # Generate changelog before staging and committing
1205
+ devcommit --stageAll --changelog
1206
+
1207
+ # Generate changelog after committing
1208
+ devcommit --changelog
1209
+
1210
+ # Generate changelog with specific files
1211
+ devcommit -s -c -f src/
1160
1212
  ```
1161
1213
 
1162
1214
  ## AI Provider Support
@@ -1188,28 +1240,19 @@ devcommit
1188
1240
  ```bash
1189
1241
  export AI_PROVIDER=openrouter
1190
1242
  export OPENROUTER_API_KEY='your-openrouter-api-key'
1191
- # Optional: specify model (default: mistralai/devstral-2512:free)
1192
- export OPENROUTER_MODEL='mistralai/devstral-2512:free'
1243
+ # Optional: specify model (default: meta-llama/llama-3.3-70b-instruct:free)
1244
+ export OPENROUTER_MODEL='meta-llama/llama-3.3-70b-instruct:free'
1193
1245
  devcommit
1194
1246
  ```
1195
1247
 
1196
1248
  **Popular free models on OpenRouter (add `:free` suffix):**
1197
1249
 
1198
- **Coding & Development:**
1199
- - `mistralai/devstral-2512:free` - Mistral's state-of-the-art coding model (123B params)
1200
- - `kwaipilot/kat-coder-pro:free` - Advanced agentic coding model (73.4% SWE-Bench solve rate)
1201
- - `qwen/qwen3-coder:free` - Qwen's MoE code generation model (480B params, 35B active)
1202
- - `deepseek/deepseek-r1-0528:free` - DeepSeek R1 reasoning model (671B params, open-source)
1203
-
1204
- **Reasoning & General Purpose:**
1205
- - `xiaomi/mimo-v2-flash:free` - Mixture-of-Experts model (309B params, top open-source on SWE-bench)
1206
- - `tngtech/deepseek-r1t2-chimera:free` - DeepSeek R1T2 reasoning model (671B params)
1207
- - `tngtech/deepseek-r1t-chimera:free` - DeepSeek R1T reasoning model
1208
- - `tngtech/tng-r1t-chimera:free` - Creative storytelling and character interaction model
1209
-
1210
- **Lightweight & Fast:**
1211
- - `z-ai/glm-4.5-air:free` - GLM 4.5 Air lightweight variant (MoE architecture)
1212
- - `nvidia/nemotron-3-nano-30b-a3b:free` - NVIDIA's efficient small model (30B params, 3B active)
1250
+ **Recommended Models:**
1251
+ - `meta-llama/llama-3.3-70b-instruct:free` - Llama 3.3 70B Instruct (Powerful & General Purpose)
1252
+ - `google/gemma-3-27b-it:free` - Google Gemma 3 27B Instruct (Efficient & Capable)
1253
+ - `openai/gpt-oss-120b:free` - OpenAI GPT-OSS 120B (Large & Experimental)
1254
+ - `tngtech/deepseek-r1t-chimera:free` - DeepSeek R1T Chimera (Strong Reasoning)
1255
+ - `qwen/qwen3-next-80b-a3b-instruct:free` - Qwen3 Next 80B (Advanced Instruction Following)
1213
1256
 
1214
1257
  **Important Notes:**
1215
1258
  - **Logging Requirements:** Some free models may log your prompts and responses for model improvement purposes. This means:
@@ -1274,7 +1317,7 @@ All configuration can be set via **environment variables** or **`.dcommit` file*
1274
1317
  | Variable | Description | Default |
1275
1318
  |----------|-------------|---------|
1276
1319
  | `OPENROUTER_API_KEY` | OpenRouter API key ([Get it here](https://openrouter.ai/keys)) | - |
1277
- | `OPENROUTER_MODEL` | Model name (add `:free` suffix for free models) | `mistralai/devstral-2512:free` |
1320
+ | `OPENROUTER_MODEL` | Model name (add `:free` suffix for free models) | `meta-llama/llama-3.3-70b-instruct:free` |
1278
1321
 
1279
1322
  **Anthropic:**
1280
1323
  | Variable | Description | Default |
@@ -1305,6 +1348,7 @@ All configuration can be set via **environment variables** or **`.dcommit` file*
1305
1348
  | `COMMIT_MODE` | Default commit strategy | `auto` | `auto`, `directory`, `global`, `related` |
1306
1349
  | `EXCLUDE_FILES` | Files to exclude from diff | `package-lock.json, pnpm-lock.yaml, yarn.lock, *.lock` | Comma-separated file patterns |
1307
1350
  | `MAX_TOKENS` | Maximum tokens for AI response | `8192` | Any positive integer |
1351
+ | `CHANGELOG_DIR` | Directory for changelog files | `changelogs` | Any directory path |
1308
1352
 
1309
1353
  ### Configuration Priority
1310
1354
 
@@ -6,6 +6,7 @@ A command-line AI tool for autocommits.
6
6
 
7
7
  - 🤖 **Multi-AI Provider Support** - Choose from Gemini, Groq, OpenAI, Claude, Ollama, or custom APIs
8
8
  - 🚀 Automatic commit generation using AI
9
+ - 📝 **Changelog Generation** - Automatically generate markdown changelogs from your changes
9
10
  - 📁 Directory-based commits - create separate commits for each root directory
10
11
  - 🎯 Interactive mode to choose between global or directory-based commits
11
12
  - 📄 **Commit specific files or folders** - Stage and commit only selected files/directories
@@ -410,6 +411,47 @@ Selecting "Regenerate commit messages" will:
410
411
 
411
412
  This works for all commit modes (global, directory, and per-file commits).
412
413
 
414
+ ### Changelog Generation
415
+
416
+ DevCommit can automatically generate markdown changelog files from your changes using AI.
417
+
418
+ **Usage:**
419
+
420
+ ```bash
421
+ # Generate changelog after committing
422
+ devcommit --changelog
423
+
424
+ # Generate changelog before staging (recommended)
425
+ devcommit --stageAll --changelog
426
+
427
+ # Short form
428
+ devcommit -s -c
429
+
430
+ # With specific files
431
+ devcommit --stageAll --changelog --files src/
432
+ ```
433
+
434
+ **How it works:**
435
+
436
+ - **With `--stageAll`**: Changelog is generated from unstaged changes **before** staging
437
+ - **Without `--stageAll`**: Changelog is generated from the last commit **after** committing
438
+ - Changelogs are saved as markdown files with datetime-based names (e.g., `2026-01-28_00-55-30.md`)
439
+ - Default directory: `changelogs/` (configurable via `CHANGELOG_DIR` in `.dcommit`)
440
+ - Uses Keep a Changelog format with AI-generated content
441
+
442
+ **Example workflow:**
443
+
444
+ ```bash
445
+ # Make changes to your code
446
+ # ...
447
+
448
+ # Stage all changes and generate changelog before committing
449
+ devcommit --stageAll --changelog
450
+
451
+ # The changelog file is created in changelogs/ directory
452
+ # Then changes are staged and committed
453
+ ```
454
+
413
455
  ### Additional Options
414
456
 
415
457
  - `--excludeFiles` or `-e`: Exclude specific files from the diff
@@ -419,6 +461,7 @@ This works for all commit modes (global, directory, and per-file commits).
419
461
  - `--directory` or `-d`: Force directory-based commits
420
462
  - `--files` or `-f`: Stage and commit specific files or folders (can specify multiple)
421
463
  - `--push` or `-p`: Push commits to remote after committing
464
+ - `--changelog` or `-c`: Generate changelog file from changes
422
465
 
423
466
  ### Examples
424
467
 
@@ -452,6 +495,15 @@ devcommit -s -f src/core src/modules/account/ --directory
452
495
 
453
496
  # Stage and commit, then push
454
497
  devcommit -s -f src/core src/modules/account/ -p
498
+
499
+ # Generate changelog before staging and committing
500
+ devcommit --stageAll --changelog
501
+
502
+ # Generate changelog after committing
503
+ devcommit --changelog
504
+
505
+ # Generate changelog with specific files
506
+ devcommit -s -c -f src/
455
507
  ```
456
508
 
457
509
  ## AI Provider Support
@@ -483,28 +535,19 @@ devcommit
483
535
  ```bash
484
536
  export AI_PROVIDER=openrouter
485
537
  export OPENROUTER_API_KEY='your-openrouter-api-key'
486
- # Optional: specify model (default: mistralai/devstral-2512:free)
487
- export OPENROUTER_MODEL='mistralai/devstral-2512:free'
538
+ # Optional: specify model (default: meta-llama/llama-3.3-70b-instruct:free)
539
+ export OPENROUTER_MODEL='meta-llama/llama-3.3-70b-instruct:free'
488
540
  devcommit
489
541
  ```
490
542
 
491
543
  **Popular free models on OpenRouter (add `:free` suffix):**
492
544
 
493
- **Coding & Development:**
494
- - `mistralai/devstral-2512:free` - Mistral's state-of-the-art coding model (123B params)
495
- - `kwaipilot/kat-coder-pro:free` - Advanced agentic coding model (73.4% SWE-Bench solve rate)
496
- - `qwen/qwen3-coder:free` - Qwen's MoE code generation model (480B params, 35B active)
497
- - `deepseek/deepseek-r1-0528:free` - DeepSeek R1 reasoning model (671B params, open-source)
498
-
499
- **Reasoning & General Purpose:**
500
- - `xiaomi/mimo-v2-flash:free` - Mixture-of-Experts model (309B params, top open-source on SWE-bench)
501
- - `tngtech/deepseek-r1t2-chimera:free` - DeepSeek R1T2 reasoning model (671B params)
502
- - `tngtech/deepseek-r1t-chimera:free` - DeepSeek R1T reasoning model
503
- - `tngtech/tng-r1t-chimera:free` - Creative storytelling and character interaction model
504
-
505
- **Lightweight & Fast:**
506
- - `z-ai/glm-4.5-air:free` - GLM 4.5 Air lightweight variant (MoE architecture)
507
- - `nvidia/nemotron-3-nano-30b-a3b:free` - NVIDIA's efficient small model (30B params, 3B active)
545
+ **Recommended Models:**
546
+ - `meta-llama/llama-3.3-70b-instruct:free` - Llama 3.3 70B Instruct (Powerful & General Purpose)
547
+ - `google/gemma-3-27b-it:free` - Google Gemma 3 27B Instruct (Efficient & Capable)
548
+ - `openai/gpt-oss-120b:free` - OpenAI GPT-OSS 120B (Large & Experimental)
549
+ - `tngtech/deepseek-r1t-chimera:free` - DeepSeek R1T Chimera (Strong Reasoning)
550
+ - `qwen/qwen3-next-80b-a3b-instruct:free` - Qwen3 Next 80B (Advanced Instruction Following)
508
551
 
509
552
  **Important Notes:**
510
553
  - **Logging Requirements:** Some free models may log your prompts and responses for model improvement purposes. This means:
@@ -569,7 +612,7 @@ All configuration can be set via **environment variables** or **`.dcommit` file*
569
612
  | Variable | Description | Default |
570
613
  |----------|-------------|---------|
571
614
  | `OPENROUTER_API_KEY` | OpenRouter API key ([Get it here](https://openrouter.ai/keys)) | - |
572
- | `OPENROUTER_MODEL` | Model name (add `:free` suffix for free models) | `mistralai/devstral-2512:free` |
615
+ | `OPENROUTER_MODEL` | Model name (add `:free` suffix for free models) | `meta-llama/llama-3.3-70b-instruct:free` |
573
616
 
574
617
  **Anthropic:**
575
618
  | Variable | Description | Default |
@@ -600,6 +643,7 @@ All configuration can be set via **environment variables** or **`.dcommit` file*
600
643
  | `COMMIT_MODE` | Default commit strategy | `auto` | `auto`, `directory`, `global`, `related` |
601
644
  | `EXCLUDE_FILES` | Files to exclude from diff | `package-lock.json, pnpm-lock.yaml, yarn.lock, *.lock` | Comma-separated file patterns |
602
645
  | `MAX_TOKENS` | Maximum tokens for AI response | `8192` | Any positive integer |
646
+ | `CHANGELOG_DIR` | Directory for changelog files | `changelogs` | Any directory path |
603
647
 
604
648
  ### Configuration Priority
605
649
 
@@ -0,0 +1,7 @@
1
+ from importlib.metadata import version, PackageNotFoundError
2
+
3
+ try:
4
+ __version__ = version("devcommit")
5
+ except PackageNotFoundError:
6
+ # Fallback if package is not installed (e.g. during dev)
7
+ __version__ = "0.0.0-dev"