herdctl 0.0.1 → 0.0.2
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/bin/herdctl.js +9 -0
- package/dist/commands/__tests__/config.test.d.ts +2 -0
- package/dist/commands/__tests__/config.test.d.ts.map +1 -0
- package/dist/commands/__tests__/config.test.js +299 -0
- package/dist/commands/__tests__/config.test.js.map +1 -0
- package/dist/commands/__tests__/init.test.d.ts +2 -0
- package/dist/commands/__tests__/init.test.d.ts.map +1 -0
- package/dist/commands/__tests__/init.test.js +247 -0
- package/dist/commands/__tests__/init.test.js.map +1 -0
- package/dist/commands/__tests__/start.test.d.ts +2 -0
- package/dist/commands/__tests__/start.test.d.ts.map +1 -0
- package/dist/commands/__tests__/start.test.js +185 -0
- package/dist/commands/__tests__/start.test.js.map +1 -0
- package/dist/commands/__tests__/status.test.d.ts +2 -0
- package/dist/commands/__tests__/status.test.d.ts.map +1 -0
- package/dist/commands/__tests__/status.test.js +342 -0
- package/dist/commands/__tests__/status.test.js.map +1 -0
- package/dist/commands/__tests__/stop.test.d.ts +2 -0
- package/dist/commands/__tests__/stop.test.d.ts.map +1 -0
- package/dist/commands/__tests__/stop.test.js +229 -0
- package/dist/commands/__tests__/stop.test.js.map +1 -0
- package/dist/commands/__tests__/trigger.test.d.ts +2 -0
- package/dist/commands/__tests__/trigger.test.d.ts.map +1 -0
- package/dist/commands/__tests__/trigger.test.js +321 -0
- package/dist/commands/__tests__/trigger.test.js.map +1 -0
- package/dist/commands/cancel.d.ts +20 -0
- package/dist/commands/cancel.d.ts.map +1 -0
- package/dist/commands/cancel.js +263 -0
- package/dist/commands/cancel.js.map +1 -0
- package/dist/commands/config.d.ts +26 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +287 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/init.d.ts +16 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +305 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/job.d.ts +19 -0
- package/dist/commands/job.d.ts.map +1 -0
- package/dist/commands/job.js +460 -0
- package/dist/commands/job.js.map +1 -0
- package/dist/commands/jobs.d.ts +23 -0
- package/dist/commands/jobs.d.ts.map +1 -0
- package/dist/commands/jobs.js +328 -0
- package/dist/commands/jobs.js.map +1 -0
- package/dist/commands/logs.d.ts +25 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +360 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/start.d.ts +17 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +166 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/status.d.ts +18 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +373 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/stop.d.ts +18 -0
- package/dist/commands/stop.d.ts.map +1 -0
- package/dist/commands/stop.js +161 -0
- package/dist/commands/stop.js.map +1 -0
- package/dist/commands/trigger.d.ts +23 -0
- package/dist/commands/trigger.d.ts.map +1 -0
- package/dist/commands/trigger.js +332 -0
- package/dist/commands/trigger.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +283 -0
- package/dist/index.js.map +1 -0
- package/package.json +46 -7
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* herdctl init - Initialize a new herdctl project
|
|
3
|
+
*
|
|
4
|
+
* Scaffolds a new project with:
|
|
5
|
+
* - herdctl.yaml configuration file
|
|
6
|
+
* - agents/ directory with example agent
|
|
7
|
+
* - .herdctl/ state directory
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from "node:fs";
|
|
10
|
+
import * as path from "node:path";
|
|
11
|
+
import { input, confirm, select } from "@inquirer/prompts";
|
|
12
|
+
const TEMPLATES = {
|
|
13
|
+
simple: {
|
|
14
|
+
name: "simple",
|
|
15
|
+
description: "A basic fleet with one agent that runs on a schedule",
|
|
16
|
+
fleetConfig: `# herdctl fleet configuration
|
|
17
|
+
#
|
|
18
|
+
# This file defines your agent fleet.
|
|
19
|
+
# Run \`herdctl start\` to start all agents.
|
|
20
|
+
|
|
21
|
+
version: 1
|
|
22
|
+
|
|
23
|
+
fleet:
|
|
24
|
+
name: {{FLEET_NAME}}
|
|
25
|
+
description: {{FLEET_DESCRIPTION}}
|
|
26
|
+
|
|
27
|
+
defaults:
|
|
28
|
+
model: claude-sonnet-4-20250514
|
|
29
|
+
max_turns: 50
|
|
30
|
+
permission_mode: default
|
|
31
|
+
|
|
32
|
+
agents:
|
|
33
|
+
- path: ./agents/example-agent.yaml
|
|
34
|
+
`,
|
|
35
|
+
agentConfig: `# Example agent configuration
|
|
36
|
+
#
|
|
37
|
+
# This agent runs on a schedule and can be customized
|
|
38
|
+
# to perform various tasks.
|
|
39
|
+
|
|
40
|
+
name: example-agent
|
|
41
|
+
description: An example agent
|
|
42
|
+
|
|
43
|
+
# System prompt defines the agent's behavior
|
|
44
|
+
system_prompt: |
|
|
45
|
+
You are a helpful assistant. When triggered,
|
|
46
|
+
analyze the task and provide a useful response.
|
|
47
|
+
|
|
48
|
+
# Workspace - where the agent operates
|
|
49
|
+
workspace:
|
|
50
|
+
path: ./workspace
|
|
51
|
+
|
|
52
|
+
# Schedules - when the agent runs
|
|
53
|
+
schedules:
|
|
54
|
+
heartbeat:
|
|
55
|
+
type: interval
|
|
56
|
+
interval: 5m
|
|
57
|
+
prompt: |
|
|
58
|
+
Report the current status and any pending tasks.
|
|
59
|
+
Keep your response brief.
|
|
60
|
+
|
|
61
|
+
# Permissions - what the agent can do
|
|
62
|
+
permissions:
|
|
63
|
+
allowed_tools:
|
|
64
|
+
- Read
|
|
65
|
+
- Glob
|
|
66
|
+
- Grep
|
|
67
|
+
- Edit
|
|
68
|
+
- Write
|
|
69
|
+
`,
|
|
70
|
+
agentFilename: "example-agent.yaml",
|
|
71
|
+
},
|
|
72
|
+
quickstart: {
|
|
73
|
+
name: "quickstart",
|
|
74
|
+
description: "Minimal setup - a single agent that says hello",
|
|
75
|
+
fleetConfig: `# herdctl fleet configuration
|
|
76
|
+
#
|
|
77
|
+
# Minimal configuration to get started quickly.
|
|
78
|
+
|
|
79
|
+
version: 1
|
|
80
|
+
|
|
81
|
+
fleet:
|
|
82
|
+
name: {{FLEET_NAME}}
|
|
83
|
+
|
|
84
|
+
agents:
|
|
85
|
+
- path: ./agents/hello-agent.yaml
|
|
86
|
+
`,
|
|
87
|
+
agentConfig: `# Hello Agent
|
|
88
|
+
#
|
|
89
|
+
# A simple agent that demonstrates basic scheduling.
|
|
90
|
+
|
|
91
|
+
name: hello-agent
|
|
92
|
+
description: A simple agent that says hello
|
|
93
|
+
|
|
94
|
+
schedules:
|
|
95
|
+
greet:
|
|
96
|
+
type: interval
|
|
97
|
+
interval: 30s
|
|
98
|
+
prompt: |
|
|
99
|
+
Say hello and report the current date and time.
|
|
100
|
+
Keep your response brief (1-2 sentences).
|
|
101
|
+
`,
|
|
102
|
+
agentFilename: "hello-agent.yaml",
|
|
103
|
+
},
|
|
104
|
+
github: {
|
|
105
|
+
name: "github",
|
|
106
|
+
description: "Agent that processes GitHub issues with 'ready' label",
|
|
107
|
+
fleetConfig: `# herdctl fleet configuration
|
|
108
|
+
#
|
|
109
|
+
# Fleet configured to process GitHub issues.
|
|
110
|
+
|
|
111
|
+
version: 1
|
|
112
|
+
|
|
113
|
+
fleet:
|
|
114
|
+
name: {{FLEET_NAME}}
|
|
115
|
+
description: {{FLEET_DESCRIPTION}}
|
|
116
|
+
|
|
117
|
+
defaults:
|
|
118
|
+
model: claude-sonnet-4-20250514
|
|
119
|
+
max_turns: 100
|
|
120
|
+
permission_mode: acceptEdits
|
|
121
|
+
|
|
122
|
+
agents:
|
|
123
|
+
- path: ./agents/github-agent.yaml
|
|
124
|
+
`,
|
|
125
|
+
agentConfig: `# GitHub Issue Agent
|
|
126
|
+
#
|
|
127
|
+
# Processes issues labeled 'ready' from a GitHub repository.
|
|
128
|
+
# Set GITHUB_TOKEN environment variable for authentication.
|
|
129
|
+
|
|
130
|
+
name: github-agent
|
|
131
|
+
description: Processes GitHub issues
|
|
132
|
+
|
|
133
|
+
system_prompt: |
|
|
134
|
+
You are a developer assistant. When given an issue to work on,
|
|
135
|
+
analyze the requirements and implement the requested changes.
|
|
136
|
+
Follow best practices and write clean, tested code.
|
|
137
|
+
|
|
138
|
+
workspace:
|
|
139
|
+
path: ./workspace
|
|
140
|
+
|
|
141
|
+
schedules:
|
|
142
|
+
process-issues:
|
|
143
|
+
type: interval
|
|
144
|
+
interval: 5m
|
|
145
|
+
work_source:
|
|
146
|
+
type: github_issues
|
|
147
|
+
repo: your-org/your-repo # TODO: Update this
|
|
148
|
+
labels:
|
|
149
|
+
include: ["ready"]
|
|
150
|
+
exclude: ["blocked", "wip"]
|
|
151
|
+
claim_label: in-progress
|
|
152
|
+
complete_action: close
|
|
153
|
+
|
|
154
|
+
permissions:
|
|
155
|
+
allowed_tools:
|
|
156
|
+
- Read
|
|
157
|
+
- Glob
|
|
158
|
+
- Grep
|
|
159
|
+
- Edit
|
|
160
|
+
- Write
|
|
161
|
+
- Bash(git *)
|
|
162
|
+
- Bash(npm *)
|
|
163
|
+
- Bash(pnpm *)
|
|
164
|
+
`,
|
|
165
|
+
agentFilename: "github-agent.yaml",
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
const DEFAULT_TEMPLATE = "simple";
|
|
169
|
+
export async function initCommand(options) {
|
|
170
|
+
const cwd = process.cwd();
|
|
171
|
+
const configPath = path.join(cwd, "herdctl.yaml");
|
|
172
|
+
const agentsDir = path.join(cwd, "agents");
|
|
173
|
+
const stateDir = path.join(cwd, ".herdctl");
|
|
174
|
+
const gitignorePath = path.join(cwd, ".gitignore");
|
|
175
|
+
// Check if config already exists
|
|
176
|
+
if (fs.existsSync(configPath) && !options.force) {
|
|
177
|
+
console.error("Error: herdctl.yaml already exists. Use --force to overwrite.");
|
|
178
|
+
process.exit(1);
|
|
179
|
+
}
|
|
180
|
+
// Determine the template to use
|
|
181
|
+
let templateName = options.example || DEFAULT_TEMPLATE;
|
|
182
|
+
if (options.example && !TEMPLATES[options.example]) {
|
|
183
|
+
console.error(`Error: Unknown example template '${options.example}'.`);
|
|
184
|
+
console.error(`Available templates: ${Object.keys(TEMPLATES).join(", ")}`);
|
|
185
|
+
process.exit(1);
|
|
186
|
+
}
|
|
187
|
+
// Interactive mode if not --yes and missing required info
|
|
188
|
+
let fleetName = options.name;
|
|
189
|
+
let fleetDescription = "";
|
|
190
|
+
if (!options.yes) {
|
|
191
|
+
// Ask for fleet name if not provided
|
|
192
|
+
if (!fleetName) {
|
|
193
|
+
fleetName = await input({
|
|
194
|
+
message: "Fleet name:",
|
|
195
|
+
default: path.basename(cwd),
|
|
196
|
+
validate: (value) => {
|
|
197
|
+
if (!value.trim())
|
|
198
|
+
return "Fleet name is required";
|
|
199
|
+
if (!/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(value)) {
|
|
200
|
+
return "Fleet name must start with a letter and contain only letters, numbers, hyphens, and underscores";
|
|
201
|
+
}
|
|
202
|
+
return true;
|
|
203
|
+
},
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
// Ask for description
|
|
207
|
+
fleetDescription = await input({
|
|
208
|
+
message: "Fleet description (optional):",
|
|
209
|
+
default: "",
|
|
210
|
+
});
|
|
211
|
+
// Ask for template if not specified
|
|
212
|
+
if (!options.example) {
|
|
213
|
+
templateName = await select({
|
|
214
|
+
message: "Choose a template:",
|
|
215
|
+
choices: Object.entries(TEMPLATES).map(([key, template]) => ({
|
|
216
|
+
name: `${template.name} - ${template.description}`,
|
|
217
|
+
value: key,
|
|
218
|
+
})),
|
|
219
|
+
default: DEFAULT_TEMPLATE,
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
// Confirm before proceeding
|
|
223
|
+
console.log("");
|
|
224
|
+
console.log("Will create:");
|
|
225
|
+
console.log(` - herdctl.yaml (${templateName} template)`);
|
|
226
|
+
console.log(` - agents/ directory with example agent`);
|
|
227
|
+
console.log(` - .herdctl/ state directory`);
|
|
228
|
+
console.log("");
|
|
229
|
+
const proceed = await confirm({
|
|
230
|
+
message: "Proceed?",
|
|
231
|
+
default: true,
|
|
232
|
+
});
|
|
233
|
+
if (!proceed) {
|
|
234
|
+
console.log("Aborted.");
|
|
235
|
+
process.exit(0);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
// In --yes mode, use defaults
|
|
240
|
+
fleetName = fleetName || path.basename(cwd);
|
|
241
|
+
}
|
|
242
|
+
const template = TEMPLATES[templateName];
|
|
243
|
+
// Create agents directory
|
|
244
|
+
if (!fs.existsSync(agentsDir)) {
|
|
245
|
+
fs.mkdirSync(agentsDir, { recursive: true });
|
|
246
|
+
}
|
|
247
|
+
// Create .herdctl directory
|
|
248
|
+
if (!fs.existsSync(stateDir)) {
|
|
249
|
+
fs.mkdirSync(stateDir, { recursive: true });
|
|
250
|
+
}
|
|
251
|
+
// Generate fleet config from template
|
|
252
|
+
const fleetConfig = template.fleetConfig
|
|
253
|
+
.replace(/\{\{FLEET_NAME\}\}/g, fleetName)
|
|
254
|
+
.replace(/\{\{FLEET_DESCRIPTION\}\}/g, fleetDescription || `A herdctl fleet`);
|
|
255
|
+
// Write fleet config
|
|
256
|
+
fs.writeFileSync(configPath, fleetConfig, "utf-8");
|
|
257
|
+
// Write agent config
|
|
258
|
+
const agentPath = path.join(agentsDir, template.agentFilename);
|
|
259
|
+
if (!fs.existsSync(agentPath) || options.force) {
|
|
260
|
+
fs.writeFileSync(agentPath, template.agentConfig, "utf-8");
|
|
261
|
+
}
|
|
262
|
+
// Update .gitignore if it exists
|
|
263
|
+
if (fs.existsSync(gitignorePath)) {
|
|
264
|
+
const gitignoreContent = fs.readFileSync(gitignorePath, "utf-8");
|
|
265
|
+
const linesToAdd = [];
|
|
266
|
+
if (!gitignoreContent.includes(".herdctl/")) {
|
|
267
|
+
linesToAdd.push(".herdctl/");
|
|
268
|
+
}
|
|
269
|
+
if (linesToAdd.length > 0) {
|
|
270
|
+
const newContent = gitignoreContent.trimEnd() +
|
|
271
|
+
"\n\n# herdctl state directory\n" +
|
|
272
|
+
linesToAdd.join("\n") +
|
|
273
|
+
"\n";
|
|
274
|
+
fs.writeFileSync(gitignorePath, newContent, "utf-8");
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
// Print success message and next steps
|
|
278
|
+
console.log("");
|
|
279
|
+
console.log("✓ Initialized herdctl project");
|
|
280
|
+
console.log("");
|
|
281
|
+
console.log("Created:");
|
|
282
|
+
console.log(` herdctl.yaml`);
|
|
283
|
+
console.log(` agents/${template.agentFilename}`);
|
|
284
|
+
console.log(` .herdctl/`);
|
|
285
|
+
console.log("");
|
|
286
|
+
console.log("Next steps:");
|
|
287
|
+
console.log("");
|
|
288
|
+
console.log(" 1. Review and customize your configuration:");
|
|
289
|
+
console.log(" - herdctl.yaml (fleet settings)");
|
|
290
|
+
console.log(` - agents/${template.agentFilename} (agent definition)`);
|
|
291
|
+
console.log("");
|
|
292
|
+
console.log(" 2. Start your fleet:");
|
|
293
|
+
console.log(" $ herdctl start");
|
|
294
|
+
console.log("");
|
|
295
|
+
console.log(" 3. Check status:");
|
|
296
|
+
console.log(" $ herdctl status");
|
|
297
|
+
console.log("");
|
|
298
|
+
if (templateName === "github") {
|
|
299
|
+
console.log(" Note: Update the 'repo' field in your agent config");
|
|
300
|
+
console.log(" and set the GITHUB_TOKEN environment variable.");
|
|
301
|
+
console.log("");
|
|
302
|
+
}
|
|
303
|
+
console.log("Documentation: https://herdctl.dev");
|
|
304
|
+
}
|
|
305
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* herdctl job - Show job details and logs
|
|
3
|
+
*
|
|
4
|
+
* Commands:
|
|
5
|
+
* - herdctl job <id> Show job details
|
|
6
|
+
* - herdctl job <id> --logs Show job output
|
|
7
|
+
* - herdctl job <id> --json JSON output
|
|
8
|
+
*/
|
|
9
|
+
export interface JobOptions {
|
|
10
|
+
logs?: boolean;
|
|
11
|
+
json?: boolean;
|
|
12
|
+
state?: string;
|
|
13
|
+
config?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Show job details (herdctl job)
|
|
17
|
+
*/
|
|
18
|
+
export declare function jobCommand(jobId: string, options: JobOptions): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=job.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/commands/job.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAoSD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CA2Of"}
|