feat(cli): add toolchain management command

This commit is contained in:
2026-05-10 11:04:57 +00:00
parent a420157287
commit f421c5851d
7 changed files with 578 additions and 0 deletions
+13
View File
@@ -23,6 +23,7 @@ const commandSummaries: ICommandHelpSummary[] = [
{ name: "format", description: "Plan or apply project formatting changes" },
{ name: "config", description: "Read and change .smartconfig.json settings" },
{ name: "services", description: "Manage or configure development services" },
{ name: "tools", description: "Manage the global @git.zone toolchain" },
{ name: "template", description: "Create a project from a template" },
{ name: "open", description: "Open project assets and CI pages" },
{ name: "docker", description: "Run Docker-related maintenance tasks" },
@@ -75,6 +76,7 @@ export let run = async (argvArg: any = {}) => {
{ name: "Configure release settings", value: "config" },
{ name: "Create from template", value: "template" },
{ name: "Manage dev services (MongoDB, S3)", value: "services" },
{ name: "Manage global @git.zone tools", value: "tools" },
{ name: "Open project assets", value: "open" },
{ name: "Show help", value: "help" },
],
@@ -113,6 +115,11 @@ export let run = async (argvArg: any = {}) => {
await modServices.run({ _: ["services"] });
break;
}
case "tools": {
const modTools = await import("../mod_tools/index.js");
await modTools.run({ _: ["tools"] });
break;
}
case "open": {
const modOpen = await import("../mod_open/index.js");
await modOpen.run({ _: ["open"] });
@@ -196,6 +203,7 @@ export async function showHelp(
console.log(" gitzone release --plan");
console.log(" gitzone format plan --json");
console.log(" gitzone services set mongodb,minio");
console.log(" gitzone tools update");
console.log("");
console.log("Run gitzone <command> --help for command-specific usage.");
console.log("");
@@ -231,6 +239,11 @@ async function showCommandHelp(
modServices.showHelp(mode);
return true;
}
case "tools": {
const modTools = await import("../mod_tools/index.js");
modTools.showHelp(mode);
return true;
}
default:
return false;
}