smart-commit-copilot-cli 0.1.4 → 0.1.6

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.
Files changed (150) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +41 -11
  3. package/docs/configuration.md +23 -2
  4. package/docs/contracts.md +10 -2
  5. package/docs/getting-started.md +18 -4
  6. package/docs/publish.md +1 -1
  7. package/docs/releases/0.1.5-draft.md +44 -0
  8. package/docs/releases/0.1.6-draft.md +72 -0
  9. package/docs/verification.md +15 -0
  10. package/examples/config/smart-commit.json +3 -1
  11. package/out/cliApp.js +3 -1
  12. package/out/cliApp.js.map +1 -1
  13. package/out/commands/bridge.js +54 -23
  14. package/out/commands/bridge.js.map +1 -1
  15. package/out/commitMessage/index.js +28 -8
  16. package/out/commitMessage/index.js.map +1 -1
  17. package/out/commitMessage/prompt.js +2 -0
  18. package/out/commitMessage/prompt.js.map +1 -1
  19. package/out/commitMessage/protocol.js +122 -8
  20. package/out/commitMessage/protocol.js.map +1 -1
  21. package/out/config/cliArgs.js +12 -0
  22. package/out/config/cliArgs.js.map +1 -1
  23. package/out/config/constants.js +1 -0
  24. package/out/config/constants.js.map +1 -1
  25. package/out/config/env.js +9 -0
  26. package/out/config/env.js.map +1 -1
  27. package/out/config/file.js +10 -0
  28. package/out/config/file.js.map +1 -1
  29. package/out/config/legacySmartCommit.js +14 -0
  30. package/out/config/legacySmartCommit.js.map +1 -1
  31. package/out/config/schema.js +18 -1
  32. package/out/config/schema.js.map +1 -1
  33. package/out/contracts.js +15 -6
  34. package/out/contracts.js.map +1 -1
  35. package/out/llm/responseCorrection.js +32 -0
  36. package/out/llm/responseCorrection.js.map +1 -0
  37. package/out/passHistory/index.js +51 -22
  38. package/out/passHistory/index.js.map +1 -1
  39. package/out/passHistory/store.js +29 -1
  40. package/out/passHistory/store.js.map +1 -1
  41. package/out/passHistory/types.js +23 -1
  42. package/out/passHistory/types.js.map +1 -1
  43. package/out/promptContext.js +19 -3
  44. package/out/promptContext.js.map +1 -1
  45. package/out/renderOutput.js +2 -0
  46. package/out/renderOutput.js.map +1 -1
  47. package/out/reporting/prompt.js +13 -1
  48. package/out/reporting/prompt.js.map +1 -1
  49. package/out/reporting/timeWindow.js +7 -0
  50. package/out/reporting/timeWindow.js.map +1 -1
  51. package/out/reporting/types.js +1 -0
  52. package/out/reporting/types.js.map +1 -1
  53. package/out/review/diffClassifier.js +535 -0
  54. package/out/review/diffClassifier.js.map +1 -0
  55. package/out/review/index.js +27 -11
  56. package/out/review/index.js.map +1 -1
  57. package/out/review/mockProvider.js +157 -8
  58. package/out/review/mockProvider.js.map +1 -1
  59. package/out/review/openaiProvider.js +10 -4
  60. package/out/review/openaiProvider.js.map +1 -1
  61. package/out/review/parser.js +13 -0
  62. package/out/review/parser.js.map +1 -1
  63. package/out/review/prompt.js +76 -4
  64. package/out/review/prompt.js.map +1 -1
  65. package/out/skills/types.js +3 -0
  66. package/out/skills/types.js.map +1 -0
  67. package/package.json +2 -1
  68. package/src/code-review-skills/c-code-review/SKILL.md +165 -0
  69. package/src/code-review-skills/c-code-review/references/build-and-tooling.md +16 -0
  70. package/src/code-review-skills/c-code-review/references/concurrency-and-signals.md +16 -0
  71. package/src/code-review-skills/c-code-review/references/error-handling-and-cleanup.md +16 -0
  72. package/src/code-review-skills/c-code-review/references/macros-headers-and-build-boundaries.md +16 -0
  73. package/src/code-review-skills/c-code-review/references/performance-and-data-movement.md +16 -0
  74. package/src/code-review-skills/c-code-review/references/pointers-memory-and-resource-lifecycle.md +18 -0
  75. package/src/code-review-skills/c-code-review/references/scoring-guide.md +40 -0
  76. package/src/code-review-skills/c-code-review/references/undefined-behavior-and-safety.md +17 -0
  77. package/src/code-review-skills/code-review/SKILL.md +150 -0
  78. package/src/code-review-skills/code-review/references/code-quality-checklist.md +53 -0
  79. package/src/code-review-skills/code-review/references/removal-plan.md +45 -0
  80. package/src/code-review-skills/code-review/references/scoring-guide.md +38 -0
  81. package/src/code-review-skills/code-review/references/security-checklist.md +53 -0
  82. package/src/code-review-skills/code-review/references/solid-checklist.md +55 -0
  83. package/src/code-review-skills/cpp-code-review/SKILL.md +165 -0
  84. package/src/code-review-skills/cpp-code-review/references/build-and-tooling.md +12 -0
  85. package/src/code-review-skills/cpp-code-review/references/concurrency-and-atomics.md +14 -0
  86. package/src/code-review-skills/cpp-code-review/references/exceptions-and-error-model.md +16 -0
  87. package/src/code-review-skills/cpp-code-review/references/memory-raii-and-lifetimes.md +19 -0
  88. package/src/code-review-skills/cpp-code-review/references/performance-and-hot-paths.md +16 -0
  89. package/src/code-review-skills/cpp-code-review/references/scoring-guide.md +41 -0
  90. package/src/code-review-skills/cpp-code-review/references/templates-api-and-abi.md +13 -0
  91. package/src/code-review-skills/cpp-code-review/references/undefined-behavior-and-safety.md +18 -0
  92. package/src/code-review-skills/csharp-code-review/SKILL.md +159 -0
  93. package/src/code-review-skills/csharp-code-review/references/async-and-cancellation.md +16 -0
  94. package/src/code-review-skills/csharp-code-review/references/concurrency.md +15 -0
  95. package/src/code-review-skills/csharp-code-review/references/exceptions-and-api-contracts.md +16 -0
  96. package/src/code-review-skills/csharp-code-review/references/memory-resources-and-interop.md +16 -0
  97. package/src/code-review-skills/csharp-code-review/references/nullable-types-and-patterns.md +15 -0
  98. package/src/code-review-skills/csharp-code-review/references/scoring-guide.md +41 -0
  99. package/src/code-review-skills/csharp-code-review/references/web-data-and-security.md +15 -0
  100. package/src/code-review-skills/frontend-code-review/SKILL.md +143 -0
  101. package/src/code-review-skills/frontend-code-review/references/accessibility-and-semantic-ux.md +33 -0
  102. package/src/code-review-skills/frontend-code-review/references/interaction-and-state-lifecycle.md +39 -0
  103. package/src/code-review-skills/frontend-code-review/references/rendering-performance-and-resource-loading.md +34 -0
  104. package/src/code-review-skills/frontend-code-review/references/scoring-guide.md +38 -0
  105. package/src/code-review-skills/frontend-code-review/references/security-and-data-boundary.md +34 -0
  106. package/src/code-review-skills/golang-code-review/SKILL.md +153 -0
  107. package/src/code-review-skills/golang-code-review/references/api-contract-and-maintainability.md +25 -0
  108. package/src/code-review-skills/golang-code-review/references/concurrency-and-lifecycle.md +25 -0
  109. package/src/code-review-skills/golang-code-review/references/error-handling-and-reliability.md +24 -0
  110. package/src/code-review-skills/golang-code-review/references/performance-and-allocation.md +25 -0
  111. package/src/code-review-skills/golang-code-review/references/scoring-guide.md +40 -0
  112. package/src/code-review-skills/golang-code-review/references/security-and-trust-boundary.md +20 -0
  113. package/src/code-review-skills/java-code-review/SKILL.md +153 -0
  114. package/src/code-review-skills/java-code-review/references/api-contract-and-maintainability.md +22 -0
  115. package/src/code-review-skills/java-code-review/references/concurrency-and-lifecycle.md +27 -0
  116. package/src/code-review-skills/java-code-review/references/error-handling-and-reliability.md +25 -0
  117. package/src/code-review-skills/java-code-review/references/performance-and-resource-usage.md +23 -0
  118. package/src/code-review-skills/java-code-review/references/scoring-guide.md +40 -0
  119. package/src/code-review-skills/java-code-review/references/security-and-trust-boundary.md +20 -0
  120. package/src/code-review-skills/mobile-code-review/SKILL.md +171 -0
  121. package/src/code-review-skills/mobile-code-review/references/async-state-and-side-effects.md +19 -0
  122. package/src/code-review-skills/mobile-code-review/references/lifecycle-and-navigation.md +19 -0
  123. package/src/code-review-skills/mobile-code-review/references/performance-and-resource-management.md +19 -0
  124. package/src/code-review-skills/mobile-code-review/references/resilience-and-device-conditions.md +19 -0
  125. package/src/code-review-skills/mobile-code-review/references/scoring-guide.md +38 -0
  126. package/src/code-review-skills/mobile-code-review/references/storage-permissions-and-security.md +19 -0
  127. package/src/code-review-skills/mobile-code-review/references/testing-and-regression-coverage.md +21 -0
  128. package/src/code-review-skills/php-code-review/SKILL.md +159 -0
  129. package/src/code-review-skills/php-code-review/references/inclusion-superglobals-and-scope.md +21 -0
  130. package/src/code-review-skills/php-code-review/references/language-types-and-autoload.md +19 -0
  131. package/src/code-review-skills/php-code-review/references/oop-magic-and-errors.md +17 -0
  132. package/src/code-review-skills/php-code-review/references/performance-data-access-and-testing.md +16 -0
  133. package/src/code-review-skills/php-code-review/references/request-lifecycle-and-runtime.md +15 -0
  134. package/src/code-review-skills/php-code-review/references/scoring-guide.md +39 -0
  135. package/src/code-review-skills/php-code-review/references/security-and-io-boundary.md +24 -0
  136. package/src/code-review-skills/python-code-review/SKILL.md +147 -0
  137. package/src/code-review-skills/python-code-review/references/exception-and-lifecycle.md +15 -0
  138. package/src/code-review-skills/python-code-review/references/input-and-data-security.md +20 -0
  139. package/src/code-review-skills/python-code-review/references/maintainability-and-testing.md +21 -0
  140. package/src/code-review-skills/python-code-review/references/performance-and-resource-usage.md +21 -0
  141. package/src/code-review-skills/python-code-review/references/scoring-guide.md +38 -0
  142. package/src/code-review-skills/rust-code-review/SKILL.md +165 -0
  143. package/src/code-review-skills/rust-code-review/references/api-traits-and-evolution.md +16 -0
  144. package/src/code-review-skills/rust-code-review/references/cargo-features-and-test-coverage.md +16 -0
  145. package/src/code-review-skills/rust-code-review/references/concurrency-async-and-sync.md +17 -0
  146. package/src/code-review-skills/rust-code-review/references/error-handling-and-reliability.md +17 -0
  147. package/src/code-review-skills/rust-code-review/references/macros-ffi-and-embedded.md +19 -0
  148. package/src/code-review-skills/rust-code-review/references/ownership-borrowing-and-unsafe.md +20 -0
  149. package/src/code-review-skills/rust-code-review/references/performance-and-allocations.md +18 -0
  150. package/src/code-review-skills/rust-code-review/references/scoring-guide.md +41 -0
