herdctl 1.3.10 → 1.4.1

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 (46) hide show
  1. package/dist/commands/__tests__/agent.test.d.ts +2 -0
  2. package/dist/commands/__tests__/agent.test.d.ts.map +1 -0
  3. package/dist/commands/__tests__/agent.test.js +1461 -0
  4. package/dist/commands/__tests__/agent.test.js.map +1 -0
  5. package/dist/commands/__tests__/init-agent.test.d.ts +2 -0
  6. package/dist/commands/__tests__/init-agent.test.d.ts.map +1 -0
  7. package/dist/commands/__tests__/init-agent.test.js +363 -0
  8. package/dist/commands/__tests__/init-agent.test.js.map +1 -0
  9. package/dist/commands/__tests__/init-fleet.test.d.ts +2 -0
  10. package/dist/commands/__tests__/init-fleet.test.d.ts.map +1 -0
  11. package/dist/commands/__tests__/init-fleet.test.js +154 -0
  12. package/dist/commands/__tests__/init-fleet.test.js.map +1 -0
  13. package/dist/commands/__tests__/init.test.js +43 -213
  14. package/dist/commands/__tests__/init.test.js.map +1 -1
  15. package/dist/commands/agent.d.ts +143 -0
  16. package/dist/commands/agent.d.ts.map +1 -0
  17. package/dist/commands/agent.js +845 -0
  18. package/dist/commands/agent.js.map +1 -0
  19. package/dist/commands/init-agent.d.ts +22 -0
  20. package/dist/commands/init-agent.d.ts.map +1 -0
  21. package/dist/commands/init-agent.js +273 -0
  22. package/dist/commands/init-agent.js.map +1 -0
  23. package/dist/commands/init-fleet.d.ts +13 -0
  24. package/dist/commands/init-fleet.d.ts.map +1 -0
  25. package/dist/commands/init-fleet.js +91 -0
  26. package/dist/commands/init-fleet.js.map +1 -0
  27. package/dist/commands/init-utils.d.ts +8 -0
  28. package/dist/commands/init-utils.d.ts.map +1 -0
  29. package/dist/commands/init-utils.js +24 -0
  30. package/dist/commands/init-utils.js.map +1 -0
  31. package/dist/commands/init.d.ts +9 -9
  32. package/dist/commands/init.d.ts.map +1 -1
  33. package/dist/commands/init.js +30 -289
  34. package/dist/commands/init.js.map +1 -1
  35. package/dist/commands/start.d.ts.map +1 -1
  36. package/dist/commands/start.js +2 -0
  37. package/dist/commands/start.js.map +1 -1
  38. package/dist/index.d.ts +3 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +131 -8
  41. package/dist/index.js.map +1 -1
  42. package/dist/utils/banner.d.ts +11 -0
  43. package/dist/utils/banner.d.ts.map +1 -0
  44. package/dist/utils/banner.js +47 -0
  45. package/dist/utils/banner.js.map +1 -0
  46. package/package.json +6 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * herdctl init agent - Add a new agent to the fleet
