@harborppm/cli 0.35.0 → 0.37.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 +34 -1
- package/dist/app.mjs +3554 -846
- package/lib/cli.mjs +162 -0
- package/lib/format.mjs +40 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -61,6 +61,32 @@ Your harbor is the same one at [harborppm.com](https://harborppm.com/today?utm_s
|
|
|
61
61
|
|
|
62
62
|
The website has the commands too: turn on **Command line at the bottom** in your menu, press `/`, and type `mine`, `add "Call the mill" #ridge @sam --due fri` or `done RR-12`.
|
|
63
63
|
|
|
64
|
+
## Your plan in your repository
|
|
65
|
+
|
|
66
|
+
`harbor init` in a code project writes a `.harbor/` folder at the top of the repository: one plain file per task in a project, with its title, status, owner, due date, priority and what it waits on, and its notes below. Edit them by hand, review them in pull requests, keep them in git like any code.
|
|
67
|
+
|
|
68
|
+
```sh
|
|
69
|
+
harbor init "Cedar site" # or its key: harbor init CS
|
|
70
|
+
$EDITOR .harbor/tasks/CS-4.md # status: doing, owner: Sam, due: 2026-11-07…
|
|
71
|
+
harbor sync # sends the edits, brings the website's back
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
```md
|
|
75
|
+
---
|
|
76
|
+
title: Move checkout to the new API
|
|
77
|
+
status: doing
|
|
78
|
+
owner: Sam Rivera
|
|
79
|
+
due: 2026-11-07
|
|
80
|
+
priority: high
|
|
81
|
+
waits: [CS-2]
|
|
82
|
+
---
|
|
83
|
+
Old endpoints go away on Nov 20.
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
A new file with any name is a new task: `harbor sync` adds it and renames it to its key. A field changed in a file and not on the website goes to Harbor; one changed in both places keeps the website's and says so. Removing a file doesn't delete the task (mark it done instead). On a fresh clone, run `harbor sync` before editing. `harbor init --hook` adds a git post-commit hook that syncs after each commit.
|
|
87
|
+
|
|
88
|
+
No account? `harbor init --local` makes a plan that lives only in the folder (the rest of it in `.harbor/plan.json`), and `harbor` in that folder opens it full screen, offline and free. Later, `harbor init PROJECT` moves its tasks into a project on harborppm.com.
|
|
89
|
+
|
|
64
90
|
## In your shell prompt
|
|
65
91
|
|
|
66
92
|
`harbor prompt` prints a few characters for your prompt: `⚓ 2 today · 1 late`, with late work in coral, and nothing at all when you're clear. It never waits on the network: it shows the counts it kept and fetches new ones in the background when they're more than five minutes old, or after you change a task. `harbor prompt --init zsh` (or `bash`, `fish`, `starship`) prints the lines to add to your shell's setup, so `harbor prompt --init starship >> ~/.config/starship.toml` does it in one go:
|
|
@@ -130,12 +156,19 @@ harbor premortem PROJECT ["WHAT WENT WRONG"] [--start]
|
|
|
130
156
|
harbor voyage PROJECT ["YOUR LINE"]
|
|
131
157
|
harbor note PROJECT ["NOTE"] [--opens DATE|--milestone NAME|--off-track]
|
|
132
158
|
harbor limit PROJECT [COLUMN N|none]
|
|
159
|
+
harbor init [PROJECT] [--hook] a project's tasks as files in this repository
|
|
160
|
+
harbor init --local [NAME] a plan in this folder alone, no account
|
|
161
|
+
harbor sync [--quiet] the files and the website, in step both ways
|
|
133
162
|
harbor handover PERSON [--to NAME] [--until DATE] [--note TEXT] [--keep ID,ID] [--confirm]
|
|
134
163
|
harbor handback PERSON
|
|
164
|
+
harbor agent [--agent NAME]
|
|
165
|
+
harbor agent report TASK "WHAT YOU DID" [--start] [--agent NAME]
|
|
135
166
|
```
|
|
136
167
|
|
|
137
168
|
`harbor handover Priya` lists everything Priya carries (open tasks, sign-offs waiting on her, risks and issues she owns, projects and programs she leads) and who should take each, from who has room this week. Nothing moves until you add `--confirm`. `--until DATE` is for time away: Priya shows as away on People, and `harbor handback Priya` gives back whatever is still with whoever took it. `--note` goes with each task and risk as a comment.
|
|
138
169
|
|
|
170
|
+
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.
|
|
171
|
+
|
|
139
172
|
`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.
|
|
140
173
|
|
|
141
174
|
`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 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.
|
|
@@ -148,7 +181,7 @@ When you belong to more than one harbor, say which: `--harbor NAME` on the comma
|
|
|
148
181
|
|
|
149
182
|
Harbor holds back what it would hold back in the app: finishing a task that still waits on another, or going past a column's limit. The CLI says so and names the flag that goes ahead (`--confirm`, `--over-limit`).
|
|
150
183
|
|
|
151
|
-
Every change shows in Harbor's History as yours, "via Harbor CLI". The commands never delete anything; the full-screen app can, as the website can, and asks first.
|
|
184
|
+
Every change shows in Harbor's History as yours, "via Harbor CLI". The commands never delete anything (`harbor sync` included: removing a task's file brings it back); the full-screen app can, as the website can, and asks first.
|
|
152
185
|
|
|
153
186
|
## Another server
|
|
154
187
|
|