package/CHANGELOG.md CHANGED
@@ -6,6 +6,38 @@ The format is based on Keep a Changelog, and this project follows Semantic Versi
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.1.6] - 2026-04-18
10
+
11
+ ### Added
12
+
13
+ - bundled built-in review skill assets for generic and domain-specific profiles, including `c-code-review`
14
+ - `report generate --period yesterday` with previous-natural-day time window handling
15
+ - configurable `connection.llmResponseCorrectionRetryCount` and `passHistory.writeStage` across CLI args, environment variables, config files, schema output, and legacy `smartCommit.*` mappings
16
+ - a dedicated `0.1.6` draft release note for the current publish target
17
+
18
+ ### Changed
19
+
20
+ - review prompt augmentation now loads bundled review-skill instructions and references, and adds diff-domain guidance with generic fallback when a specialized skill does not match the staged diff
21
+ - review repair and commit-message regeneration now use the configurable response-correction retry budget and enforce the requested output language during retryable validation
22
+ - pass-history writes now upsert a single record across review, commit, and push success stages so `eventType` reflects the furthest successful stage reached by the run
23
+ - publish guidance now points to the `0.1.6` release draft during pre-publish review
24
+
25
+ ### Fixed
26
+
27
+ - successful local commits are now preserved in pass history when a later push cannot start, is rejected, or times out, unless `passHistory.writeStage` explicitly requires push completion
28
+ - machine-facing contracts, docs, and regression coverage now match the new correction-retry bounds, built-in review skill exposure, and `yesterday` reporting support
29
+
30
+ ## [0.1.5] - 2026-04-15
31
+
32
+ ### Added
33
+
34
+ - a dedicated `0.1.5` draft release note for the current publish target
35
+
36
+ ### Changed
37
+
38
+ - published-package README links now point to `unpkg` so the deeper documentation links still work after npm installation and registry browsing
39
+ - publish guidance now points to the `0.1.5` release draft during pre-publish review
40
+
9
41
  ## [0.1.4] - 2026-04-15
