@harborppm/cli 0.61.0 → 0.63.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 +14 -8
- package/dist/app.mjs +779 -96
- package/lib/cli.mjs +145 -12
- package/lib/format.mjs +9 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ harbor # name your harbor and its first project, and you're in
|
|
|
28
28
|
|
|
29
29
|
1. **Today**: today's focus (`f` adds or takes off the task you're on, up to three) and your check-in (`c`); what's on you, late first; who's waiting on you; your risks and issues.
|
|
30
30
|
2. **Inbox**: the same pings as the website: waiting on you, sign-offs, mentions. Enter opens one; it's marked read.
|
|
31
|
-
3. **Projects**: every portfolio, program and project with its health. A project opens on its board (columns side by side; `f` and `p` show only someone's cards or one priority), its list, or its budget and spend ledger (`v`); `e` changes its details: lead, dates, budget, health by hand with a note. `P` runs its pre-mortem: everyone answers "it failed; what happened?" alone for five minutes, then each answer becomes a risk (`r`), folds into one already raised (`m`) or is left out (`l`).
|
|
31
|
+
3. **Projects**: every portfolio, program and project with its health. A project opens on its board (columns side by side; `f` and `p` show only someone's cards or one priority), its list, or its budget and spend ledger (`v`); space picks the card or row you're on, and `m` moves, assigns, dates, pushes a week, sets the priority of or finishes everything picked at once (`u` puts them all back); `e` changes its details: lead, dates, budget, health by hand with a note. `P` runs its pre-mortem: everyone answers "it failed; what happened?" alone for five minutes, then each answer becomes a risk (`r`), folds into one already raised (`m`) or is left out (`l`).
|
|
32
32
|
4. **Programs**: the review: programs worst first, with their lead, end date, late work and where they sit on the priority matrix; `m` writes a next move, `h` sets a health by hand (with why) or hands it back to the late work, `o` and `p` show someone's or one portfolio's. A program shows its projects and milestones side by side (`m` adds a milestone, space ticks one), its next move and health; `v` reads it project by project, each with its bar across the months, open tasks by status and worst risks. A portfolio opens as a board (programs, with risks, next milestones and money beside them); `v` reads it program by program. `e` on a program also names what's holding it back, what it waits on, its impact and its baseline, with its health history below, and `r` reads its status report. A milestone can wait on projects and need someone's sign-off (they approve it or ask for changes). A project's details set its plan by month and what it waits on; a portfolio's set the priority matrix's rules. `:` then "new portfolio" makes one.
|
|
33
33
|
5. **Risks**: the register, worst first; `t`, `o` and `p` narrow it by kind, owner or portfolio, `a` adds closed ones, `h` draws the heat map over it and `c` narrows it to one of its cells. Enter changes one with every field the website has (status, owner, likelihood, impact, mitigation, contingency, resolution, rationale, notes, updates); `n` logs a risk, issue or decision.
|
|
34
34
|
6. **People**: open and late work and the next four weeks against each person's capacity; Enter changes their capacity, role, or the time they're promised to a program.
|
|
@@ -135,8 +135,11 @@ harbor hill [--program P] where each project is on its hill
|
|
|
135
135
|
harbor hill PROJECT --at 0-100|top|done move it: up to 50 is figuring it out,
|
|
136
136
|
past 50 is getting it done
|
|
137
137
|
harbor mine what's on you, late first
|
|
138
|
+
harbor clock [NAME] [--zone ZONE|here|none] [--hours 9-17]
|
|
139
|
+
who's working now; set your (or NAME's) time zone and hours
|
|
138
140
|
harbor tasks [words] [--project P] [--assignee me|none|NAME] [--late] [--status S,S] [--all]
|
|
139
|
-
harbor show TASK one task in full, with its web link
|
|
141
|
+
harbor show TASK one task in full, with its web link and the
|
|
142
|
+
date its owner's queue suggests (pilotDue in --json)
|
|
140
143
|
harbor open [TASK|PROJECT] open it on the website (or Today)
|
|
141
144
|
harbor invite EMAIL [--viewer] invite someone to your harbor by email
|
|
142
145
|
harbor calendar [--program P] [--new|--off] your private calendar link (.ics)
|
|
@@ -154,8 +157,11 @@ harbor project "NAME" --program P [--lead me|NAME] [--starts DATE]
|
|
|
154
157
|
harbor add "TITLE" --project P [--assignee me|NAME] [--due DATE|pilot]
|
|
155
158
|
[--priority low|medium|high|urgent] [--status S] [--comment TEXT]
|
|
156
159
|
[--over-limit] no TITLE: one title a line from stdin
|
|
157
|
-
--due pilot takes the
|
|
158
|
-
|
|
160
|
+
--due pilot takes the earliest day the owner's queue
|
|
161
|
+
suggests (their open work due first, weekly pace, time
|
|
162
|
+
away, what it waits on, how long their similar tasks
|
|
163
|
+
took); it needs an owner, and an empty queue gives
|
|
164
|
+
their next working day. A date that won't hold says so
|
|
159
165
|
harbor start TASK | submit TASK | done TASK [--confirm] [--over-limit]
|
|
160
166
|
harbor edit TASK [--title T] [--assignee me|none|NAME] [--due DATE|pilot|none]
|
|
161
167
|
[--priority P] [--status S] [--notes TEXT]
|
|
@@ -201,7 +207,7 @@ harbor soundings [PROJECT]
|
|
|
201
207
|
harbor ashore [--weeks N] [--country CODES|none] [--person NAME]
|
|
202
208
|
harbor limit PROJECT [COLUMN N|none]
|
|
203
209
|
harbor week [--next|--last|--week DATE] [--review]
|
|
204
|
-
harbor week TASK DAY [--hours N] | week TASK --off [DAY] | week --day-hours N
|
|
210
|
+
harbor week TASK --day DAY [--hours N] | week TASK --off [--day DAY] | week --day-hours N
|
|
205
211
|
harbor init [PROJECT] [--hook] [--dry-run] a project's tasks as files in this repository
|
|
206
212
|
harbor init --local [NAME] a plan in this folder alone, no account
|
|
207
213
|
harbor sync [--quiet] [--dry-run] the files and the website, in step both ways
|
|
@@ -223,15 +229,15 @@ harbor agent report TASK "WHAT YOU DID" [--start] [--agent NAME]
|
|
|
223
229
|
|
|
224
230
|
`harbor fog` lists the open tasks nobody has opened, moved, edited or commented on for three weeks, longest first. `harbor fog --sweep` walks through them one at a time in a terminal: `k` still needed (clears the fog), `d` a new date, `x` drop it, `s` skip, `q` stop. On the board, in the app and on the website, those cards show dimmed.
|
|
225
231
|
|
|
226
|
-
`harbor watch` turns a narrow split or a tmux pane into a live ticker of your harbor: cards moving, comments, health changes, a line each as they happen, over the same live updates the website uses. Lines about your own work (your tasks, mentions of you, what you lead) are bright and the rest dim; `--bell` rings the terminal's bell when something of yours changes, and `--project` keeps to one project. It starts with the latest few changes and the time it began listening; `--since 14:30` (or a date) starts from then instead. `q` stops; piped or with `--json` (one JSON object a line) it runs until it's killed, and `--once` prints what's there and returns, for scripts.
|
|
232
|
+
`harbor watch` turns a narrow split or a tmux pane into a live ticker of your harbor: cards moving, comments, health changes, a line each as they happen, over the same live updates the website uses. Lines about your own work (your tasks, mentions of you, what you lead) are bright and the rest dim; `--bell` rings the terminal's bell when something of yours changes, and `--project` keeps to one project. It starts with the latest few changes and the time it began listening; `--since 14:30` (or a date) starts from then instead, on this computer's clock (`14:30Z` or `14:30 UTC` for UTC); the header names the time zone the ticker's times are in, and Harbor says "Nothing since 14:30 BST." when nothing has. A change the GitHub link made reads "Finished RR-4 … via GitHub", as History does. `q` stops; piped or with `--json` (one JSON object a line) it runs until it's killed, and `--once` prints what's there and returns, for scripts.
|
|
227
233
|
|
|
228
234
|
`harbor lifeboats` lists the work only one person has touched (a project, their corner of one, a task others wait on, their serious risks), numbered, each with someone who has room this week and already works nearby. `harbor lifeboats 2` puts that person on line 2 as a second pair of hands (`--person NAME` for someone else); `harbor follow RR-4 --person Sam` does it for one task. Following doesn't take the work over. `harbor raid "DECISION" --still-stands "WHY"` says a decision that came back for a look still stands.
|
|
229
235
|
|
|
230
236
|
Agents on the crew: put an AI app on People with Add an agent and assign it tasks like anyone else. An agent working through the CLI (Claude Code, say) runs `harbor agent` for its tasks, in progress first, with their notes, checklists and latest comments. When it's done, `harbor agent report RR-4 "Drafted 12 questions; two need Dana"` adds its note as the agent's comment and moves the task to In review for a person to check. An agent never marks its own work Done.
|
|
231
237
|
|
|
232
|
-
`harbor week` is your own week, and only you see it: Monday to Friday with the tasks you put on each day, the hours each should take against the hours you work (`--day-hours 8`; 7 unless you say), a warning on a day that's too full, and your open tasks not on a day yet. `harbor week RR-42 wed --hours 3` puts a task on Wednesday (`--next` for next week), `harbor week RR-42 --off` takes it off the week, and from Friday (or with `--review`) it says what you planned against what you finished. The website's Your week is the same plan, with drag and drop.
|
|
238
|
+
`harbor week` is your own week, and only you see it: Monday to Friday with the tasks you put on each day, the hours each should take against the hours you work (`--day-hours 8`; 7 unless you say), a warning on a day that's too full, and your open tasks not on a day yet (ones in review wait on someone else, so they're left out). `harbor week RR-42 --day wed --hours 3` puts a task on Wednesday (`--next` for next week), `harbor week RR-42 --off` takes it off the week, and from Friday (or with `--review`) it says what you planned against what you finished. The website's Your week is the same plan, with drag and drop.
|
|
233
239
|
|
|
234
|
-
`harbor add --project Trail --comment "From Monday's call" < list.txt` adds one task per line of the file, each with the comment.
|
|
240
|
+
`harbor add --project Trail --comment "From Monday's call" < list.txt` adds one task per line of the file, each with the comment (every option applies to every line); `--dry-run` says what it would add first.
|
|
235
241
|
|
|
236
242
|
`harbor limit RR` prints how many tasks each of a board's columns takes at once; `harbor limit RR doing 8` changes one (1 to 20, or `none` for no limit), if you own the harbor. `harbor projects --json` carries each board's `limits` too.
|
|
237
243
|
|