@git.zone/cli 6.11.0 → 6.12.0
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/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/helpers.changelog.d.ts +4 -0
- package/dist_ts/helpers.changelog.js +73 -24
- package/dist_ts/helpers.climode.js +40 -3
- package/dist_ts/helpers.workflow.d.ts +2 -2
- package/dist_ts/helpers.workflow.js +42 -6
- package/dist_ts/mod_commit/helpers.manual.d.ts +10 -0
- package/dist_ts/mod_commit/helpers.manual.js +97 -0
- package/dist_ts/mod_commit/index.js +156 -35
- package/dist_ts/mod_commit/mod.plugins.d.ts +7 -7
- package/dist_ts/mod_commit/mod.plugins.js +9 -8
- package/dist_ts/mod_standard/index.js +2 -2
- package/package.json +1 -1
- package/readme.md +43 -0
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/helpers.changelog.ts +108 -32
- package/ts/helpers.climode.ts +45 -2
- package/ts/helpers.workflow.ts +46 -5
- package/ts/mod_commit/helpers.manual.ts +156 -0
- package/ts/mod_commit/index.ts +272 -53
- package/ts/mod_commit/mod.plugins.ts +8 -7
- package/ts/mod_standard/index.ts +1 -1
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import * as plugins from "./mod.plugins.js";
|
|
2
|
+
import { bucketForCommitType, inferVersionTypeFromPending, validatePendingChangelogMarkdown, } from "../helpers.changelog.js";
|
|
3
|
+
const maximumInputBytes = 128 * 1024;
|
|
4
|
+
const keys = [
|
|
5
|
+
"message",
|
|
6
|
+
"message-file",
|
|
7
|
+
"changelog",
|
|
8
|
+
"changelog-file",
|
|
9
|
+
];
|
|
10
|
+
const readArg = (argv, key) => argv[key] ??
|
|
11
|
+
argv[key.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase())];
|
|
12
|
+
export const hasManualCommitInput = (argv) => keys.some((key) => readArg(argv, key) !== undefined);
|
|
13
|
+
const readInput = async (value, fromFile, cwd) => {
|
|
14
|
+
if (typeof value !== "string" || !value.trim() || value.includes("\0"))
|
|
15
|
+
throw new Error("Manual commit inputs require non-empty text or file paths.");
|
|
16
|
+
let text = value;
|
|
17
|
+
if (fromFile) {
|
|
18
|
+
const file = await plugins.fs.open(plugins.path.resolve(cwd, value), plugins.fsConstants.O_RDONLY | plugins.fsConstants.O_NONBLOCK);
|
|
19
|
+
try {
|
|
20
|
+
const stat = await file.stat();
|
|
21
|
+
if (!stat.isFile() || stat.size > maximumInputBytes)
|
|
22
|
+
throw new Error("Manual input files must be regular files of at most 128 KiB.");
|
|
23
|
+
const bytes = Buffer.alloc(maximumInputBytes + 1);
|
|
24
|
+
let length = 0;
|
|
25
|
+
while (length < bytes.length) {
|
|
26
|
+
const part = await file.read(bytes, length, bytes.length - length, null);
|
|
27
|
+
if (!part.bytesRead)
|
|
28
|
+
break;
|
|
29
|
+
length += part.bytesRead;
|
|
30
|
+
}
|
|
31
|
+
if (length > maximumInputBytes)
|
|
32
|
+
throw new Error("Manual inputs must be at most 128 KiB.");
|
|
33
|
+
text = new TextDecoder("utf-8", { fatal: true }).decode(bytes.subarray(0, length));
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
await file.close();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
text = text.replace(/\r\n/g, "\n").replace(/\n+$/, "");
|
|
40
|
+
if (!text.trim() ||
|
|
41
|
+
Buffer.byteLength(text, "utf8") > maximumInputBytes ||
|
|
42
|
+
/[\u0000-\u0008\u000b-\u001f\u007f]/.test(text)) {
|
|
43
|
+
throw new Error("Manual inputs must contain non-empty text without control characters, at most 128 KiB.");
|
|
44
|
+
}
|
|
45
|
+
return text;
|
|
46
|
+
};
|
|
47
|
+
export const loadManualCommitInput = async (argv, cwd) => {
|
|
48
|
+
if (!hasManualCommitInput(argv))
|
|
49
|
+
return undefined;
|
|
50
|
+
const message = readArg(argv, "message");
|
|
51
|
+
const messageFile = readArg(argv, "message-file");
|
|
52
|
+
const changelog = readArg(argv, "changelog");
|
|
53
|
+
const changelogFile = readArg(argv, "changelog-file");
|
|
54
|
+
if ((message === undefined) === (messageFile === undefined))
|
|
55
|
+
throw new Error("Supply exactly one of --message or --message-file for a manual commit.");
|
|
56
|
+
if (changelog !== undefined && changelogFile !== undefined)
|
|
57
|
+
throw new Error("Supply only one of --changelog or --changelog-file.");
|
|
58
|
+
const fullMessage = await readInput(message ?? messageFile, messageFile !== undefined, cwd);
|
|
59
|
+
const [subject, ...body] = fullMessage.split("\n");
|
|
60
|
+
const parsed = /^(BREAKING CHANGE|[a-z][a-z0-9-]*)(?:\(([^():\r\n]+)\))?(!)?: (\S.*)$/.exec(subject);
|
|
61
|
+
if (!parsed)
|
|
62
|
+
throw new Error("Manual messages must start with a semantic subject: type(scope): description, with optional scope and !.");
|
|
63
|
+
const [, originalType, scope = "", bang, summary] = parsed;
|
|
64
|
+
const messageBreaking = originalType === "BREAKING CHANGE" ||
|
|
65
|
+
Boolean(bang) ||
|
|
66
|
+
/^BREAKING[ -]CHANGE:\s*\S/m.test(fullMessage);
|
|
67
|
+
const type = messageBreaking ? "BREAKING CHANGE" : originalType;
|
|
68
|
+
let markdown;
|
|
69
|
+
if (changelog !== undefined || changelogFile !== undefined) {
|
|
70
|
+
const text = (await readInput(changelog ?? changelogFile, changelogFile !== undefined, cwd)).trim();
|
|
71
|
+
if (/^#{1,3}\s/m.test(text)) {
|
|
72
|
+
markdown = text;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
markdown = `### ${bucketForCommitType(type)}\n\n- ${text.replace(/\n/g, "\n ")}`;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const details = body
|
|
80
|
+
.filter((line) => line.trim())
|
|
81
|
+
.map((line) => ` - ${line.trim()}`);
|
|
82
|
+
markdown = `### ${bucketForCommitType(type)}\n\n- ${summary}${scope ? ` (${scope})` : ""}${details.length ? "\n" + details.join("\n") : ""}`;
|
|
83
|
+
}
|
|
84
|
+
validatePendingChangelogMarkdown(markdown);
|
|
85
|
+
const changelogBreaking = inferVersionTypeFromPending(markdown) === "major";
|
|
86
|
+
if (messageBreaking && !changelogBreaking)
|
|
87
|
+
throw new Error("A breaking commit requires a Breaking Changes changelog bucket.");
|
|
88
|
+
return {
|
|
89
|
+
message: fullMessage,
|
|
90
|
+
type,
|
|
91
|
+
scope,
|
|
92
|
+
summary,
|
|
93
|
+
changelog: markdown,
|
|
94
|
+
breaking: messageBreaking || changelogBreaking,
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5tYW51YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9tb2RfY29tbWl0L2hlbHBlcnMubWFudWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUNMLG1CQUFtQixFQUNuQiwyQkFBMkIsRUFDM0IsZ0NBQWdDLEdBQ2pDLE1BQU0seUJBQXlCLENBQUM7QUFXakMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO0FBQ3JDLE1BQU0sSUFBSSxHQUFHO0lBQ1gsU0FBUztJQUNULGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0NBQ1IsQ0FBQztBQUVYLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBNkIsRUFBRSxHQUFjLEVBQVcsRUFBRSxDQUN6RSxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUU5RSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLElBQTZCLEVBQVcsRUFBRSxDQUM3RSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0FBRXZELE1BQU0sU0FBUyxHQUFHLEtBQUssRUFDckIsS0FBYyxFQUNkLFFBQWlCLEVBQ2pCLEdBQVcsRUFDTSxFQUFFO0lBQ25CLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQ2IsNERB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
|
|
@@ -3,12 +3,12 @@ import * as plugins from "./mod.plugins.js";
|
|
|
3
3
|
import * as paths from "../paths.js";
|
|
4
4
|
import { logger } from "../gitzone.logging.js";
|
|
5
5
|
import * as ui from "./mod.ui.js";
|
|
6
|
-
import { getCliMode, printJson, runWithSuppressedOutput } from "../helpers.climode.js";
|
|
7
|
-
import { appendPendingChangelogEntry } from "../helpers.changelog.js";
|
|
8
|
-
import { resolveCommitWorkflow } from "../helpers.workflow.js";
|
|
6
|
+
import { getCliMode, printJson, runWithSuppressedOutput, } from "../helpers.climode.js";
|
|
7
|
+
import { appendPendingChangelogEntry, appendPendingChangelogMarkdown, } from "../helpers.changelog.js";
|
|
8
|
+
import { resolveCommitWorkflow, } from "../helpers.workflow.js";
|
|
9
|
+
import { hasManualCommitInput, loadManualCommitInput, } from "./helpers.manual.js";
|
|
9
10
|
const isNoChangesError = (error) => {
|
|
10
|
-
return
|
|
11
|
-
(error instanceof Error && error.name === "NoChangesError"));
|
|
11
|
+
return error instanceof Error && error.name === "NoChangesError";
|
|
12
12
|
};
|
|
13
13
|
export const run = async (argvArg) => {
|
|
14
14
|
const mode = await getCliMode(argvArg);
|
|
@@ -18,6 +18,8 @@ export const run = async (argvArg) => {
|
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
20
|
if (subcommand === "recommend") {
|
|
21
|
+
if (hasManualCommitInput(argvArg))
|
|
22
|
+
throw new Error("Manual input cannot be combined with commit recommend.");
|
|
21
23
|
await handleRecommend(mode);
|
|
22
24
|
return;
|
|
23
25
|
}
|
|
@@ -28,11 +30,12 @@ export const run = async (argvArg) => {
|
|
|
28
30
|
});
|
|
29
31
|
return;
|
|
30
32
|
}
|
|
31
|
-
const
|
|
33
|
+
const manual = await loadManualCommitInput(argvArg, paths.cwd);
|
|
34
|
+
const workflow = await resolveCommitWorkflow(argvArg, manual ? "manual" : "ai");
|
|
32
35
|
if (workflow.releaseFlagRequested) {
|
|
33
36
|
logger.log("warn", "`gitzone commit -r` is deprecated and no longer releases. Use `gitzone release` after committing.");
|
|
34
37
|
}
|
|
35
|
-
printCommitExecutionPlan(workflow);
|
|
38
|
+
printCommitExecutionPlan(workflow, manual);
|
|
36
39
|
if (workflow.confirmation === "plan") {
|
|
37
40
|
return;
|
|
38
41
|
}
|
|
@@ -42,6 +45,10 @@ export const run = async (argvArg) => {
|
|
|
42
45
|
});
|
|
43
46
|
let nextCommitObject;
|
|
44
47
|
let answerBucket;
|
|
48
|
+
if (manual && !(await hasManualCommitChanges(smartshellInstance)))
|
|
49
|
+
return;
|
|
50
|
+
if (manual && !(await confirmManualCommit(manual, workflow, mode)))
|
|
51
|
+
return;
|
|
45
52
|
for (const step of workflow.steps) {
|
|
46
53
|
switch (step) {
|
|
47
54
|
case "format":
|
|
@@ -66,13 +73,32 @@ export const run = async (argvArg) => {
|
|
|
66
73
|
}
|
|
67
74
|
answerBucket = await buildAnswerBucket(nextCommitObject, workflow, mode, argvArg);
|
|
68
75
|
break;
|
|
76
|
+
case "manual": {
|
|
77
|
+
if (!manual)
|
|
78
|
+
throw new Error("Manual commit input is required.");
|
|
79
|
+
if (!(await hasManualCommitChanges(smartshellInstance)))
|
|
80
|
+
return;
|
|
81
|
+
nextCommitObject = { manual: true };
|
|
82
|
+
answerBucket = createAnswerBucket({
|
|
83
|
+
commitType: manual.type,
|
|
84
|
+
commitScope: manual.scope,
|
|
85
|
+
commitDescription: manual.summary,
|
|
86
|
+
});
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
69
89
|
case "changelog":
|
|
70
90
|
assertAnalysisComplete(answerBucket, nextCommitObject);
|
|
71
|
-
|
|
91
|
+
if (manual) {
|
|
92
|
+
await appendPendingChangelogMarkdown(plugins.path.join(paths.cwd, workflow.changelogFile), workflow.changelogSection, manual.changelog);
|
|
93
|
+
logger.log("success", `Updated ${workflow.changelogFile} pending section.`);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
await runChangelogStep(workflow, answerBucket, nextCommitObject);
|
|
97
|
+
}
|
|
72
98
|
break;
|
|
73
99
|
case "commit":
|
|
74
100
|
assertAnalysisComplete(answerBucket, nextCommitObject);
|
|
75
|
-
await runCommitStep(smartshellInstance, answerBucket);
|
|
101
|
+
await runCommitStep(smartshellInstance, answerBucket, manual?.message);
|
|
76
102
|
break;
|
|
77
103
|
case "push":
|
|
78
104
|
await runPushStep(smartshellInstance, workflow);
|
|
@@ -91,6 +117,28 @@ export const run = async (argvArg) => {
|
|
|
91
117
|
pushed: workflow.steps.includes("push"),
|
|
92
118
|
});
|
|
93
119
|
};
|
|
120
|
+
async function hasManualCommitChanges(smartshellInstance) {
|
|
121
|
+
const status = await smartshellInstance.execSpawn("git", ["status", "--porcelain=v1", "--untracked-files=all"], { cwd: paths.cwd, silent: true });
|
|
122
|
+
if (status.exitCode !== 0)
|
|
123
|
+
throw new Error("Cannot inspect the repository for a manual commit.");
|
|
124
|
+
if (status.stdout.trim())
|
|
125
|
+
return true;
|
|
126
|
+
logger.log("info", "No uncommitted changes found. Nothing to commit.");
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
async function confirmManualCommit(manual, workflow, mode) {
|
|
130
|
+
if (workflow.confirmation === "auto" &&
|
|
131
|
+
(!manual.breaking || workflow.allowBreaking))
|
|
132
|
+
return true;
|
|
133
|
+
if (!mode.interactive) {
|
|
134
|
+
throw new Error(manual.breaking
|
|
135
|
+
? "BREAKING CHANGE confirmation requires an interactive terminal. Use `-y --allow-breaking` to auto-accept it."
|
|
136
|
+
: "Commit confirmation requires an interactive terminal. Use `-y` or set commit.confirmation to `auto`.");
|
|
137
|
+
}
|
|
138
|
+
return plugins.smartinteract.SmartInteract.getCliConfirmation(manual.breaking
|
|
139
|
+
? "Create this breaking commit and changelog entry?"
|
|
140
|
+
: "Create this commit and changelog entry?", false);
|
|
141
|
+
}
|
|
94
142
|
async function runFormatStep() {
|
|
95
143
|
ui.printHeader("Formatting project files");
|
|
96
144
|
const formatMod = await import("../mod_format/index.js");
|
|
@@ -107,7 +155,8 @@ async function runCommandStep(smartshellInstance, label, command) {
|
|
|
107
155
|
}
|
|
108
156
|
async function runAnalyzeStep() {
|
|
109
157
|
ui.printHeader("Analyzing repository changes");
|
|
110
|
-
const
|
|
158
|
+
const tsdoc = await plugins.loadTsdoc();
|
|
159
|
+
const aidoc = new tsdoc.AiDoc();
|
|
111
160
|
await aidoc.start();
|
|
112
161
|
try {
|
|
113
162
|
const nextCommitObject = await aidoc.buildNextCommitObject(paths.cwd);
|
|
@@ -125,7 +174,8 @@ async function runAnalyzeStep() {
|
|
|
125
174
|
}
|
|
126
175
|
async function buildAnswerBucket(nextCommitObject, workflow, mode, argvArg) {
|
|
127
176
|
const isBreakingChange = nextCommitObject.recommendedNextVersionLevel === "BREAKING CHANGE";
|
|
128
|
-
const canAutoAccept = workflow.confirmation === "auto" &&
|
|
177
|
+
const canAutoAccept = workflow.confirmation === "auto" &&
|
|
178
|
+
(!isBreakingChange || workflow.allowBreaking);
|
|
129
179
|
if (canAutoAccept) {
|
|
130
180
|
logger.log(isBreakingChange ? "warn" : "info", isBreakingChange
|
|
131
181
|
? "Auto-accepting BREAKING CHANGE recommendation because --allow-breaking was provided"
|
|
@@ -136,7 +186,8 @@ async function buildAnswerBucket(nextCommitObject, workflow, mode, argvArg) {
|
|
|
136
186
|
commitDescription: nextCommitObject.recommendedNextVersionMessage,
|
|
137
187
|
});
|
|
138
188
|
}
|
|
139
|
-
if (isBreakingChange &&
|
|
189
|
+
if (isBreakingChange &&
|
|
190
|
+
(workflow.confirmation === "auto" || argvArg.y || argvArg.yes)) {
|
|
140
191
|
logger.log("warn", "BREAKING CHANGE detected - manual confirmation required");
|
|
141
192
|
}
|
|
142
193
|
if (!mode.interactive) {
|
|
@@ -185,15 +236,37 @@ async function runChangelogStep(workflow, answerBucket, nextCommitObject) {
|
|
|
185
236
|
});
|
|
186
237
|
logger.log("success", `Updated ${workflow.changelogFile} pending section.`);
|
|
187
238
|
}
|
|
188
|
-
async function runCommitStep(smartshellInstance, answerBucket) {
|
|
239
|
+
async function runCommitStep(smartshellInstance, answerBucket, manualMessage) {
|
|
189
240
|
ui.printHeader("Creating Semantic Commit");
|
|
190
|
-
const commitString = createCommitStringFromAnswerBucket(answerBucket);
|
|
241
|
+
const commitString = manualMessage ?? createCommitStringFromAnswerBucket(answerBucket);
|
|
191
242
|
ui.printCommitMessage(commitString);
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
243
|
+
let messageDirectory;
|
|
244
|
+
try {
|
|
245
|
+
let commitArgs = ["commit", "-m", commitString];
|
|
246
|
+
if (manualMessage !== undefined) {
|
|
247
|
+
messageDirectory = await plugins.fs.mkdtemp(plugins.path.join(plugins.os.tmpdir(), "gitzone-commit-message-"));
|
|
248
|
+
const messagePath = plugins.path.join(messageDirectory, "message.txt");
|
|
249
|
+
await plugins.fs.writeFile(messagePath, `${commitString}\n`, {
|
|
250
|
+
encoding: "utf8",
|
|
251
|
+
mode: 0o600,
|
|
252
|
+
flag: "wx",
|
|
253
|
+
});
|
|
254
|
+
commitArgs = ["commit", "--cleanup=verbatim", "--file", messagePath];
|
|
255
|
+
}
|
|
256
|
+
const staged = await smartshellInstance.execSpawn("git", ["add", "-A"], {
|
|
257
|
+
cwd: paths.cwd,
|
|
258
|
+
});
|
|
259
|
+
if (staged.exitCode !== 0)
|
|
260
|
+
throw new Error("git add failed; no commit was attempted.");
|
|
261
|
+
const result = await smartshellInstance.execSpawn("git", commitArgs, {
|
|
262
|
+
cwd: paths.cwd,
|
|
263
|
+
});
|
|
264
|
+
if (result.exitCode !== 0)
|
|
265
|
+
throw new Error("git commit failed.");
|
|
266
|
+
}
|
|
267
|
+
finally {
|
|
268
|
+
if (messageDirectory)
|
|
269
|
+
await plugins.fs.rm(messageDirectory, { recursive: true, force: true });
|
|
197
270
|
}
|
|
198
271
|
}
|
|
199
272
|
async function runPushStep(smartshellInstance, workflow) {
|
|
@@ -214,20 +287,23 @@ function assertAnalysisComplete(answerBucket, nextCommitObject) {
|
|
|
214
287
|
throw new Error("Commit workflow requires analyze before changelog and commit steps.");
|
|
215
288
|
}
|
|
216
289
|
}
|
|
217
|
-
function
|
|
218
|
-
return `'${value.replaceAll("'", "'\\''")}'`;
|
|
219
|
-
}
|
|
220
|
-
function printCommitExecutionPlan(workflow) {
|
|
290
|
+
function printCommitExecutionPlan(workflow, manual) {
|
|
221
291
|
console.log("");
|
|
222
292
|
console.log("gitzone commit - resolved workflow");
|
|
223
293
|
console.log(`confirmation: ${workflow.confirmation}`);
|
|
294
|
+
console.log(`input: ${manual ? "manual" : "ai"}`);
|
|
224
295
|
console.log(`steps: ${workflow.steps.join(" -> ")}`);
|
|
225
296
|
console.log(`changelog: ${workflow.changelogFile}#${workflow.changelogSection}`);
|
|
297
|
+
if (manual) {
|
|
298
|
+
ui.printCommitMessage(manual.message);
|
|
299
|
+
console.log(manual.changelog);
|
|
300
|
+
}
|
|
226
301
|
console.log("");
|
|
227
302
|
}
|
|
228
303
|
async function handleRecommend(mode) {
|
|
229
304
|
const recommendationBuilder = async () => {
|
|
230
|
-
const
|
|
305
|
+
const tsdoc = await plugins.loadTsdoc();
|
|
306
|
+
const aidoc = new tsdoc.AiDoc();
|
|
231
307
|
await aidoc.start();
|
|
232
308
|
try {
|
|
233
309
|
return await aidoc.buildNextCommitObject(paths.cwd);
|
|
@@ -277,7 +353,7 @@ export function showHelp(mode) {
|
|
|
277
353
|
printJson({
|
|
278
354
|
command: "commit",
|
|
279
355
|
usage: "gitzone commit [recommend] [options]",
|
|
280
|
-
description: "
|
|
356
|
+
description: "Creates one semantic source commit from AI recommendations or explicit manual input.",
|
|
281
357
|
commands: [
|
|
282
358
|
{
|
|
283
359
|
name: "recommend",
|
|
@@ -285,16 +361,55 @@ export function showHelp(mode) {
|
|
|
285
361
|
},
|
|
286
362
|
],
|
|
287
363
|
flags: [
|
|
288
|
-
{
|
|
289
|
-
|
|
364
|
+
{
|
|
365
|
+
flag: "-m, --message <text>",
|
|
366
|
+
description: "Use a complete semantic commit message without AI",
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
flag: "--message-file <path>",
|
|
370
|
+
description: "Read the complete semantic message from a UTF-8 file",
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
flag: "--changelog <text>",
|
|
374
|
+
description: "Use custom Pending entry text or Markdown with a manual message",
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
flag: "--changelog-file <path>",
|
|
378
|
+
description: "Read custom Pending text or Markdown from a UTF-8 file",
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
flag: "-y, --yes",
|
|
382
|
+
description: "Confirm safe AI or manual commit input",
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
flag: "--allow-breaking",
|
|
386
|
+
description: "Allow -y/--yes to accept breaking AI or manual input",
|
|
387
|
+
},
|
|
290
388
|
{ flag: "-p, --push", description: "Push to origin after committing" },
|
|
291
|
-
{
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
{
|
|
389
|
+
{
|
|
390
|
+
flag: "-t, --test",
|
|
391
|
+
description: "Run tests as part of the commit workflow",
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
flag: "-b, --build",
|
|
395
|
+
description: "Run build as part of the commit workflow",
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
flag: "-f, --format",
|
|
399
|
+
description: "Run gitzone format before committing",
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
flag: "--plan",
|
|
403
|
+
description: "Show resolved workflow without mutating files",
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
flag: "--json",
|
|
407
|
+
description: "Emit JSON for `commit recommend` only",
|
|
408
|
+
},
|
|
296
409
|
],
|
|
297
410
|
examples: [
|
|
411
|
+
"gitzone commit -y --message 'fix(cache): expire stale entries'",
|
|
412
|
+
"gitzone commit -y --message-file /tmp/commit.txt --changelog-file /tmp/pending.md",
|
|
298
413
|
"gitzone commit recommend --json",
|
|
299
414
|
"gitzone commit -y",
|
|
300
415
|
"gitzone commit -ytbp",
|
|
@@ -312,8 +427,12 @@ export function showHelp(mode) {
|
|
|
312
427
|
console.log(" recommend Generate a commit recommendation without mutating the repository");
|
|
313
428
|
console.log("");
|
|
314
429
|
console.log("Flags:");
|
|
315
|
-
console.log(" -
|
|
316
|
-
console.log(" --
|
|
430
|
+
console.log(" -m, --message TEXT Use a complete semantic message without AI");
|
|
431
|
+
console.log(" --message-file PATH Read the complete message from a UTF-8 file");
|
|
432
|
+
console.log(" --changelog TEXT Custom Pending entry text or Markdown (requires a manual message)");
|
|
433
|
+
console.log(" --changelog-file PATH Read custom Pending text or Markdown from a UTF-8 file");
|
|
434
|
+
console.log(" -y, --yes Confirm safe AI or manual commit input");
|
|
435
|
+
console.log(" --allow-breaking Allow -y/--yes to accept breaking AI or manual input");
|
|
317
436
|
console.log(" -p, --push Push after commit");
|
|
318
437
|
console.log(" -t, --test Run tests in the configured order");
|
|
319
438
|
console.log(" -b, --build Run build in the configured order");
|
|
@@ -322,10 +441,12 @@ export function showHelp(mode) {
|
|
|
322
441
|
console.log(" --json Emit JSON for `commit recommend` only");
|
|
323
442
|
console.log("");
|
|
324
443
|
console.log("Examples:");
|
|
444
|
+
console.log(" gitzone commit -y --message 'fix(cache): expire stale entries'");
|
|
445
|
+
console.log(" gitzone commit -y --message-file /tmp/commit.txt --changelog-file /tmp/pending.md");
|
|
325
446
|
console.log(" gitzone commit recommend --json");
|
|
326
447
|
console.log(" gitzone commit -y");
|
|
327
448
|
console.log(" gitzone commit -ytbp");
|
|
328
449
|
console.log(" gitzone release");
|
|
329
450
|
console.log("");
|
|
330
451
|
}
|
|
331
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9tb2RfY29tbWl0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUVoRSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0MsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RixNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBYyxFQUFXLEVBQUU7SUFDbkQsT0FBTyxDQUNMLEtBQUssWUFBWSxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWM7UUFDN0MsQ0FBQyxLQUFLLFlBQVksS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsQ0FDNUQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsT0FBWSxFQUFFLEVBQUU7SUFDeEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWxDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxVQUFVLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDdkMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2YsT0FBTztJQUNULENBQUM7SUFFRCxJ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
|
|
452
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9tb2RfY29tbWl0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUVoRSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsQyxPQUFPLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFDVCx1QkFBdUIsR0FDeEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDhCQUE4QixHQUMvQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFDTCxxQkFBcUIsR0FFdEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHFCQUFxQixHQUV0QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFjLEVBQVcsRUFBRTtJQUNuRCxPQUFPLEtBQUssWUFBWSxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQztBQUNuRSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLE9BQVksRUFBRSxFQUFFO0lBQ3hDLE1BQU0sSUFBSSxHQUFHLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVsQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksVUFBVSxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQ3ZDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNmLE9BQU87SUFD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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
import * as commitinfo from
|
|
3
|
-
import * as smartfile from
|
|
4
|
-
import * as smartinteract from
|
|
5
|
-
import * as smartshell from
|
|
6
|
-
|
|
7
|
-
export { commitinfo, smartfile, smartinteract, smartshell
|
|
1
|
+
export * from "../plugins.js";
|
|
2
|
+
import * as commitinfo from "@push.rocks/commitinfo";
|
|
3
|
+
import * as smartfile from "@push.rocks/smartfile";
|
|
4
|
+
import * as smartinteract from "@push.rocks/smartinteract";
|
|
5
|
+
import * as smartshell from "@push.rocks/smartshell";
|
|
6
|
+
export declare const loadTsdoc: () => Promise<typeof import("@git.zone/tsdoc")>;
|
|
7
|
+
export { commitinfo, smartfile, smartinteract, smartshell };
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
import * as commitinfo from
|
|
3
|
-
import * as smartfile from
|
|
4
|
-
import * as smartinteract from
|
|
5
|
-
import * as smartshell from
|
|
6
|
-
|
|
7
|
-
export
|
|
8
|
-
|
|
1
|
+
export * from "../plugins.js";
|
|
2
|
+
import * as commitinfo from "@push.rocks/commitinfo";
|
|
3
|
+
import * as smartfile from "@push.rocks/smartfile";
|
|
4
|
+
import * as smartinteract from "@push.rocks/smartinteract";
|
|
5
|
+
import * as smartshell from "@push.rocks/smartshell";
|
|
6
|
+
// Manual commits must not load or initialize the AI dependency chain.
|
|
7
|
+
export const loadTsdoc = () => import("@git.zone/tsdoc");
|
|
8
|
+
export { commitinfo, smartfile, smartinteract, smartshell };
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kLnBsdWdpbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9tb2RfY29tbWl0L21vZC5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBRTlCLE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxLQUFLLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEtBQUssYUFBYSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsc0VBQXNFO0FBQ3RFLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLENBQUMifQ==
|
|
@@ -8,7 +8,7 @@ import { logger } from "../gitzone.logging.js";
|
|
|
8
8
|
const commandSummaries = [
|
|
9
9
|
{
|
|
10
10
|
name: "commit",
|
|
11
|
-
description: "
|
|
11
|
+
description: "Create semantic source commits from AI or manual input",
|
|
12
12
|
},
|
|
13
13
|
{ name: "release", description: "Create versioned releases from pending changelog entries" },
|
|
14
14
|
{ name: "format", description: "Plan or apply project formatting changes" },
|
|
@@ -218,4 +218,4 @@ async function showCommandHelp(commandName, mode) {
|
|
|
218
218
|
return false;
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9tb2Rfc3RhbmRhcmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O3FEQUVxRDtBQUNyRCxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTy9DLE1BQU0sZ0JBQWdCLEdBQTBCO0lBQzlDO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxXQUFXLEVBQ1Qsd0RBQXdEO0tBQzNEO0lBQ0QsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSwwREFBMEQsRUFBRTtJQUM1RixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLDBDQUEwQyxFQUFFO0lBQzNFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsNENBQTRDLEVBQUU7SUFDN0UsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSwwQ0FBMEMsRUFBRTtJQUM3RSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLHVDQUF1QyxFQUFFO0lBQ3ZFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsa0NBQWtDLEVBQUU7SUFDckUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxrQ0FBa0MsRUFBRTtJQUNqRTtRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsV0FBVyxFQUFFLGlFQUFpRTtLQUMvRTtJQUNEO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsV0FBVyxFQUFFLDBDQUEwQztLQUN4RDtJQUNELEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsOEJB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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@git.zone/cli",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "6.
|
|
4
|
+
"version": "6.12.0",
|
|
5
5
|
"description": "A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.",
|
|
6
6
|
"main": "dist_ts/index.js",
|
|
7
7
|
"typings": "dist_ts/index.d.ts",
|