10
42
 
11
43
  ### Added
package/README.md CHANGED
@@ -15,10 +15,12 @@ It can:
15
15
  - inspect staged changes
16
16
  - run AI review and gate on the result
17
17
  - generate or validate commit messages
18
+ - retry malformed review or commit-message responses with configurable correction passes
19
+ - use bundled review skills, including `c-code-review`, with diff-aware generic fallback
18
20
  - optionally create a commit
19
21
  - optionally push the current branch
20
22
  - persist successful run history
21
- - generate Markdown work reports
23
+ - generate daily, yesterday, weekly, monthly, quarterly, or yearly Markdown work reports
22
24
 
23
25
  ## Who This Is For
24
26
 
@@ -276,7 +278,8 @@ Use this when you want a more realistic team default without enabling automatic
276
278
  "connection": {
277
279
  "baseUrl": "https://api.openai.com/v1",
278
280
  "apiKey": "env:SMART_COMMIT_API_KEY",
279
- "model": "gpt-5"
281
+ "model": "gpt-5",
282
+ "llmResponseCorrectionRetryCount": 1
280
283
  },
281
284
  "review": {
282
285
  "threshold": 6,
@@ -289,6 +292,7 @@ Use this when you want a more realistic team default without enabling automatic
289
292
  },
290
293
  "passHistory": {
291
294
  "enabled": true,
295
+ "writeStage": "review_passed",
292
296
  "dirPath": ".smart-commit-cli",
293
297
  "maxEntries": 3000
294
298
  },
@@ -306,6 +310,14 @@ This is usually the best starting point for teams because it:
306
310
  - allows local history for reporting
307
311
  - stays safe for hooks and automation
308
312
 
313
+ ### Review skills and correction retries
314
+
315
+ Built-in review skills are bundled with the CLI. The default `code-review` skill stays generic, while domain skills such as `frontend-code-review`, `python-code-review`, `c-code-review`, `cpp-code-review`, and `csharp-code-review` add domain-focused guidance. These built-in review skills share a lightweight diff classifier: if the staged diff does not match the selected domain, the CLI falls back to generic review rules automatically without changing your configured skill id.
316
+
317
+ If you set `review.skill.path`, the CLI keeps the current file-based custom-skill behavior and loads that file as custom prompt input instead of the bundled built-in skill assets.
318
+
319
+ `connection.llmResponseCorrectionRetryCount` controls how many extra repair or regeneration attempts the CLI may request when a review result or generated commit message fails protocol, JSON-shape, or language validation. The default is `1`, the supported range is `0..5`, and network, HTTP, timeout, or provider failures are not retried by this setting.
320
+
309
321
  ### About the example config in this repo
