commit-whisper 1.0.4 → 1.0.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.
- package/README.md +5 -0
- package/dist/index.js +18 -14
- package/package.json +4 -1
package/README.md
CHANGED
|
@@ -33,10 +33,15 @@ Report JSON.
|
|
|
33
33
|
### 🍺 Homebrew (macOS)
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
|
+
brew trust georgiosnikitas/commit-whisper
|
|
36
37
|
brew tap georgiosnikitas/commit-whisper
|
|
37
38
|
brew install commit-whisper
|
|
38
39
|
```
|
|
39
40
|
|
|
41
|
+
> The `brew trust` line is only required when your Homebrew enforces tap trust
|
|
42
|
+
> (`HOMEBREW_REQUIRE_TAP_TRUST`, available in Homebrew 6+). On a default setup you can skip
|
|
43
|
+
> it and run just the `brew tap` + `brew install` steps.
|
|
44
|
+
|
|
40
45
|
### 📦 From npm
|
|
41
46
|
|
|
42
47
|
```bash
|
package/dist/index.js
CHANGED
|
@@ -1033,7 +1033,7 @@ function messageForError(err) {
|
|
|
1033
1033
|
|
|
1034
1034
|
// src/cli/interactive.ts
|
|
1035
1035
|
import { isCancel, multiselect as clackMultiselect, select as clackSelect, text as clackText } from "@clack/prompts";
|
|
1036
|
-
var LAUNCHPAD_TAGLINE = "commit-whisper \xB7 I know what you did last commit";
|
|
1036
|
+
var LAUNCHPAD_TAGLINE = "commit-whisper \xB7 \u{1F575}\uFE0F I know what you did last commit";
|
|
1037
1037
|
var FLAGS_CHEATSHEET = [
|
|
1038
1038
|
"Common commands:",
|
|
1039
1039
|
" commit-whisper . analyze the current repository",
|
|
@@ -1116,38 +1116,42 @@ function buildLaunchpadOptions(state) {
|
|
|
1116
1116
|
options.push({ value: "quit", label: "Quit", hint: "esc" });
|
|
1117
1117
|
return options;
|
|
1118
1118
|
}
|
|
1119
|
+
var STATUS_LABEL_WIDTH = 12;
|
|
1120
|
+
function statusLabel(text) {
|
|
1121
|
+
return text.padEnd(STATUS_LABEL_WIDTH);
|
|
1122
|
+
}
|
|
1119
1123
|
function reachabilityLine(reachability) {
|
|
1120
1124
|
switch (reachability.kind) {
|
|
1121
1125
|
case "reachable":
|
|
1122
|
-
return " status
|
|
1126
|
+
return `${statusLabel(" status")}\u2713 reachable`;
|
|
1123
1127
|
case "unreachable":
|
|
1124
|
-
return
|
|
1128
|
+
return `${statusLabel(" status")}\u26A0 unreachable \u2014 ${reachability.reason}`;
|
|
1125
1129
|
default:
|
|
1126
|
-
return " status
|
|
1130
|
+
return `${statusLabel(" status")}\u26A0 not configured`;
|
|
1127
1131
|
}
|
|
1128
1132
|
}
|
|
1129
1133
|
function aiBlock(state, reachability) {
|
|
1130
|
-
return [
|
|
1134
|
+
return [`${statusLabel("AI")}${aiSegment(state)}`, reachabilityLine(reachability)];
|
|
1131
1135
|
}
|
|
1132
1136
|
function environmentBlock(envVars) {
|
|
1133
|
-
const
|
|
1134
|
-
|
|
1135
|
-
|
|
1137
|
+
const prefixes = envVars.map((v) => ` ${v.set ? "\u2713" : "\u2717"} ${v.name}`);
|
|
1138
|
+
const stateColumn = Math.max(0, ...prefixes.map((p) => p.length)) + 2;
|
|
1139
|
+
const rows = envVars.map((v, i) => {
|
|
1136
1140
|
const state = v.set ? "set" : "missing";
|
|
1137
1141
|
const note = v.note === void 0 ? "" : ` (${v.note})`;
|
|
1138
|
-
|
|
1139
|
-
}
|
|
1140
|
-
return
|
|
1142
|
+
return `${prefixes[i].padEnd(stateColumn)}${state}${note}`;
|
|
1143
|
+
});
|
|
1144
|
+
return ["Environment", ...rows];
|
|
1141
1145
|
}
|
|
1142
1146
|
function repositoryLine(state) {
|
|
1143
|
-
return state.isRepo ?
|
|
1147
|
+
return state.isRepo ? `${statusLabel("Repository")}\u2713 ${cwdSegment(state)}` : `${statusLabel("Repository")}\u2014 not a git repo`;
|
|
1144
1148
|
}
|
|
1145
1149
|
function formatStatusReport(state, envVars, reachability) {
|
|
1146
1150
|
const capNote = state.tier === "free" ? " 100-commit cap" : "";
|
|
1147
1151
|
const lines = [
|
|
1148
1152
|
"Status / doctor",
|
|
1149
1153
|
"",
|
|
1150
|
-
|
|
1154
|
+
`${statusLabel("License")}${TIER_LABEL[state.tier]}${capNote}`,
|
|
1151
1155
|
...aiBlock(state, reachability),
|
|
1152
1156
|
...environmentBlock(envVars),
|
|
1153
1157
|
repositoryLine(state)
|
|
@@ -5233,7 +5237,7 @@ function formatShowConfig(config, secrets) {
|
|
|
5233
5237
|
}
|
|
5234
5238
|
|
|
5235
5239
|
// src/cli/version.ts
|
|
5236
|
-
var VERSION = "1.0.
|
|
5240
|
+
var VERSION = "1.0.6";
|
|
5237
5241
|
|
|
5238
5242
|
// src/cli/cli.ts
|
|
5239
5243
|
var PROVIDERS3 = ["ollama", "openai", "gemini", "anthropic", "openai-compatible"];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "commit-whisper",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "Deterministic git history analysis with a grounded, BYOK AI narrative — terminal-native CLI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -63,5 +63,8 @@
|
|
|
63
63
|
"typescript": "6.0.3",
|
|
64
64
|
"typescript-eslint": "8.61.0",
|
|
65
65
|
"vitest": "4.1.8"
|
|
66
|
+
},
|
|
67
|
+
"overrides": {
|
|
68
|
+
"esbuild": "^0.28.1"
|
|
66
69
|
}
|
|
67
70
|
}
|