3
+ *
4
+ * Interactive command that walks through agent configuration:
5
+ * - Name, description, permission mode
6
+ * - Docker, runtime
7
+ * - Discord/Slack chat integration
8
+ *
9
+ * Generates agents/<name>/agent.yaml and appends a reference to herdctl.yaml.
10
+ */
11
+ export interface InitAgentOptions {
12
+ description?: string;
13
+ permissionMode?: string;
14
+ docker?: boolean;
15
+ runtime?: string;
16
+ discord?: boolean;
17
+ slack?: boolean;
18
+ yes?: boolean;
19
+ force?: boolean;
20
+ }
21
+ export declare function initAgentCommand(nameArg: string | undefined, options: InitAgentOptions): Promise<void>;
22
+ //# sourceMappingURL=init-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-agent.d.ts","sourceRoot":"","sources":["../../src/commands/init-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAoHD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAwLf"}
@@ -0,0 +1,273 @@
1
+ /**
2
+ * herdctl init agent - Add a new agent to the fleet
3
+ *
4
+ * Interactive command that walks through agent configuration:
5
+ * - Name, description, permission mode
6
+ * - Docker, runtime
7
+ * - Discord/Slack chat integration
8
+ *
9
+ * Generates agents/<name>/agent.yaml and appends a reference to herdctl.yaml.
10
+ */
11
+ import { execSync } from "node:child_process";
12
+ import * as fs from "node:fs";
13
+ import * as path from "node:path";
14
+ import { addAgentToFleetConfig, createLogger, PermissionModeSchema } from "@herdctl/core";
15
+ import { confirm, input, select } from "@inquirer/prompts";
16
+ import { stringify as stringifyYaml } from "yaml";
17
+ const logger = createLogger("cli:init-agent");
18
+ /** Must match AGENT_NAME_PATTERN from @herdctl/core schema */
19
+ const AGENT_NAME_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9_-]*$/;
20
+ const PERMISSION_MODES = PermissionModeSchema.options;
21
+ function isDockerAvailable() {
22
+ try {
23
+ execSync("docker --version", { stdio: "ignore" });
24
+ return true;
25
+ }
26
+ catch {
27
+ return false;
28
+ }
29
+ }
30
+ /**
31
+ * Safely format a YAML scalar value using the yaml library.
32
+ * This handles all special characters including colons, newlines, quotes, etc.
33
+ */
34
+ function yamlScalar(value) {
35
+ // Use stringify to get properly quoted/escaped YAML, then trim the trailing newline
36
+ return stringifyYaml(value).trimEnd();
37
+ }
38
+ function generateAgentYaml(config) {
39
+ const lines = [];
40
+ lines.push(`name: ${yamlScalar(config.name)}`);
41
+ if (config.description) {
42
+ lines.push(`description: ${yamlScalar(config.description)}`);
43
+ }
44
+ lines.push("");
45
+ lines.push(`permission_mode: ${config.permissionMode}`);
46
+ lines.push(`runtime: ${config.runtime}`);
47
+ if (config.docker) {
48
+ lines.push("");
49
+ lines.push("docker:");
50
+ lines.push(" enabled: true");
51
+ }
52
+ // Commented-out system prompt
53
+ lines.push("");
54
+ lines.push("# System prompt defines the agent's behavior");
55
+ lines.push("# system_prompt: |");
56
+ lines.push("# You are a helpful assistant.");
57
+ // Commented-out schedule boilerplate
58
+ lines.push("");
59
+ lines.push("# Schedules define when the agent runs automatically.");
60
+ lines.push("# See https://herdctl.dev for schedule configuration docs.");
61
+ lines.push("#");
62
+ lines.push("# schedules:");
63
+ lines.push("# heartbeat:");
64
+ lines.push("# type: interval");
65
+ lines.push("# interval: 5m");
66
+ lines.push("# prompt: |");
67
+ lines.push("# Report current status.");
68
+ lines.push("#");
69
+ lines.push("# daily-check:");
70
+ lines.push("# type: cron");
71
+ lines.push('# expression: "0 9 * * *"');
72
+ lines.push("# prompt: |");
73
+ lines.push("# Run the daily check.");
74
+ // Chat integrations
75
+ if (config.discord || config.slack) {
76
+ lines.push("");
77
+ lines.push("chat:");
78
+ if (config.discord) {
79
+ lines.push(" discord:");
80
+ lines.push(" bot_token_env: DISCORD_BOT_TOKEN");
81
+ lines.push(" session_expiry_hours: 24");
82
+ lines.push(" log_level: standard");
83
+ lines.push(" guilds:");
84
+ // biome-ignore lint/suspicious/noTemplateCurlyInString: YAML placeholder, not JS template
85
+ lines.push(' - id: "${DISCORD_GUILD_ID}"');
86
+ lines.push(" channels:");
87
+ // biome-ignore lint/suspicious/noTemplateCurlyInString: YAML placeholder, not JS template
88
+ lines.push(' - id: "${DISCORD_CHANNEL_ID}"');
89
+ lines.push(' name: "#general"');
90
+ lines.push(" mode: mention");
91
+ lines.push(" context_messages: 10");
92
+ lines.push(" dm:");
93
+ lines.push(" enabled: true");
94
+ lines.push(" mode: auto");
95
+ }
96
+ if (config.slack) {
97
+ lines.push(" slack:");
98
+ lines.push(" bot_token_env: SLACK_BOT_TOKEN");
99
+ lines.push(" app_token_env: SLACK_APP_TOKEN");
100
+ lines.push(" session_expiry_hours: 24");
101
+ lines.push(" log_level: standard");
102
+ lines.push(" channels:");
103
+ // biome-ignore lint/suspicious/noTemplateCurlyInString: YAML placeholder, not JS template
104
+ lines.push(' - id: "${SLACK_CHANNEL_ID}"');
105
+ }
106
+ }
107
+ lines.push("");
108
+ return lines.join("\n");
109
+ }
110
+ export async function initAgentCommand(nameArg, options) {
111
+ const cwd = process.cwd();
112
+ const configPath = path.join(cwd, "herdctl.yaml");
113
+ const agentsDir = path.join(cwd, "agents");
114
+ // Check fleet config exists
115
+ if (!fs.existsSync(configPath)) {
116
+ logger.error("No herdctl.yaml found. Run 'herdctl init fleet' first.");
117
+ process.exitCode = 1;
118
+ return;
119
+ }
120
+ const dockerAvailable = isDockerAvailable();
121
+ let agentName;
122
+ let description;
123
+ let permissionMode;
124
+ let docker;
125
+ let runtime;
126
+ let discord;
127
+ let slack;
128
+ if (options.yes) {
129
+ // Non-interactive mode
130
+ if (!nameArg) {
131
+ logger.error("Agent name is required with --yes flag.");
132
+ logger.error("Usage: herdctl init agent <name> --yes");
133
+ process.exitCode = 1;
134
+ return;
135
+ }
136
+ if (!AGENT_NAME_PATTERN.test(nameArg)) {
137
+ logger.error("Agent name must start with a letter or number and contain only letters, numbers, hyphens, and underscores.");
138
+ process.exitCode = 1;
139
+ return;
140
+ }
141
+ agentName = nameArg;
142
+ description = options.description || "";
143
+ permissionMode = options.permissionMode || "default";
144
+ docker = options.docker ?? dockerAvailable;
145
+ runtime = options.runtime || "sdk";
146
+ discord = options.discord || false;
147
+ slack = options.slack || false;
148
+ // Validate permission mode
149
+ if (!PERMISSION_MODES.includes(permissionMode)) {
150
+ logger.error(`Invalid permission mode '${permissionMode}'.`);
151
+ logger.error(`Valid modes: ${PERMISSION_MODES.join(", ")}`);
152
+ process.exitCode = 1;
153
+ return;
154
+ }
155
+ // Validate runtime
156
+ if (runtime !== "sdk" && runtime !== "cli") {
157
+ logger.error(`Invalid runtime '${runtime}'. Must be 'sdk' or 'cli'.`);
158
+ process.exitCode = 1;
159
+ return;
160
+ }
161
+ }
162
+ else {
163
+ // Interactive mode
164
+ if (nameArg) {
165
+ if (!AGENT_NAME_PATTERN.test(nameArg)) {
166
+ logger.error("Agent name must start with a letter or number and contain only letters, numbers, hyphens, and underscores.");
167
+ process.exitCode = 1;
168
+ return;
169
+ }
170
+ agentName = nameArg;
171
+ }
172
+ else {
173
+ agentName = await input({
174
+ message: "Agent name:",
175
+ validate: (value) => {
176
+ if (!value.trim())
177
+ return "Agent name is required";
178
+ if (!AGENT_NAME_PATTERN.test(value)) {
179
+ return "Agent name must start with a letter or number and contain only letters, numbers, hyphens, and underscores";
180
+ }
181
+ return true;
182
+ },
183
+ });
184
+ }
185
+ description = await input({
186
+ message: "Description (optional):",
187
+ default: "",
188
+ });
189
+ permissionMode = await select({
190
+ message: "Permission mode:",
191
+ choices: PERMISSION_MODES.map((mode) => ({
192
+ name: mode,
193
+ value: mode,
194
+ })),
195
+ default: "default",
196
+ });
197
+ docker = await confirm({
198
+ message: "Enable Docker isolation?",
199
+ default: dockerAvailable,
200
+ });
201
+ runtime = await select({
202
+ message: "Runtime:",
203
+ choices: [
204
+ { name: "sdk - Claude Agent SDK (standard pricing)", value: "sdk" },
205
+ { name: "cli - Claude CLI (Max plan pricing)", value: "cli" },
206
+ ],
207
+ default: "sdk",
208
+ });
209
+ discord = await confirm({
210
+ message: "Connect to Discord?",
211
+ default: false,
212
+ });
213
+ slack = await confirm({
214
+ message: "Connect to Slack?",
215
+ default: false,
216
+ });
217
+ }
218
+ // Check if agent directory already exists
219
+ const agentDir = path.join(agentsDir, agentName);
220
+ const agentPath = path.join(agentDir, "agent.yaml");
221
+ if (fs.existsSync(agentDir) && !options.force) {
222
+ logger.error(`agents/${agentName}/ already exists. Use --force to overwrite.`);
223
+ process.exitCode = 1;
224
+ return;
225
+ }
226
+ // Create agent directory (agents/<name>/)
227
+ fs.mkdirSync(agentDir, { recursive: true });
228
+ // Generate and write agent config
229
+ const agentYaml = generateAgentYaml({
230
+ name: agentName,
231
+ description,
232
+ permissionMode,
233
+ docker,
234
+ runtime,
235
+ discord,
236
+ slack,
237
+ });
238
+ fs.writeFileSync(agentPath, agentYaml, "utf-8");
239
+ // Append agent reference to herdctl.yaml
240
+ await addAgentToFleetConfig({
241
+ configPath,
242
+ agentPath: `./agents/${agentName}/agent.yaml`,
243
+ });
244
+ // Print success
245
+ console.log("");
246
+ console.log(`Added agent '${agentName}'`);
247
+ console.log("");
248
+ console.log("Created:");
249
+ console.log(` agents/${agentName}/agent.yaml`);
250
+ console.log("");
251
+ console.log("Updated:");
252
+ console.log(" herdctl.yaml (added agent reference)");
253
+ console.log("");
254
+ console.log("Next steps:");
255
+ console.log("");
256
+ console.log(" 1. Customize your agent:");
257
+ console.log(` - agents/${agentName}/agent.yaml`);
258
+ console.log("");
259
+ console.log(" 2. Start your fleet:");
260
+ console.log(" $ herdctl start");
261
+ console.log("");
262
+ if (discord) {
263
+ console.log(" Set Discord environment variables:");
264
+ console.log(" DISCORD_BOT_TOKEN, DISCORD_GUILD_ID, DISCORD_CHANNEL_ID");
265
+ console.log("");
266
+ }
267
+ if (slack) {
268
+ console.log(" Set Slack environment variables:");
269
+ console.log(" SLACK_BOT_TOKEN, SLACK_APP_TOKEN, SLACK_CHANNEL_ID");
270
+ console.log("");
271
+ }
272
+ }
273
+ //# sourceMappingURL=init-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-agent.js","sourceRoot":"","sources":["../../src/commands/init-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * herdctl init fleet - Initialize a new herdctl fleet
3
+ *
4
+ * Non-interactive command that scaffolds:
5
+ * - herdctl.yaml with a comprehensive commented template
6
+ * - .herdctl/ state directory
7
+ */
8
+ export interface InitFleetOptions {
9
+ name?: string;
10
+ force?: boolean;
11
+ }
12
+ export declare function initFleetCommand(options: InitFleetOptions): Promise<void>;
13
+ //# sourceMappingURL=init-fleet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-fleet.d.ts","sourceRoot":"","sources":["../../src/commands/init-fleet.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA4CD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0C/E"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * herdctl init fleet - Initialize a new herdctl fleet
3
+ *
4
+ * Non-interactive command that scaffolds:
5
+ * - herdctl.yaml with a comprehensive commented template
6
+ * - .herdctl/ state directory
7
+ */
8
+ import * as fs from "node:fs";
9
+ import * as path from "node:path";
10
+ import { createLogger } from "@herdctl/core";
11
+ import { updateGitignore } from "./init-utils.js";
12
+ const logger = createLogger("cli:init-fleet");
13
+ function generateFleetTemplate(fleetName) {
14
+ return `# herdctl fleet configuration
15
+ #
16
+ # This file defines your agent fleet. Start agents with:
17
+ # herdctl start
18
+ #
19
+ # Full documentation: https://herdctl.dev
20
+
21
+ version: 1
22
+
23
+ fleet:
24
+ name: ${fleetName}
25
+ # description: A brief description of this fleet
26
+
27
+ # Fleet-wide defaults applied to all agents (agents can override)
28
+ # defaults:
29
+ # permission_mode: default # default | acceptEdits | bypassPermissions | plan
30
+ # max_turns: 50
31
+ # model: claude-sonnet-4-20250514
32
+ #
33
+ # # Docker isolation (applies to all agents unless overridden)
34
+ # # docker:
35
+ # # enabled: true
36
+ # # image: anthropic/claude-code:latest
37
+ # # network: bridge
38
+ # # memory: 2g
39
+
40
+ # Web dashboard — access at http://localhost:3232
41
+ web:
42
+ enabled: true
43
+ port: 3232
44
+
45
+ # Compose sub-fleets from other herdctl.yaml files
46
+ # fleets:
47
+ # - path: ./other-fleet/herdctl.yaml
48
+ # name: other-fleet
49
+
50
+ # Add agents with: herdctl init agent <name>
51
+ agents: []
52
+ `;
53
+ }
54
+ export async function initFleetCommand(options) {
55
+ const cwd = process.cwd();
56
+ const configPath = path.join(cwd, "herdctl.yaml");
57
+ const stateDir = path.join(cwd, ".herdctl");
58
+ // Check if config already exists
59
+ if (fs.existsSync(configPath) && !options.force) {
60
+ logger.error("herdctl.yaml already exists. Use --force to overwrite.");
61
+ process.exitCode = 1;
62
+ return;
63
+ }
64
+ const fleetName = options.name || path.basename(cwd);
65
+ // Create state directory
66
+ if (!fs.existsSync(stateDir)) {
67
+ fs.mkdirSync(stateDir, { recursive: true });
68
+ }
69
+ // Write fleet config
70
+ fs.writeFileSync(configPath, generateFleetTemplate(fleetName), "utf-8");
71
+ // Update .gitignore
72
+ updateGitignore(cwd);
73
+ // Print success message
74
+ console.log("");
75
+ console.log("Initialized herdctl fleet");
76
+ console.log("");
77
+ console.log("Created:");
78
+ console.log(" herdctl.yaml");
79
+ console.log(" .herdctl/");
80
+ console.log("");
81
+ console.log("Next steps:");
82
+ console.log("");
83
+ console.log(" 1. Add an agent:");
84
+ console.log(" $ herdctl init agent <name>");
85
+ console.log("");
86
+ console.log(" 2. Start your fleet:");
87
+ console.log(" $ herdctl start");
88
+ console.log("");
89
+ console.log("Documentation: https://herdctl.dev");
90
+ }
91
+ //# sourceMappingURL=init-fleet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-fleet.js","sourceRoot":"","sources":["../../src/commands/init-fleet.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAO9C,SAAS,qBAAqB,CAAC,SAAiB;IAC9C,OAAO;;;;;;;;;;UAUC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BlB,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAyB;IAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAE5C,iCAAiC;IACjC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACvE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAErD,yBAAyB;IACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,qBAAqB;IACrB,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IAExE,oBAAoB;IACpB,eAAe,CAAC,GAAG,CAAC,CAAC;IAErB,wBAAwB;IACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Shared utilities for herdctl init commands.
3
+ */
4
+ /**
5
+ * Update .gitignore to include .herdctl/ if it exists and doesn't already have it.
6
+ */
7
+ export declare function updateGitignore(cwd: string): void;
8
+ //# sourceMappingURL=init-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-utils.d.ts","sourceRoot":"","sources":["../../src/commands/init-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAkBjD"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Shared utilities for herdctl init commands.
3
+ */
4
+ import * as fs from "node:fs";
5
+ import * as path from "node:path";
6
+ /**
7
+ * Update .gitignore to include .herdctl/ if it exists and doesn't already have it.
8
+ */
9
+ export function updateGitignore(cwd) {
10
+ const gitignorePath = path.join(cwd, ".gitignore");
11
+ if (!fs.existsSync(gitignorePath)) {
12
+ return;
13
+ }
14
+ const gitignoreContent = fs.readFileSync(gitignorePath, "utf-8");
15
+ const linesToAdd = [];
16
+ if (!gitignoreContent.includes(".herdctl/")) {
17
+ linesToAdd.push(".herdctl/");
18
+ }
19
+ if (linesToAdd.length > 0) {
20
+ const newContent = `${gitignoreContent.trimEnd()}\n\n# herdctl state directory\n${linesToAdd.join("\n")}\n`;
21
+ fs.writeFileSync(gitignorePath, newContent, "utf-8");
22
+ }
23
+ }
24
+ //# sourceMappingURL=init-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-utils.js","sourceRoot":"","sources":["../../src/commands/init-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAEnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,GAAG,gBAAgB,CAAC,OAAO,EAAE,kCAAkC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5G,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
@@ -1,16 +1,16 @@
1
1
  /**
2
- * herdctl init - Initialize a new herdctl project
2
+ * herdctl init - Router for init subcommands
3
3
  *
4
- * Scaffolds a new project with:
5
- * - herdctl.yaml configuration file
6
- * - agents/ directory with example agent
7
- * - .herdctl/ state directory
4
+ * When invoked without a subcommand, asks whether to initialize a fleet or agent.
8
5
  */
9
- export interface InitOptions {
10
- name?: string;
11
- example?: string;
6
+ export { updateGitignore } from "./init-utils.js";
7
+ export interface InitRouterOptions {
12
8
  yes?: boolean;
13
9
  force?: boolean;
14
10
  }
15
- export declare function initCommand(options: InitOptions): Promise<void>;
11
+ /**
12
+ * Router action for bare `herdctl init` (no subcommand).
13
+ * Prompts the user to choose between fleet and agent initialization.
14
+ */
15
+ export declare function initRouterAction(options: InitRouterOptions): Promise<void>;
16
16
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAmKD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA2JrE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BhF"}