@rness/cli 0.16.0 → 0.17.1

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 CHANGED
@@ -29,7 +29,7 @@ Inside a workspace, every `rness` delegates to the copy pinned in
29
29
  rness logout
30
30
  rness context [--scope <name>] [--json]
31
31
  rness status [<tab>]
32
- rness pulse create [-y]
32
+ rness pulse create [<collection>] [-y]
33
33
  rness pulse sync
34
34
  rness validate
35
35
  rness mcp
@@ -171,8 +171,9 @@ status, it received the problem. The `sh` line is not verified on Windows.
171
171
 
172
172
  ### Pulse
173
173
 
174
- rness pulse create # once per organization: the board, then a first sync
175
- rness pulse sync # as often as wanted
174
+ rness pulse create # once per organization: the board, then a first sync
175
+ rness pulse create marketing # a collection's own project (0.17.0)
176
+ rness pulse sync # every declared project, as often as wanted
176
177
 
177
178
  A projection of rness's state on the organization's GitHub Projects: a
178
179
  project named **Agent Pulse**, where the team sees — and reads — every
@@ -268,7 +269,7 @@ Session → Working session`). A board per directory, named as
268
269
  repositories.
269
270
  - **`pulse create`** needs an `org` in `rness.json` (a blank workspace is
270
271
  refused) and no pulse yet. It creates the project and at once writes
271
- `"pulse": { "project": <number> }` (and the `provider`) into `rness.json`,
272
+ `"projects": { "pulse": <number> }` (and the `provider`) into `rness.json`,
272
273
  then adds the fields, options and views, and runs a first sync; its
273
274
  `created` lines say what it added. If a step after the project fails, it
274
275
  exits 1 with the pulse declared, and `rness pulse sync` completes the
@@ -297,6 +298,33 @@ unchanged`.
297
298
  as the team's item. A workflow someone turns on (`Item closed`, `Item
298
299
  added to project`) may change a field of rness's items; the next sync
299
300
  writes it back.
301
+ - **A collection's own project** (0.17.0): `rness pulse create <collection>`
302
+ gives a directory of `.rness/` whose documents carry a status — a tab of
303
+ `rness status` — a project of its own, named after it, declared as
304
+ `"projects": { "pulse": 4, "marketing": 5 }`. Agent Pulse keeps every
305
+ other collection and the `Working` table; the collection's items leave
306
+ it (`deleteProjectV2Item`, their issues untouched) once its project
307
+ holds them. `pulse sync` syncs the collections' projects, then Agent
308
+ Pulse. The project is written from the collection's files, one way:
309
+ - `<collection>/README.md` is its README; its front matter may give
310
+ `description:` (the short description), `statuses:` (the columns, in
311
+ order, each there even when empty), `fields:` (each a name, a `type` —
312
+ `text`, `date`, `select`, `number` — and `from`, the front-matter key
313
+ of the documents that fills it, or a list of keys, the first present
314
+ one winning; a `select` may give `options:`) and `labels:` (`directory`,
315
+ the subdirectory a document sits in, or a front-matter key). A date
316
+ field adds a `Calendar` roadmap; which date it draws is set once in the
317
+ view's settings: GitHub's API does not set it.
318
+ - `<collection>/updates/<date>.md` are its status updates: `health`
319
+ (`on-track`, `at-risk`, `off-track`, `complete` or `inactive`),
320
+ optionally `start_date` and `target_date`, the text below. Each is posted once, in
321
+ the order of the names, and updated when its file changes; a deleted
322
+ file leaves its update.
323
+
324
+ rness adds no field or label of its own to a collection's project, and
325
+ none of this reaches Agent Pulse: a workspace that declares no collection
326
+ keeps its board as 0.16 made it.
327
+
300
328
  - **Hooks**, with `claude` in `agents` and a pulse declared: session start
301
329
  marks the `In progress` plans of the session's scope `Agent: working`, with
302
330
  the session; an edit of a document of `.rness/` marks it — one the agent has just written, with no item yet, gets its issue first
@@ -355,10 +383,12 @@ repository, the board).
355
383
  GitLab host reads as `gitlab`, any other host — or no repository — as
356
384
  `github`. Nothing to change: `pulse create` writes it, and refuses a
357
385
  detected provider this version cannot talk to. The order of keys is
358
- `contract`, `provider`, `org`, `agents`, `pulse`, `repos`, `scopes`.
386
+ `contract`, `provider`, `org`, `agents`, `projects`, `repos`, `scopes`.
387
+ The former `"pulse": { "project": <number> }` still reads, as
388
+ `"projects": { "pulse": <number> }`; both at once are refused.
359
389
  - A provider _written_ in `rness.json` that this version cannot talk to
360
390
  (`gitlab`) is refused by `validate`, `create`, `login` and `pulse`:
361
- `provider "gitlab" is not supported by @rness/cli 0.16.0 (supported:
391
+ `provider "gitlab" is not supported by @rness/cli 0.17.1 (supported:
362
392
  github)`. `add`, `sync` and the local commands never refuse. `null` is not a
363
393
  value: an absent key means none.
364
394
 
@@ -535,6 +565,31 @@ per repository, the files to commit there.
535
565
  Exit codes: 0 success, 1 failure, 2 usage — or a refusal without a TTY.
536
566
  `RNESS_DEBUG=1` adds stack traces; `RNESS_NO_DELEGATE=1` skips the delegation.
537
567
 
568
+ ## 0.17.1 — pulse shows it is at work
569
+
570
+ - `pulse create` and `pulse sync` show a transient line while they write a
571
+ project's items and bodies: each item is a few requests, one at a time,
572
+ and 34 cards took minutes with nothing on screen.
573
+ - A collection's label is made only when a document carries it: a
574
+ directory with no card (`assets/`) is no label.
575
+ - `pulse create <collection>` says `linked Marketing to <org>/.rness`, not
576
+ `Agent Pulse`.
577
+
578
+ ## 0.17.0 — a collection on its own GitHub Project
579
+
580
+ - `rness pulse create <collection>` gives a collection of `.rness/` a
581
+ project of its own; `rness pulse sync` syncs every declared project. The
582
+ collection's `README.md` gives the project its README, short
583
+ description, columns, fields and labels, and `updates/` its status
584
+ updates. See "Pulse".
585
+ - `rness.json` names the projects in `"projects": { "pulse": 4 }`; the
586
+ former `"pulse": { "project": 4 }` still reads, and is written in the new
587
+ form whenever rness writes the file. A CLI older than 0.17.0 refuses
588
+ `projects`: move the pin first (`rness upgrade`).
589
+ - For the package's API: `Manifest.pulse` is now `Manifest.projects`.
590
+ - A workspace that declares no collection's project sees no change on
591
+ Agent Pulse. Blocks are unchanged.
592
+
538
593
  ## 0.16.0 — Working session and Session history; the agent in the history
539
594
 
540
595
  - Agent Pulse's session fields are renamed so that the names say what
package/dist/bin/rness.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  findDelegate,
7
7
  reportError,
8
8
  run
9
- } from "../chunk-ABCO6D6B.js";
9
+ } from "../chunk-GAZDKEOH.js";
10
10
 
11
11
  // src/bin/rness.ts
12
12
  import { pathToFileURL } from "url";