310
322
 
311
323
  This repository ships a fuller example at `examples/config/smart-commit.json`.
@@ -387,12 +399,13 @@ smart-commit report generate --repo . --config ./smart-commit.json --period week
387
399
  Supported `--period` values:
388
400
 
389
401
  - `daily`
402
+ - `yesterday`
390
403
  - `weekly`
391
404
  - `monthly`
392
405
  - `quarterly`
393
406
  - `yearly`
394
407
 
395
- If you omit `--period`, it defaults to `weekly`.
408
+ If you omit `--period`, it defaults to `weekly`. `yesterday` always means the previous natural local day.
396
409
 
397
410
  If `passHistory.enabled=true`, successful bridge runs are written locally and later summarized into a Markdown report.
398
411
 
@@ -553,9 +566,12 @@ Most practical flags for daily use:
553
566
  --api-key
554
567
  --model
555
568
  --threshold
569
+ --llm-response-correction-retry-count
556
570
  --review-language
571
+ --code-review-skill-id
557
572
  --commit-language
558
573
  --commit-message
574
+ --pass-history-write-stage
559
575
  --no-commit
560
576
  --no-push
561
577
  --dry-run
@@ -579,10 +595,13 @@ SMART_COMMIT_API_KEY
579
595
  SMART_COMMIT_BASE_URL
580
596
  SMART_COMMIT_MODEL
581
597
  SMART_COMMIT_THRESHOLD
598
+ SMART_COMMIT_LLM_RESPONSE_CORRECTION_RETRY_COUNT
582
599
  SMART_COMMIT_REVIEW_LANGUAGE
600
+ SMART_COMMIT_CODE_REVIEW_SKILL_ID
583
601
  SMART_COMMIT_COMMIT_LANGUAGE
584
602
  SMART_COMMIT_AUTO_COMMIT
585
603
  SMART_COMMIT_AUTO_PUSH
604
+ SMART_COMMIT_PASS_HISTORY_WRITE_STAGE
586
605
  SMART_COMMIT_REPORT_LANGUAGE
587
606
  SMART_COMMIT_REPORT_OUTPUT_DIR
588
607
  ```
@@ -595,11 +614,22 @@ If `passHistory.enabled=true`, successful bridge runs are written to local histo
595
614
  smart-commit report generate --repo . --config ./smart-commit.json --period weekly
596
615
  ```
597
616
 
598
- Successful bridge runs are categorized in pass history as:
617
+ `passHistory.writeStage` controls the earliest successful stage that can create a record. Once a record exists, later successful stages update the same pass-history entry, so `eventType` always reflects the furthest successful stage reached by that run.
618
+
619
+ - `review_passed` writes as soon as review passes. If that same run later reaches a local commit or push, the existing record is upgraded instead of duplicated.
620
+ - `commit_completed` waits until the local commit succeeds. If a later push succeeds, that same record is upgraded to `commit_push_completed`.
621
+ - `commit_push_completed` writes only after both the local commit and the push succeed.
622
+
623
+ If a run never reaches the configured write stage, no pass-history record is written. For example:
624
+
625
+ - with `passHistory.writeStage=commit_completed`, a successful local commit is still preserved even if the later push cannot start, fails, or times out
626
+ - with `passHistory.writeStage=commit_push_completed`, those same push failures produce no pass-history record
627
+
628
+ Stored pass-history `eventType` values mean:
599
629
 
600
- - `review_passed`: review passed, but automatic commit is disabled
601
- - `commit_completed`: a local commit was created, but automatic push is disabled
602
- - `commit_push_completed`: a local commit was created and the current branch was pushed
630
+ - `review_passed`: review passed, and no later success stage was reached
631
+ - `commit_completed`: a local commit succeeded, and no later push success stage was reached
632
+ - `commit_push_completed`: both the local commit and the remote push succeeded
603
633
 
604
634
  Report summaries use these records to show:
605
635
 
@@ -702,7 +732,7 @@ This sequence keeps the first rollout safe while still letting you validate the
702
732
 
703
733
  For deeper detail after the first successful run:
704
734
 
