@harborppm/cli 0.97.0 → 0.99.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 +12 -4
- package/dist/app.mjs +387 -62
- package/lib/cli.mjs +581 -85
- package/lib/format.mjs +125 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -166,7 +166,7 @@ harbor project "NAME" --program P [--lead me|NAME] [--starts DATE]
|
|
|
166
166
|
they really finished in that project
|
|
167
167
|
harbor add "TITLE" --project P [--assignee me|NAME] [--also "NAME, NAME"] [--due DATE|pilot]
|
|
168
168
|
[--priority low|medium|high|urgent] [--status S] [--comment TEXT]
|
|
169
|
-
[--starts DATE] [--over-limit] [--literal]
|
|
169
|
+
[--starts DATE] [--over-limit] [--literal] [--dry-run] [--unless-exists]
|
|
170
170
|
no TITLE: one title a line from stdin
|
|
171
171
|
--due pilot takes the earliest day the owner's queue
|
|
172
172
|
suggests (their open work due first, weekly pace, time
|
|
@@ -213,11 +213,19 @@ harbor import FILE [--project P] [--portfolio P] [--no-people]
|
|
|
213
213
|
add tasks from a CSV file
|
|
214
214
|
harbor premortem PROJECT ["WHAT WENT WRONG"] [--start]
|
|
215
215
|
harbor voyage PROJECT ["YOUR LINE"]
|
|
216
|
-
harbor messages PROJECT ["TEXT"] [--limit N]
|
|
216
|
+
harbor messages PROJECT ["TEXT"] [--limit N] | messages PROJECT --edit "TEXT" [--message ID]
|
|
217
217
|
harbor note PROJECT ["NOTE"] [--opens DATE|--milestone NAME|--off-track]
|
|
218
218
|
harbor sound TASK [--answer DAYS|--ask NAMES|--settle DAYS] [--why TEXT]
|
|
219
219
|
harbor soundings [PROJECT]
|
|
220
220
|
harbor goals [PORTFOLIO] each portfolio's goals, off track first
|
|
221
|
+
harbor goal "GOAL" [--title T] [--owner NAME] [--due DATE|none] [--link WORK] [--unlink WORK]
|
|
222
|
+
[--kr "KR" --at N|--target N [--start N] [--unit U]|--counts WORK]
|
|
223
|
+
harbor goal "TITLE" --new [--portfolio P] [--owner NAME] [--due DATE] [--why T]
|
|
224
|
+
harbor milestones [PROGRAM] [--project P] [--done]
|
|
225
|
+
harbor milestone "NAME" [--program P] [--due DATE] [--rename T] [--reached|--open]
|
|
226
|
+
[--signs-off NAME|none] [--approve|--changes NOTE]
|
|
227
|
+
harbor milestone "NAME" --new --program P --due DATE
|
|
228
|
+
harbor reports [DASHBOARD] the Reports page's dashboards, each chart as numbers
|
|
221
229
|
harbor ashore [--weeks N] [--country CODES|none] [--person NAME]
|
|
222
230
|
harbor limit PROJECT [COLUMN N|none]
|
|
223
231
|
harbor week [--next|--last|--week DATE] [--review]
|
|
@@ -253,13 +261,13 @@ Agents on the crew: put an AI app on People with Add an agent and assign it task
|
|
|
253
261
|
|
|
254
262
|
A task has one owner (`--assignee`), who answers for it and whose load it counts against, and anyone else on it with them (`--also "Sam, Aya"`): they see it under Also on in `harbor mine` and on Today, and count as knowing it. `harbor edit RR-4 --also none` leaves only the owner.
|
|
255
263
|
|
|
256
|
-
`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`
|
|
264
|
+
`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` asks Harbor to add them on a copy it throws away, so it shows each task as it would really be (key, column, owner, priority, dates, parent, milestone), an open task that already has the title, and anything it would refuse and why; it exits 1 when something would be refused. `--unless-exists` adds a title only if the project has no open task by that name, so a retried script doesn't double up. `--json` gives `added` and `skipped` lists, each entry with its key, for one title or a hundred.
|
|
257
265
|
|
|
258
266
|
`harbor add "Book the venue @Quinn by Friday !high #Website"` reads the title in plain words, as the website's New task does: it adds "Book the venue" for Quinn, due Friday, high priority, in the Website project, and says what it read. A flag wins over the words (they stay in the title), `--literal` keeps the title exactly as typed, and `--due` takes the same words (`--due "next friday"`, `--due "in two weeks"`). In the full-screen app, `n` reads a new task's title the same way.
|
|
259
267
|
|
|
260
268
|
`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.
|
|
261
269
|
|
|
262
|
-
`harbor premortem` runs a pre-mortem with your crew: `--start` asks everyone "it's after the end date and this project failed: what happened?", each person adds answers alone for five minutes, and then the answers show together on the project's Risks & issues tab, where each becomes a risk in one click. On its own it prints the question and the answers you can see. Once a project is Done, `harbor voyage` prints its voyage log (planned against actual dates, the biggest slips, the risks that came true, who closed the most, and the crew's lines) and adds yours. `harbor messages PROJECT` reads a project's Messages tab, one conversation for the whole project, and `harbor messages PROJECT "TEXT"` writes to it; `@Name` sends it to that person's Inbox. `harbor note` leaves a note for later on a project: it stays sealed (the crew sees only that it's there and who left it) until its day, until one of the program's milestones is reached, or until the project turns Off track, and then it opens at the top of the project and in the brief. `harbor sound TASK --ask crew` takes a sounding: it asks you, the task's owner and whoever has open work on its project how many working days the task will take (`--ask "Sam,Priya"` picks who). Each person answers alone with `harbor sound TASK --answer 4 --why "…"`, and nobody sees the others' numbers until everyone has; then `harbor sound TASK` shows the spread, an estimate when the guesses are close, or "talk about this first" when they're far apart, and `--settle DAYS` records what you agreed. `harbor soundings` lists them, the ones waiting on your answer first. `harbor goals` lists each portfolio's goals
|
|
270
|
+
`harbor premortem` runs a pre-mortem with your crew: `--start` asks everyone "it's after the end date and this project failed: what happened?", each person adds answers alone for five minutes, and then the answers show together on the project's Risks & issues tab, where each becomes a risk in one click. On its own it prints the question and the answers you can see. Once a project is Done, `harbor voyage` prints its voyage log (planned against actual dates, the biggest slips, the risks that came true, who closed the most, and the crew's lines) and adds yours. `harbor messages PROJECT` reads a project's Messages tab, one conversation for the whole project, and `harbor messages PROJECT "TEXT"` writes to it; `@Name` sends it to that person's Inbox. `harbor note` leaves a note for later on a project: it stays sealed (the crew sees only that it's there and who left it) until its day, until one of the program's milestones is reached, or until the project turns Off track, and then it opens at the top of the project and in the brief. `harbor sound TASK --ask crew` takes a sounding: it asks you, the task's owner and whoever has open work on its project how many working days the task will take (`--ask "Sam,Priya"` picks who). Each person answers alone with `harbor sound TASK --answer 4 --why "…"`, and nobody sees the others' numbers until everyone has; then `harbor sound TASK` shows the spread, an estimate when the guesses are close, or "talk about this first" when they're far apart, and `--settle DAYS` records what you agreed. `harbor soundings` lists them, the ones waiting on your answer first. `harbor goals` lists each portfolio's goals, off track first, with each key result's progress. `harbor goal "TITLE" --new` sets one, and `harbor goal "GOAL"` reads or changes one: `--owner`, `--due`, `--why`, `--link "Ridge Runner"` to count a program, project or task toward it, `--kr "Stores signed" --target 40` to add a number key result and `--kr "Stores signed" --at 12` to move it. `harbor milestones` lists a program's milestones soonest first, with how many of their tasks are done, who signs them off and what they wait on; `harbor milestone "NAME" --new --program P --due DATE` adds one, and `harbor milestone "NAME"` moves (`--due`), renames, ticks (`--reached`), sets who signs it off (`--signs-off`), or, if it's yours to sign, `--approve`s it or asks for `--changes`. `harbor reports` prints the Reports page's dashboards, each chart as its numbers. `harbor messages PROJECT --edit "TEXT"` fixes your latest message there. `harbor ashore` lists the public holidays and time away in the next eight weeks; `--country US,GB` sets whose holidays the harbor takes and `--person NAME --country DE` one person's own, which the forecast and the weekly load then count as days off.
|
|
263
271
|
|
|
264
272
|
`harbor brief --say` turns the brief into the BBC's Shipping Forecast: each program an area, wind for late work, visibility for health, gale warnings for anything off track. It prints the forecast and speaks it with your computer's own voice (`say` on a Mac, Windows' speech, or `espeak-ng` on Linux, which you may need to install). With `--json` it prints the forecast and stays quiet.
|
|
265
273
|
|