overlord-cli 5.15.1 → 5.16.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/README.md +2 -2
- package/bin/_cli/launcher.mjs +7 -7
- package/bin/_cli/protocol.mjs +7 -7
- package/bin/_cli/setup.mjs +6 -6
- package/package.json +4 -2
- package/plugins/claude/commands/connect.md +1 -1
- package/plugins/claude/commands/load.md +1 -1
- package/plugins/claude/skills/overlord-ticket/SKILL.md +3 -3
- package/plugins/cursor/skills/overlord-ticket/SKILL.md +3 -3
- package/plugins/overlord/skills/overlord-ticket/SKILL.md +4 -4
package/README.md
CHANGED
|
@@ -62,9 +62,9 @@ ovld prompt "Draft a fix for the onboarding flow"
|
|
|
62
62
|
ovld version
|
|
63
63
|
ovld update
|
|
64
64
|
ovld protocol discover-project
|
|
65
|
-
ovld protocol attach --ticket-id <
|
|
65
|
+
ovld protocol attach --ticket-id <ticket_id>
|
|
66
66
|
ovld protocol search-tickets --query "auth refactor" --status next-up,execute
|
|
67
|
-
ovld protocol update --session-key <session-key> --ticket-id <
|
|
67
|
+
ovld protocol update --session-key <session-key> --ticket-id <ticket_id> --summary "Working on it" --phase execute
|
|
68
68
|
ovld setup
|
|
69
69
|
ovld setup codex
|
|
70
70
|
ovld setup claude
|
package/bin/_cli/launcher.mjs
CHANGED
|
@@ -169,12 +169,12 @@ function buildTmuxWrappedCommand(innerCommand, tmuxCommand) {
|
|
|
169
169
|
|
|
170
170
|
function printLauncherHelp() {
|
|
171
171
|
console.log(`Usage:
|
|
172
|
-
ovld launch <agent> --ticket-id <
|
|
173
|
-
ovld connect <agent> --ticket-id <
|
|
174
|
-
ovld restart <agent> --ticket-id <
|
|
172
|
+
ovld launch <agent> --ticket-id <ticket_id> [options]
|
|
173
|
+
ovld connect <agent> --ticket-id <ticket_id> [options] # alias for ovld launch
|
|
174
|
+
ovld restart <agent> --ticket-id <ticket_id> [options]
|
|
175
175
|
|
|
176
176
|
Options:
|
|
177
|
-
--ticket-id <
|
|
177
|
+
--ticket-id <ticket_id> Ticket to launch or resume (e.g. 1:899). Also accepts UUID.
|
|
178
178
|
--working-directory <path> Change to a local working directory before launch
|
|
179
179
|
--launch-mode <run|ask> Ask mode adjusts the fetched prompt context
|
|
180
180
|
--model <identifier> Preferred model identifier
|
|
@@ -360,11 +360,11 @@ async function runAgent(agent, mode = 'run', options = {}) {
|
|
|
360
360
|
const isResume = mode === 'resume';
|
|
361
361
|
const noSessionHint =
|
|
362
362
|
agent === 'claude'
|
|
363
|
-
? `No prior Claude session was found. Start one with \`ovld launch claude --ticket-id <
|
|
363
|
+
? `No prior Claude session was found. Start one with \`ovld launch claude --ticket-id <ticket_id>\` first.`
|
|
364
364
|
: agent === 'codex'
|
|
365
|
-
? `No prior Codex session was found. Start one with \`ovld launch codex --ticket-id <
|
|
365
|
+
? `No prior Codex session was found. Start one with \`ovld launch codex --ticket-id <ticket_id>\` first.`
|
|
366
366
|
: agent === 'opencode'
|
|
367
|
-
? `No prior OpenCode session was found. Start one with \`ovld launch opencode --ticket-id <
|
|
367
|
+
? `No prior OpenCode session was found. Start one with \`ovld launch opencode --ticket-id <ticket_id>\` first.`
|
|
368
368
|
: '';
|
|
369
369
|
const message = error instanceof Error ? error.message : String(error);
|
|
370
370
|
|
package/bin/_cli/protocol.mjs
CHANGED
|
@@ -1183,7 +1183,7 @@ async function protocolPrompt(args) {
|
|
|
1183
1183
|
);
|
|
1184
1184
|
|
|
1185
1185
|
const sessionKey = data.session?.sessionKey;
|
|
1186
|
-
const ticketId = data.ticket?.id;
|
|
1186
|
+
const ticketId = data.ticket?.ticket_id ?? data.ticket?.id;
|
|
1187
1187
|
console.log(JSON.stringify(data, null, 2));
|
|
1188
1188
|
|
|
1189
1189
|
if (sessionKey) {
|
|
@@ -1362,7 +1362,7 @@ export async function runProtocolCommand(subcommand, args) {
|
|
|
1362
1362
|
|
|
1363
1363
|
Use this for ticket lifecycle work from an agent runtime: create a standalone
|
|
1364
1364
|
draft with \`ovld protocol create\`, create-and-attach with \`ovld protocol prompt\`,
|
|
1365
|
-
or attach to an existing ticket with \`ovld protocol attach --ticket-id <
|
|
1365
|
+
or attach to an existing ticket with \`ovld protocol attach --ticket-id <ticket_id>\`.
|
|
1366
1366
|
|
|
1367
1367
|
Project discovery:
|
|
1368
1368
|
When prompting or creating tickets, the CLI automatically resolves the correct
|
|
@@ -1399,14 +1399,14 @@ Subcommands:
|
|
|
1399
1399
|
attachment-upload-file Prepare, upload, and finalize a local file in one command
|
|
1400
1400
|
|
|
1401
1401
|
Environment fallback:
|
|
1402
|
-
--session-key
|
|
1403
|
-
--ticket-id
|
|
1402
|
+
--session-key <- SESSION_KEY
|
|
1403
|
+
--ticket-id <- TICKET_ID (human-readable ticket_id, e.g. 1:899)
|
|
1404
1404
|
auth/host <- OVERLORD_URL, optional OVERLORD_ACCESS_TOKEN + OVERLORD_ORGANIZATION_ID, or shared OAuth credentials from ovld auth/Desktop login
|
|
1405
1405
|
--timeout <- OVERLORD_TIMEOUT
|
|
1406
1406
|
|
|
1407
1407
|
Common flags:
|
|
1408
1408
|
--timeout <ms> Request timeout in milliseconds (default: ${DEFAULT_TIMEOUT_MS})
|
|
1409
|
-
--ticket-id <
|
|
1409
|
+
--ticket-id <ticket_id> Ticket identifier (e.g. 1:899) when the subcommand operates on an existing ticket
|
|
1410
1410
|
--session-key <key> Session key returned by attach/connect/prompt
|
|
1411
1411
|
--agent <identifier> Agent identifier sent to Overlord (default: AGENT_IDENTIFIER or claude-code)
|
|
1412
1412
|
--model <identifier> Model identifier to snapshot on executing objectives
|
|
@@ -1434,7 +1434,7 @@ attach:
|
|
|
1434
1434
|
Purpose:
|
|
1435
1435
|
Create the working session for an agent on an existing ticket. This is the normal first call.
|
|
1436
1436
|
Required:
|
|
1437
|
-
--ticket-id <
|
|
1437
|
+
--ticket-id <ticket_id> Human-readable identifier (e.g. 1:899). Also accepts UUID.
|
|
1438
1438
|
Optional:
|
|
1439
1439
|
--agent <identifier>
|
|
1440
1440
|
--model <identifier>
|
|
@@ -1450,7 +1450,7 @@ connect:
|
|
|
1450
1450
|
Purpose:
|
|
1451
1451
|
Create a lightweight session when you only need a session key and not the full ticket payload
|
|
1452
1452
|
Required:
|
|
1453
|
-
--ticket-id <
|
|
1453
|
+
--ticket-id <ticket_id> Human-readable identifier (e.g. 1:899). Also accepts UUID.
|
|
1454
1454
|
Optional:
|
|
1455
1455
|
--agent <identifier>
|
|
1456
1456
|
--model <identifier>
|
package/bin/_cli/setup.mjs
CHANGED
|
@@ -14,7 +14,7 @@ import path from 'node:path';
|
|
|
14
14
|
import { fileURLToPath } from 'node:url';
|
|
15
15
|
import { checkForCliUpdate, getCurrentCliVersion, printCliUpdateNotice } from './cli-update.mjs';
|
|
16
16
|
|
|
17
|
-
const BUNDLE_VERSION = '1.
|
|
17
|
+
const BUNDLE_VERSION = '1.11.0';
|
|
18
18
|
const MD_MARKER_START = '<!-- overlord:managed:start -->';
|
|
19
19
|
const MD_MARKER_END = '<!-- overlord:managed:end -->';
|
|
20
20
|
const MANIFEST_DIR = path.join(os.homedir(), '.ovld');
|
|
@@ -371,22 +371,22 @@ function slashCommandFiles(agent) {
|
|
|
371
371
|
{
|
|
372
372
|
path: path.join(base, 'connect.md'),
|
|
373
373
|
content: `---
|
|
374
|
-
description: Connect this session to another Overlord ticket by ticket
|
|
375
|
-
argument-hint: <
|
|
374
|
+
description: Connect this session to another Overlord ticket by ticket identifier
|
|
375
|
+
argument-hint: <ticket_id>
|
|
376
376
|
disable-model-invocation: true
|
|
377
377
|
---
|
|
378
378
|
|
|
379
|
-
Run \`ovld protocol connect --ticket-id <
|
|
379
|
+
Run \`ovld protocol connect --ticket-id <ticket_id>\` using \`$ARGUMENTS\` as the ticket ID.`
|
|
380
380
|
},
|
|
381
381
|
{
|
|
382
382
|
path: path.join(base, 'load.md'),
|
|
383
383
|
content: `---
|
|
384
384
|
description: Load Overlord ticket context without creating a new session
|
|
385
|
-
argument-hint: <
|
|
385
|
+
argument-hint: <ticket_id>
|
|
386
386
|
disable-model-invocation: true
|
|
387
387
|
---
|
|
388
388
|
|
|
389
|
-
Run \`ovld protocol load-context --ticket-id <
|
|
389
|
+
Run \`ovld protocol load-context --ticket-id <ticket_id>\` using \`$ARGUMENTS\` as the ticket ID.`
|
|
390
390
|
},
|
|
391
391
|
{
|
|
392
392
|
path: path.join(base, 'create.md'),
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "overlord-cli",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.16.0",
|
|
4
4
|
"description": "Overlord CLI — launch AI agents on tickets from anywhere",
|
|
5
|
+
"homepage": "https://www.ovld.ai/docs/",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"bin": {
|
|
7
8
|
"overlord": "bin/ovld.mjs",
|
|
@@ -28,7 +29,8 @@
|
|
|
28
29
|
],
|
|
29
30
|
"license": "Proprietary",
|
|
30
31
|
"repository": {
|
|
32
|
+
"private": true,
|
|
31
33
|
"type": "git",
|
|
32
|
-
"url": "git+https://github.com/cooperativ-labs/overlord.git"
|
|
34
|
+
"url": "git+https://github.com/cooperativ-labs/overlord/packages/overlord-cli.git"
|
|
33
35
|
}
|
|
34
36
|
}
|
|
@@ -11,7 +11,7 @@ Use this skill whenever Claude Code needs to work with Overlord, whether the ses
|
|
|
11
11
|
|
|
12
12
|
Use this mode when the prompt already contains a ticket ID or explicitly says the session was launched by Overlord.
|
|
13
13
|
|
|
14
|
-
1. Attach first with `ovld protocol attach --ticket-id <
|
|
14
|
+
1. Attach first with `ovld protocol attach --ticket-id <ticket_id>`.
|
|
15
15
|
2. Keep the returned `session.sessionKey` for all follow-up calls.
|
|
16
16
|
3. Treat the Overlord ticket prompt as authoritative for the objective, constraints, and delivery target.
|
|
17
17
|
4. Post updates while working with `ovld protocol update --phase execute`.
|
|
@@ -76,8 +76,8 @@ Use this mode when the conversation starts normally and the user asks Claude to
|
|
|
76
76
|
- When session flags are omitted, it resolves the project by matching current working directory (or `--working-directory`) to the caller's configured Overlord `project_user.local_working_directory`, then creates a standalone draft.
|
|
77
77
|
2. Default to `create` for new tickets. Only use `/overlord:spawn` or `ovld protocol spawn --agent claude-code --objective "..."` when the user explicitly asks to create and execute immediately.
|
|
78
78
|
`spawn` creates the ticket in `execute` status and attaches immediately.
|
|
79
|
-
3. If the user already has a ticket ID and only wants to inspect it, use `/overlord:load` or run `ovld protocol load-context --ticket-id <
|
|
80
|
-
4. If the user wants to route the current session onto an existing ticket by ID, use `/overlord:connect` or run `ovld protocol connect --ticket-id <
|
|
79
|
+
3. If the user already has a ticket ID and only wants to inspect it, use `/overlord:load` or run `ovld protocol load-context --ticket-id <ticket_id>`.
|
|
80
|
+
4. If the user wants to route the current session onto an existing ticket by ID, use `/overlord:connect` or run `ovld protocol connect --ticket-id <ticket_id>`.
|
|
81
81
|
5. If the user wants to find a ticket but does not know the ID, use `ovld attach` for interactive ticket search and agent launch, or ask the user for the ticket ID if staying strictly inside chat is the better fit.
|
|
82
82
|
6. If you need other lifecycle commands or flags, run `ovld protocol help` and use the real subcommand list instead of guessing.
|
|
83
83
|
7. Once you attach to a ticket, switch back to Mode 1 and follow the full ticket lifecycle.
|
|
@@ -9,7 +9,7 @@ Use this skill whenever Cursor needs to work with Overlord, whether the session
|
|
|
9
9
|
|
|
10
10
|
## Mode 1: Launched From Overlord Desktop Or CLI
|
|
11
11
|
|
|
12
|
-
1. Attach first with `ovld protocol attach --ticket-id <
|
|
12
|
+
1. Attach first with `ovld protocol attach --ticket-id <ticket_id>`.
|
|
13
13
|
2. Keep the returned `session.sessionKey` for all follow-up calls.
|
|
14
14
|
3. Treat the Overlord ticket prompt as authoritative for the objective, constraints, and delivery target.
|
|
15
15
|
4. Post updates while working with `ovld protocol update --phase execute`.
|
|
@@ -21,8 +21,8 @@ Use this skill whenever Cursor needs to work with Overlord, whether the session
|
|
|
21
21
|
|
|
22
22
|
1. If the user wants to create tickets (and does not ask to start execution), use `/create` or run `ovld protocol create --agent cursor --objective "..."`.
|
|
23
23
|
2. Default to `create` for new tickets. Only use `/spawn` or `ovld protocol spawn --agent cursor --objective "..."` when the user explicitly asks to create and execute immediately.
|
|
24
|
-
3. If the user already has a ticket ID and only wants to inspect it, use `/load` or run `ovld protocol load-context --ticket-id <
|
|
25
|
-
4. If the user wants to route the current session onto an existing ticket by ID, use `/connect` or run `ovld protocol connect --ticket-id <
|
|
24
|
+
3. If the user already has a ticket ID and only wants to inspect it, use `/load` or run `ovld protocol load-context --ticket-id <ticket_id>`.
|
|
25
|
+
4. If the user wants to route the current session onto an existing ticket by ID, use `/connect` or run `ovld protocol connect --ticket-id <ticket_id>`.
|
|
26
26
|
5. If the user wants to search for tickets by keyword or status, use the `search_tickets` MCP tool.
|
|
27
27
|
6. If you need other lifecycle commands or flags, run `ovld protocol help` and use the real subcommand list instead of guessing.
|
|
28
28
|
7. Once you attach to a ticket, switch back to Mode 1 and follow the full ticket lifecycle.
|
|
@@ -9,10 +9,10 @@ Use this skill when Codex needs to work with Overlord, whether the session was l
|
|
|
9
9
|
|
|
10
10
|
## Mode 1: Launched From Overlord Desktop Or CLI
|
|
11
11
|
|
|
12
|
-
1. Attach first with `ovld protocol attach --ticket-id <
|
|
12
|
+
1. Attach first with `ovld protocol attach --ticket-id <ticket_id>`.
|
|
13
13
|
2. Store the returned `SESSION_KEY` or `session.sessionKey`.
|
|
14
14
|
3. Treat the Overlord ticket prompt as authoritative for the specific objective and ticket-level constraints.
|
|
15
|
-
4. While working, publish meaningful progress with `ovld protocol update --session-key <sessionKey> --ticket-id <
|
|
15
|
+
4. While working, publish meaningful progress with `ovld protocol update --session-key <sessionKey> --ticket-id <ticket_id> --phase execute --summary "..."`.
|
|
16
16
|
5. If a later user message arrives during the ticket session, publish it immediately with `--event-type user_follow_up` before doing anything else.
|
|
17
17
|
6. If blocked on a human-only action, ask a precise blocking question with `ovld protocol ask` and stop.
|
|
18
18
|
7. Deliver last with `ovld protocol deliver`, including meaningful `changeRationales` for every behavioral git-tracked change.
|
|
@@ -69,8 +69,8 @@ For larger delivery payloads, prefer `--payload-file -` and stream the full JSON
|
|
|
69
69
|
|
|
70
70
|
1. If the user wants to create tickets (and does not ask to start execution), run `ovld protocol create --agent codex --objective "..."`.
|
|
71
71
|
2. Default to `create` for new tickets. Only use `ovld protocol spawn --agent codex --objective "..."` when the user explicitly asks to create and execute immediately.
|
|
72
|
-
3. If the user wants to inspect an existing ticket without starting work, use `ovld protocol load-context --ticket-id <
|
|
73
|
-
4. If the user wants to work an existing ticket, attach with `ovld protocol attach --ticket-id <
|
|
72
|
+
3. If the user wants to inspect an existing ticket without starting work, use `ovld protocol load-context --ticket-id <ticket_id>`.
|
|
73
|
+
4. If the user wants to work an existing ticket, attach with `ovld protocol attach --ticket-id <ticket_id>` and then switch to Mode 1.
|
|
74
74
|
5. If the user wants to find existing tickets by keyword or workflow state, use the `search_tickets` tool.
|
|
75
75
|
6. If you need to understand project routing before spawning, use `ovld protocol discover-project`.
|
|
76
76
|
7. If you need other lifecycle commands or flags, run `ovld protocol help` and use the real subcommand list instead of guessing.
|