overlord-cli 0.2605101225.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 +128 -0
- package/bin/_cli/attach.mjs +357 -0
- package/bin/_cli/auth.mjs +696 -0
- package/bin/_cli/cli-update.mjs +119 -0
- package/bin/_cli/credentials.mjs +723 -0
- package/bin/_cli/index.mjs +170 -0
- package/bin/_cli/launcher.mjs +474 -0
- package/bin/_cli/new-ticket.mjs +306 -0
- package/bin/_cli/postinstall.mjs +43 -0
- package/bin/_cli/protocol.mjs +1799 -0
- package/bin/_cli/setup.mjs +1634 -0
- package/bin/_cli/ticket.mjs +55 -0
- package/bin/_cli/tickets.mjs +121 -0
- package/bin/_cli/version.mjs +7 -0
- package/bin/ovld.mjs +13 -0
- package/package.json +36 -0
- package/plugins/claude/.claude-plugin/plugin.json +34 -0
- package/plugins/claude/README.md +42 -0
- package/plugins/claude/commands/connect.md +19 -0
- package/plugins/claude/commands/create.md +17 -0
- package/plugins/claude/commands/load.md +19 -0
- package/plugins/claude/commands/spawn.md +17 -0
- package/plugins/claude/hooks/hooks.json +15 -0
- package/plugins/claude/scripts/permission-hook.sh +21 -0
- package/plugins/claude/skills/overlord-ticket/SKILL.md +164 -0
- package/plugins/cursor/.cursor-plugin/plugin.json +14 -0
- package/plugins/cursor/commands/connect.md +3 -0
- package/plugins/cursor/commands/create.md +11 -0
- package/plugins/cursor/commands/load.md +3 -0
- package/plugins/cursor/commands/spawn.md +3 -0
- package/plugins/cursor/mcp.json +8 -0
- package/plugins/cursor/rules/overlord-local.mdc +10 -0
- package/plugins/cursor/scripts/overlord-mcp.mjs +150 -0
- package/plugins/cursor/skills/overlord-ticket/SKILL.md +49 -0
- package/plugins/overlord/.codex-plugin/plugin.json +35 -0
- package/plugins/overlord/.mcp.json +11 -0
- package/plugins/overlord/README.md +42 -0
- package/plugins/overlord/assets/icon.png +0 -0
- package/plugins/overlord/assets/logo.png +0 -0
- package/plugins/overlord/assets/screenshot.svg +28 -0
- package/plugins/overlord/scripts/overlord-mcp.mjs +688 -0
- package/plugins/overlord/skills/overlord-ticket/SKILL.md +146 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: overlord-ticket
|
|
3
|
+
description: Durable local workflow for working Overlord tickets from Codex, covering both Overlord-launched tickets and chat-invoked Overlord work.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Overlord Ticket
|
|
7
|
+
|
|
8
|
+
Use this skill when Codex needs to work with Overlord, whether the session was launched by Overlord Desktop/CLI or the user asks from chat to engage with Overlord.
|
|
9
|
+
|
|
10
|
+
## Mode 1: Launched From Overlord Desktop Or CLI
|
|
11
|
+
|
|
12
|
+
1. Attach first with `ovld protocol attach --ticket-id <ticket_id>`.
|
|
13
|
+
2. Store the returned `SESSION_KEY` or `session.sessionKey`.
|
|
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 <ticket_id> --phase execute --summary "..."`.
|
|
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
|
+
6. If blocked on a human-only action, ask a precise blocking question with `ovld protocol ask` and stop.
|
|
18
|
+
7. Deliver last with `ovld protocol deliver`, including meaningful `changeRationales` for every behavioral git-tracked change.
|
|
19
|
+
|
|
20
|
+
### Mode 1 Reference
|
|
21
|
+
|
|
22
|
+
Attach:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
ovld protocol attach --ticket-id $TICKET_ID
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Update:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
ovld protocol update --session-key <sessionKey> --ticket-id $TICKET_ID --summary "What you did and why." --phase execute
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Supported `--phase` values:
|
|
35
|
+
- `draft`
|
|
36
|
+
- `execute`
|
|
37
|
+
- `review`
|
|
38
|
+
- `deliver`
|
|
39
|
+
- `complete`
|
|
40
|
+
- `blocked`
|
|
41
|
+
- `cancelled`
|
|
42
|
+
|
|
43
|
+
These are hardcoded CLI-supported values for the `--phase` flag. They are not user-defined phase types.
|
|
44
|
+
|
|
45
|
+
Event types:
|
|
46
|
+
- `update` for standard progress updates
|
|
47
|
+
- `user_follow_up` for human follow-up messages after the initial ticket
|
|
48
|
+
- `alert` for warnings or non-blocking issues
|
|
49
|
+
|
|
50
|
+
Ask when blocked:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
ovld protocol ask --session-key <sessionKey> --ticket-id $TICKET_ID --question "Specific question for the PM."
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Deliver:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
ovld protocol deliver --session-key <sessionKey> \
|
|
60
|
+
--ticket-id $TICKET_ID \
|
|
61
|
+
--summary "Narrative: what you did, next steps." \
|
|
62
|
+
--artifacts-json '[{"type":"next_steps","label":"Next steps","content":"..."}]' \
|
|
63
|
+
--change-rationales-json '[{"label":"Short reviewer title","file_path":"path/to/file.ts","summary":"What changed.","why":"Why it changed.","impact":"Behavioral impact.","hunks":[{"header":"@@ -10,6 +10,14 @@"}]}]'
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
For larger delivery payloads, prefer `--payload-file -` and stream the full JSON on stdin so no scratch file needs to be created or removed. If you use `--payload-file`, `--artifacts-file`, or `--change-rationales-file` with a real path, treat that file as ephemeral scratch data outside the repository and remove it after delivery.
|
|
67
|
+
|
|
68
|
+
## Mode 2: Asked From Chat To Use Overlord
|
|
69
|
+
|
|
70
|
+
1. If the user wants to create tickets (and does not ask to start execution), run `ovld protocol create --agent codex --objective "..."`.
|
|
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 <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
|
+
5. If the user wants to find existing tickets by keyword or workflow state, use the `search_tickets` tool.
|
|
75
|
+
6. If you need to understand project routing before spawning, use `ovld protocol discover-project`.
|
|
76
|
+
7. If you need other lifecycle commands or flags, run `ovld protocol help` and use the real subcommand list instead of guessing.
|
|
77
|
+
|
|
78
|
+
## Change Rationales
|
|
79
|
+
|
|
80
|
+
Always include `changeRationales` when delivering. Optionally include them on updates during long-running work.
|
|
81
|
+
|
|
82
|
+
Before delivering, make sure every meaningful git-tracked file change is represented in `changeRationales`; do not send `file_changes` as an artifact.
|
|
83
|
+
|
|
84
|
+
These are structured protocol payloads that Overlord stores as first-class rows in the `file_changes` table. Prefer inline JSON or the dedicated command below. For larger full delivery payloads, prefer `--payload-file -` so summary, artifacts, and change rationales stay in one JSON document without creating a temporary file. Ordinary deliver artifacts should use `next_steps`, `test_results`, `migration`, `note`, `url`, or `decision`.
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
ovld protocol record-change-rationales --session-key <sessionKey> --ticket-id $TICKET_ID \
|
|
88
|
+
--summary "Recorded rationale details for the latest code changes." --phase execute \
|
|
89
|
+
--change-rationales-json '[{"label":"Add backoff","file_path":"lib/api.ts","summary":"Added retry.","why":"Transient failures.","impact":"Retries 3x.","hunks":[{"header":"@@ -22,4 +22,18 @@"}]}]'
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
ovld protocol update --session-key <sessionKey> --ticket-id $TICKET_ID \
|
|
94
|
+
--summary "Added retry logic." --phase execute \
|
|
95
|
+
--change-rationales-json '[{"label":"Add backoff","file_path":"lib/api.ts","summary":"Added retry.","why":"Transient failures.","impact":"Retries 3x.","hunks":[{"header":"@@ -22,4 +22,18 @@"}]}]'
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Record only meaningful behavioral changes. Skip formatting-only noise. Prefer 1-5 concise rationales per ticket, each tied to a specific file and diff hunk.
|
|
99
|
+
|
|
100
|
+
## Context And Artifacts
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
ovld protocol read-context --session-key <sessionKey> --ticket-id $TICKET_ID
|
|
104
|
+
ovld protocol write-context --session-key <sessionKey> --ticket-id $TICKET_ID --key "key" --value '"json-value"'
|
|
105
|
+
ovld protocol attachment-list --session-key <sessionKey> --ticket-id $TICKET_ID
|
|
106
|
+
ovld protocol attachment-upload-file --session-key <sessionKey> --ticket-id $TICKET_ID --objective-id <objective-id> --file ./spec.pdf --content-type application/pdf
|
|
107
|
+
ovld protocol attachment-download-url --session-key <sessionKey> --ticket-id $TICKET_ID --attachment-id <attachment-id>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
The `attach` and `load-context` responses already include `attachments` and `objectives` arrays — use those for `<attachment-id>` and `<objective-id>` values. Run `attachment-list` mid-session if new files have been uploaded since attach.
|
|
111
|
+
|
|
112
|
+
## Project Discovery And Ticket Creation
|
|
113
|
+
|
|
114
|
+
When creating tickets from within a repository:
|
|
115
|
+
- Prefer `create` by default for draft ticket creation.
|
|
116
|
+
- Use `spawn` only when the user explicitly asks to start execution immediately.
|
|
117
|
+
- Both commands can resolve the project from the current working directory; use `--working-directory` to override.
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
ovld protocol create --agent codex --objective "Capture follow-up work from this repository"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
ovld protocol spawn --agent codex --objective "Implement feature X" --priority medium
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Choosing `--execution-target`
|
|
128
|
+
|
|
129
|
+
Pass `--execution-target agent` or `--execution-target human` (default: `human`) when creating tickets.
|
|
130
|
+
|
|
131
|
+
- **`agent`** — any task an AI agent can complete in a computer environment: coding, internet research, document editing, data analysis, automated testing, etc.
|
|
132
|
+
- **`human`** — any task requiring human presence or judgment: setting credentials or tokens in a third-party UI (e.g. Vercel, AWS), sending physical mail, making a product or business decision, physical-world actions.
|
|
133
|
+
|
|
134
|
+
When in doubt, ask yourself: *can this be done entirely inside a terminal or browser by an AI without human intervention?* If yes → `agent`. If it requires a human to log in, decide, or act in the real world → `human`.
|
|
135
|
+
|
|
136
|
+
## Rules
|
|
137
|
+
|
|
138
|
+
- The authoritative lifecycle is the `ovld protocol` CLI once you are on a ticket.
|
|
139
|
+
- Always attach first and always deliver last once you are working a ticket.
|
|
140
|
+
- Prefer the installed `ovld` CLI and the plugin's MCP tools instead of ad hoc repo scripts.
|
|
141
|
+
- Do not create or rely on a local Codex `AGENTS.md` bundle for Overlord.
|
|
142
|
+
- If `ovld` reports `OVERLORD_URL` is unreachable, request permission escalation or network access before retrying.
|
|
143
|
+
- When the ticket was launched by Overlord, the ticket prompt remains authoritative for the specific task objective and ticket-level constraints.
|
|
144
|
+
- If a protocol or MCP call fails with auth/session errors, run `ovld auth repair` yourself before asking the user to log in again or proceed without Overlord updates.
|
|
145
|
+
|
|
146
|
+
<!-- version: 0.2.5 -->
|