705
- - getting started from source: [`docs/getting-started.md`](./docs/getting-started.md)
706
- - configuration details: [`docs/configuration.md`](./docs/configuration.md)
707
- - integration patterns: [`docs/integrations.md`](./docs/integrations.md)
708
- - machine-facing contracts: [`docs/contracts.md`](./docs/contracts.md)
735
+ - getting started from source: [`docs/getting-started.md`](https://unpkg.com/smart-commit-copilot-cli/docs/getting-started.md)
736
+ - configuration details: [`docs/configuration.md`](https://unpkg.com/smart-commit-copilot-cli/docs/configuration.md)
737
+ - integration patterns: [`docs/integrations.md`](https://unpkg.com/smart-commit-copilot-cli/docs/integrations.md)
738
+ - machine-facing contracts: [`docs/contracts.md`](https://unpkg.com/smart-commit-copilot-cli/docs/contracts.md)
@@ -142,7 +142,8 @@ Recommended early team setup:
142
142
  "connection": {
143
143
  "baseUrl": "https://api.openai.com/v1",
144
144
  "apiKey": "env:SMART_COMMIT_API_KEY",
145
- "model": "gpt-5"
145
+ "model": "gpt-5",
146
+ "llmResponseCorrectionRetryCount": 1
146
147
  },
147
148
  "review": {
148
149
  "threshold": 6,
@@ -155,6 +156,7 @@ Recommended early team setup:
155
156
  },
156
157
  "passHistory": {
157
158
  "enabled": true,
159
+ "writeStage": "review_passed",
158
160
  "dirPath": ".smart-commit-cli",
159
161
  "maxEntries": 3000
160
162
  },
@@ -186,12 +188,14 @@ These settings tell the CLI how to reach your AI endpoint. `bridge` requires all
186
188
  | `connection.apiKey` | empty string | `env:SMART_COMMIT_API_KEY` | Change it only if you intentionally inject secrets another way | Putting raw secrets into committed config files |
187
189
  | `connection.model` | empty string | A model name that your chosen `baseUrl` actually serves | Change it when you switch cost, quality, or provider capabilities | Using a model name unsupported by your gateway |
188
190
  | `connection.requestTimeoutMs` | `1000000` | Leave default first | Change it only if your provider is too slow or your requests time out unexpectedly | Setting it below `5000`, which fails validation |
191
+ | `connection.llmResponseCorrectionRetryCount` | `1` | `1` | Change it when you want `0..5` repair or regeneration retries for protocol, format, or language validation failures | Expecting it to retry provider, network, HTTP, or timeout failures |
189
192
  | `connection.extraHeaders` | `{}` | Leave empty first | Add values only if your proxy or API gateway requires custom headers | Adding provider-specific headers that your endpoint does not expect |
190
193
 
191
194
  Practical guidance:
192
195
 
193
196
  - if you do not know what to choose, ask one question first: "What OpenAI-compatible base URL and model name does our environment support?"
194
197
  - if you use an internal gateway, use the gateway's supported model list instead of guessing
198
+ - `connection.llmResponseCorrectionRetryCount` applies to review-response repair and commit-message regeneration only when the model output fails local protocol validation; it does not hide transport or provider errors
195
199
 
196
200
  ### `review.*`
197
201
 
@@ -211,6 +215,7 @@ Supported built-in review skill ids:
211
215
  - `code-review`
212
216
  - `frontend-code-review`
213
217
  - `mobile-code-review`
218
+ - `c-code-review`
214
219
  - `python-code-review`
215
220
  - `golang-code-review`
216
221
  - `java-code-review`
@@ -219,6 +224,8 @@ Supported built-in review skill ids:
219
224
  - `rust-code-review`
220
225
  - `php-code-review`
221
226
 
227
+ Built-in review skills load bundled guidance and references from the CLI package. They also share a diff-domain classifier that can fall back to generic review rules when the staged diff does not match the selected domain. If you set `review.skill.path`, the CLI keeps the current file-based custom-skill behavior and does not switch to the bundled built-in skill assets for that run.
228
+
222
229
  When to choose a custom skill path:
223
230
 
224
231
  - your team has a fixed review checklist
@@ -286,11 +293,18 @@ These settings control local storage for successful run history.
286
293
  | Field | Built-in default | Recommended first value | When to change it | Common mistake |
287
294
  | --- | --- | --- | --- | --- |
288
295
  | `passHistory.enabled` | `false` | `true` if you want reporting later | Turn it on when you want local historical reporting | Forgetting to enable it and then expecting `report generate` to summarize past work |
296
+ | `passHistory.writeStage` | `review_passed` | `review_passed` | Change it when you want pass-history records to start only after commit or push success | Assuming it changes the stored `eventType`, when it actually changes the earliest write point |
289
297
  | `passHistory.dirPath` | empty string | Leave empty first or set `.smart-commit-cli` explicitly | Change it only if you want a custom location | Thinking empty means broken, when it actually falls back to the repo-local default directory |
290
298
  | `passHistory.maxEntries` | `3000` | `3000` | Change it only if you need much shorter or longer retention | Setting it to `0` or a non-integer, which fails validation |
291
299
 
292
300
  If `passHistory.dirPath` is empty, the CLI automatically stores pass history under the repository's `.smart-commit-cli` directory.
293
301
 
302
+ `passHistory.writeStage` means "the earliest successful stage that is allowed to create a record." After a record exists, later successful stages update the same record instead of appending duplicates, so the stored `eventType` always shows the furthest successful stage reached by that run.
303
+
304
+ - `review_passed` writes immediately after review success and can later upgrade to `commit_completed` or `commit_push_completed`
305
+ - `commit_completed` waits for a successful local commit and still preserves that record if a later push cannot start, fails, or times out
306
+ - `commit_push_completed` waits for both commit and push success; if push never succeeds, no record is written
307
+
294
308
  ### `reporting.*`
295
309
 
296
310
  These settings control report generation behavior.
@@ -372,9 +386,12 @@ Most practical flags:
372
386
  --api-key
373
387
  --model
374
388
  --threshold
389
+ --llm-response-correction-retry-count
375
390
  --review-language
391
+ --code-review-skill-id
376
392
  --commit-language
377
393
  --commit-message
394
+ --pass-history-write-stage
378
395
  --no-commit
379
396
  --no-push
380
397
  --dry-run
@@ -398,10 +415,13 @@ SMART_COMMIT_API_KEY
398
415
  SMART_COMMIT_BASE_URL
399
416
  SMART_COMMIT_MODEL
400
417
  SMART_COMMIT_THRESHOLD
418
+ SMART_COMMIT_LLM_RESPONSE_CORRECTION_RETRY_COUNT
401
419
  SMART_COMMIT_REVIEW_LANGUAGE
420
+ SMART_COMMIT_CODE_REVIEW_SKILL_ID
402
421
  SMART_COMMIT_COMMIT_LANGUAGE
403
422
  SMART_COMMIT_AUTO_COMMIT
404
423
  SMART_COMMIT_AUTO_PUSH
424
+ SMART_COMMIT_PASS_HISTORY_WRITE_STAGE
405
425
  SMART_COMMIT_REPORT_LANGUAGE
406
426
  SMART_COMMIT_REPORT_OUTPUT_DIR
407
427
  ```
@@ -456,12 +476,13 @@ smart-commit bridge --repo . --config ./smart-commit.json --no-commit --no-push
456
476
  Supported periods:
457
477
 
458
478
  - `daily`
479
+ - `yesterday`
459
480
  - `weekly`
460
481
  - `monthly`
461
482
  - `quarterly`
462
483
  - `yearly`
463
484
 
464
- If `--period` is omitted, it defaults to `weekly`.
485
+ If `--period` is omitted, it defaults to `weekly`. `yesterday` always uses the previous natural local day.
465
486
 
466
487
  ## Validation Workflow
467
488
 
package/docs/contracts.md CHANGED
@@ -36,6 +36,8 @@ Stable top-level fields:
36
36
 
37
37
  Use it to validate merged config before wiring `bridge` or `report generate` into automation.
38
38
 
39
+ Contract consumers can safely read newly added resolved settings such as `config.connection.llmResponseCorrectionRetryCount`, `config.passHistory.writeStage`, and `config.review.skill.id` from the returned `config` object.
40
+
39
41
  ## `bridge`
40
42
 
41
43
  Command:
@@ -65,17 +67,21 @@ Stable nested fields often used by automations:
65
67
  - `passHistory.eventType`
66
68
  - `reviewDetails`
67
69
 
70
+ `passHistory.writeStage` controls when a pass-history record is first allowed to exist. Once a record exists, later successful stages update that same record, so `passHistory.eventType` always reflects the furthest successful stage reached by the run.
71
+
68
72
  `passHistory.eventType` semantics:
69
73
 
70
74
  - `review_passed`
71
- Review passed, but no local commit was created because automatic commit is disabled.
75
+ Review passed, and no later success stage was reached.
72
76
  - `commit_completed`
73
- Review passed and a local commit was created, but no remote push was performed.
77
+ Review passed and a local commit was created, but no later push success stage was reached.
74
78
  - `commit_push_completed`
75
79
  Review passed, a local commit was created, and the current branch was pushed.
76
80
  - `null`
77
81
  Pass history is disabled or no pass-history record was written.
78
82
 
83
+ For example, when `passHistory.writeStage = "commit_completed"`, a successful local commit can still leave `passHistory.eventType = "commit_completed"` if the later push cannot start, fails, or times out. When `passHistory.writeStage = "commit_push_completed"`, those same push failures keep `passHistory.eventType = null` because no record is written.
84
+
79
85
  Status semantics:
80
86
 
81
87
  - `ready`
@@ -112,6 +118,8 @@ Command:
112
118
  smart-commit report generate --repo /path/to/repo --period weekly
113
119
  ```
114
120
 
121
+ Supported `periodType` values are `daily`, `yesterday`, `weekly`, `monthly`, `quarterly`, and `yearly`.
122
+
115
123
  Stable top-level fields:
116
124
 
117
125
  - `schemaVersion`
@@ -129,6 +129,8 @@ This config is intentionally conservative:
129
129
  - `autoCommit=false` prevents creating a local commit
130
130
  - `autoPush=false` prevents pushing to remote
131
131
 
132
+ The built-in default for `connection.llmResponseCorrectionRetryCount` is already `1`, which means the CLI will allow one extra repair or regeneration pass when a review result or generated commit message fails local protocol validation. Set it to `0` later if you want to disable that behavior.
133
+
132
134
  If you want a fuller example, see `examples/config/smart-commit.json`, but do not copy its side-effect settings blindly for first use.
133
135
 
134
136
  ## Step 3: Validate The Final Config
@@ -213,6 +215,8 @@ without creating a commit or pushing to remote.
213
215
 
214
216
  When the review returns a numeric score, the final pass or block result is determined by comparing that score with the configured `review.threshold`.
215
217
 
218
+ If your repository is mainly C code, you can switch the built-in review skill with `--code-review-skill-id c-code-review` or `review.skill.id = "c-code-review"`. Built-in `*-code-review` skills load bundled guidance and automatically fall back to generic review rules when the staged diff does not actually match the selected domain.
219
+
216
220
  ## Step 7: Enable Pass History When You Are Ready
217
221
 
218
222
  If you want reporting later, enable pass history in config or with flags.
@@ -224,16 +228,25 @@ smart-commit bridge \
224
228
  --repo . \
225
229
  --config ./smart-commit.json \
226
230
  --enable-pass-history=true \
231
+ --pass-history-write-stage=review_passed \
227
232
  --no-commit \
228
233
  --no-push
229
234
  ```
230
235
 
231
236
  This writes local JSONL history for successful bridge runs.
232
237
 
233
- The stored event type depends on what the bridge actually completed:
238
+ `passHistory.writeStage` controls the earliest successful stage that is allowed to create a record. After that point, the same run updates the same record if it later reaches commit or push success, so the stored `eventType` always reflects the furthest successful stage reached by that run.
239
+
240
+ - `review_passed` writes as soon as review succeeds
241
+ - `commit_completed` waits until the local commit succeeds
242
+ - `commit_push_completed` waits until both the local commit and push succeed
243
+
244
+ If you set `commit_completed`, a successful local commit is still preserved even if a later push cannot start, fails, or times out. If you set `commit_push_completed`, those same push failures write nothing.
245
+
246
+ Stored event types mean:
234
247
 
235
- - `review_passed` when review succeeds but automatic commit is disabled
236
- - `commit_completed` when a local commit succeeds but automatic push is disabled
248
+ - `review_passed` when review succeeds and no later success stage is reached
249
+ - `commit_completed` when a local commit succeeds and no later push success stage is reached
237
250
  - `commit_push_completed` when both local commit and push succeed
238
251
 
239
252
  ## Step 8: Generate A Report
@@ -245,12 +258,13 @@ smart-commit report generate --repo . --config ./smart-commit.json --period week
245
258
  Supported periods:
246
259
 
247
260
  - `daily`
261
+ - `yesterday`
248
262
  - `weekly`
249
263
  - `monthly`
250
264
  - `quarterly`
251
265
  - `yearly`
252
266
 
253
- If `--period` is omitted, the CLI defaults to `weekly`.
267
+ If `--period` is omitted, the CLI defaults to `weekly`. `yesterday` always uses the previous natural local day in local time.
254
268
 
255
269
  Useful follow-up checks:
256
270
 
package/docs/publish.md CHANGED
@@ -21,7 +21,7 @@ Current package name:
21
21
  3. Run `npm run pack:dry-run`
22
22
  4. Review [`CHANGELOG.md`](../CHANGELOG.md)
23
23
  5. Review [`docs/release-checklist.md`](./release-checklist.md)
24
- 6. Review the matching release draft in [`docs/releases/0.1.4-draft.md`](./releases/0.1.4-draft.md)
24
+ 6. Review the matching release draft in [`docs/releases/0.1.6-draft.md`](./releases/0.1.6-draft.md)
25
25
 
26
26
  ## Recommended Release Order
27
27
 
@@ -0,0 +1,44 @@
1
+ # `smart-commit-copilot-cli` 0.1.5 Draft Release Notes
2
+
3
+ ## Summary
4
+
5
+ `smart-commit-copilot-cli` 0.1.5 is a documentation link-fix release for the standalone CLI.
6
+
7
+ This release focuses on making the README's deeper-dive documentation links continue to work correctly from published package surfaces such as npm and unpkg.
8
+
9
+ ## Highlights
10
+
11
+ - README links for `docs/getting-started.md`, `docs/configuration.md`, `docs/integrations.md`, and `docs/contracts.md` now use `unpkg` URLs
12
+ - publish guidance now points to the matching `0.1.5` release draft
13
+
14
+ ## Why This Release Matters
15
+
16
+ This version improves the published-package documentation experience:
17
+
18
+ - users browsing the packaged README can open the deeper guides without relying on repository-relative paths
19
+ - npm and unpkg readers can navigate from the package landing page to the bundled docs more reliably
20
+ - maintainers have a release draft aligned with the new publish target
21
+
22
+ ## Notable Documentation Updates
23
+
24
+ ### README
25
+
26
+ - deeper documentation links now target the bundled files through `unpkg`
27
+ - the package README is more portable across registry and package-browser contexts
28
+
29
+ ### Publish guide
30
+
31
+ - the pre-publish checklist now points at the `0.1.5` draft
32
+
33
+ ## Suggested Upgrade Path
34
+
35
+ 1. update to `0.1.5`
36
+ 2. run `npm test`
37
+ 3. run `npm run smoke:test`
38
+ 4. run `npm run pack:dry-run`
39
+ 5. publish only after all three checks pass
40
+
41
+ ## Known Follow-Up Areas
42
+
43
+ - additional publish-surface validation for README links after npm release
44
+ - broader release automation once the publish flow is fully routine
@@ -0,0 +1,72 @@
1
+ # `smart-commit-copilot-cli` 0.1.6 Draft Release Notes
2
+
3
+ ## Summary
4
+
5
+ `smart-commit-copilot-cli` 0.1.6 is a Smart Commit behavior-alignment release for the standalone CLI.
6
+
7
+ This release focuses on bringing the CLI closer to the Smart Commit plugin across review-skill loading, response-correction retries, pass-history lifecycle updates, and reporting windows.
8
+
9
+ ## Highlights
10
+
11
+ - bundled built-in review skill assets now ship for generic and specialized review profiles, including `c-code-review`
12
+ - specialized review prompts now include diff-domain detection and generic fallback guidance when the selected skill does not match the staged diff
13
+ - `connection.llmResponseCorrectionRetryCount` now controls repair or regeneration retries for review and generated commit-message responses
14
+ - retryable validation now includes requested output-language checks for review summaries, review details, and generated commit-message subjects
15
+ - pass-history writes now upsert a single record across review, commit, and push milestones, gated by configurable `passHistory.writeStage`
16
+ - `report generate` now supports `--period yesterday`
17
+
18
+ ## Why This Release Matters
19
+
20
+ This version improves real automation reliability and parity with the Smart Commit plugin:
21
+
22
+ - built-in review skills now behave like real bundled capabilities rather than config-only ids
23
+ - malformed or wrong-language model responses can be retried predictably with an explicit retry budget
24
+ - pass-history consumers now see one upgraded record per successful run instead of duplicate entries across phases
25
+ - local-commit success is preserved correctly even when a later push cannot complete
26
+ - daily reporting workflows can target the previous natural local day directly
27
+
28
+ ## Notable Behavior Updates
29
+
30
+ ### Review skills and prompt guidance
31
+
32
+ - built-in review skills now load bundled `SKILL.md` instructions and reference material
33
+ - the generic `code-review` skill is available as a bundled asset alongside domain-specific skills
34
+ - `c-code-review` is now part of the supported built-in review skill set
35
+ - specialized review skills use diff-domain classification and fall back to generic review guidance when the staged diff does not match the selected domain
36
+
37
+ ### Response correction and validation
38
+
39
+ - review-response repair and generated commit-message regeneration now share the same configurable retry budget
40
+ - a retry is triggered only for local protocol, JSON-shape, format, or language validation failures
41
+ - transport, provider, HTTP, and timeout failures still surface directly instead of being retried by this setting
42
+
43
+ ### Pass history and reporting
44
+
45
+ - `passHistory.writeStage` now controls the earliest successful phase allowed to create a pass-history record
46
+ - once created, the same pass-history record is updated in place as the run advances from review to commit to push success
47
+ - `eventType` now represents the furthest successful stage reached by the run
48
+ - `report generate --period yesterday` now uses the previous natural local day, including cross-month and cross-year boundaries
49
+
50
+ ## Verification Coverage Added Or Strengthened
51
+
52
+ The project now has stronger regression protection for:
53
+
54
+ 1. review-response repair when the provider returns the wrong language
55
+ 2. generated commit-message regeneration when the summary uses the wrong language
56
+ 3. schema output for correction retry bounds and built-in review skill exposure
57
+ 4. pass-history upsert behavior across review, commit, push-success, push-rejected, and push-timeout branches
58
+ 5. CLI-level `report generate --period yesterday`
59
+
60
+ ## Suggested Upgrade Path
61
+
62
+ 1. update to `0.1.6`
63
+ 2. run `npm test`
64
+ 3. run `npm run smoke:test`
65
+ 4. run `npm run pack:dry-run`
66
+ 5. publish only after all three checks pass
67
+
68
+ ## Known Follow-Up Areas
69
+
70
+ - schema-versioning or compatibility strategy if later releases need to evolve the pass-history contract again
71
+ - richer custom local review-skill protocols if CLI-side file-based custom skills need to converge further with the plugin
72
+ - broader remote-aware release validation if publish-time verification grows beyond the current local and test-controlled flows
@@ -48,3 +48,18 @@ The smoke test checks these command shapes:
48
48
  - The smoke test does not push to a remote
49
49
  - The smoke test does not require a real API key value
50
50
  - Temporary repositories are created under the system temp directory
51
+
52
+ ## Broader Unit Coverage
53
+
54
+ For the full regression suite, run:
55
+
56
+ ```bash
57
+ npm test
58
+ ```
59
+
60
+ That suite additionally covers:
61
+
62
+ - configurable review and commit-message correction retries, including `0` retries and retry exhaustion
63
+ - bundled review-skill loading, including `c-code-review` and diff-domain fallback to generic review
64
+ - pass-history `writeStage` thresholds and same-record `upsert` behavior across review, commit, and push stages
65
+ - `report generate --period yesterday`, including previous-day windows across month and year boundaries
@@ -3,7 +3,8 @@
3
3
  "connection": {
4
4
  "baseUrl": "https://api.openai.com/v1",
5
5
  "apiKey": "env:SMART_COMMIT_API_KEY",
6
- "model": "gpt-5"
6
+ "model": "gpt-5",
7
+ "llmResponseCorrectionRetryCount": 1
7
8
  },
8
9
  "review": {
9
10
  "threshold": 6,
@@ -40,6 +41,7 @@
40
41
  },
41
42
  "passHistory": {
42
43
  "enabled": true,
44
+ "writeStage": "review_passed",
43
45
  "dirPath": ".smart-commit-cli",
44
46
  "maxEntries": 3000
45
47
  },
package/out/cliApp.js CHANGED
@@ -212,11 +212,13 @@ function buildHelpText() {
212
212
  " --api-key <key>",
213
213
  " --model <model-id>",
214
214
  " --threshold <number>",
215
+ " --llm-response-correction-retry-count <0-5>",
215
216
  " --review-language <lang>",
216
217
  " --commit-language <lang>",
217
218
  " --auto-generate-commit-message <true|false>",
218
219
  " --hybrid-generate-commit-message <true|false>",
219
- " --period <daily|weekly|monthly|quarterly|yearly>",
220
+ " --pass-history-write-stage <review_passed|commit_completed|commit_push_completed>",
221
+ " --period <daily|yesterday|weekly|monthly|quarterly|yearly>",
220
222
  " --report-ai",
221
223
  " --no-report-ai",
222
224
  " --no-commit",
package/out/cliApp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cliApp.js","sourceRoot":"","sources":["../src/cliApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliApp.js","sourceRoot":"","sources":["../src/cliApp.ts"],"names":[],"mappings":"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"}