@rness/cli 0.8.1 → 0.9.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 CHANGED
@@ -29,6 +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 validate
32
+ rness mcp
32
33
 
33
34
  `create` never runs inside a workspace. `add`, `sync` and `create` ask for
34
35
  confirmation in a terminal; pass `-y`/`--yes` in scripts. `sync --check`
@@ -61,7 +62,8 @@ the files a given agent needs, for the agents the team declares in
61
62
  `../../.rness` in `permissions.additionalDirectories`, so a session in the
62
63
  repository reads the context repository without a prompt. Claude Code
63
64
  applies it once the repository has been trusted interactively. Verified
64
- with Claude Code 2.1.284 on 2026-09-29.
65
+ with Claude Code 2.1.284 on 2026-09-29. Each clone also gets `.mcp.json`,
66
+ which registers the MCP server; see "MCP server".
65
67
  - rness owns values, not files: what is missing is added, nothing else is
66
68
  touched, and a file it cannot parse is reported, never rewritten.
67
69
  `sync --check` and `validate` report a missing value. Removing an agent
@@ -69,6 +71,38 @@ the files a given agent needs, for the agents the team declares in
69
71
  - Other agents (Codex, Cursor, GitHub Copilot) read the `AGENTS.md` block;
70
72
  `sync` refuses an agent it has no target for.
71
73
 
74
+ ### MCP server
75
+
76
+ rness mcp # started by the agent over stdio, not by hand
77
+
78
+ A local, read-only MCP server over the workspace's `.rness/`, for an agent to
79
+ find what applies to the repository it works in and where a subject was
80
+ decided:
81
+
82
+ | Tool | Returns |
83
+ | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
84
+ | `rness_context({ scope? })` | the scope of the working directory (or the one named) and what applies to it: standards, decisions, specifications, plans — id, status, title, path |
85
+ | `rness_list({ collection, status? })` | every document of a collection, across scopes, optionally of one status |
86
+ | `rness_read({ path })` | one file of `.rness/`, 256 KiB at most; nothing outside it |
87
+ | `rness_search({ query, collection? })` | the documents that match, most matching first, with the matching lines |
88
+
89
+ - MCP over stdio, one message per line: the `2026-07-28` revision and the
90
+ earlier ones that open with `initialize` (`2025-11-25` back to
91
+ `2024-11-05`). No MCP SDK, no added dependency.
92
+ - `.rness/` is read again on each call, so an edit shows at once. Nothing is
93
+ written.
94
+ - With `claude` in `agents`, `sync` registers it in each clone:
95
+ `.mcp.json` gets `mcpServers.rness`, which runs the pinned copy
96
+ (`node ../../.rness/node_modules/@rness/cli/dist/bin/rness.js mcp`), and
97
+ `.claude/settings.json` lists `rness` in `enabledMcpjsonServers`. A
98
+ team's own `rness` entry is left as it is.
99
+ - Verified with Claude Code 2.1.284 on 2026-09-29: the server starts from the
100
+ repository and its tools answer. Not verified yet: that
101
+ `enabledMcpjsonServers` spares the approval prompt in an interactive
102
+ session.
103
+ - Another agent can run the same command from a clone; rness writes no
104
+ configuration for it.
105
+
72
106
  ### Log in
73
107
 
74
108
  rness login # shows a code and https://github.com/login/device
@@ -204,6 +238,18 @@ its content does.
204
238
  Exit codes: 0 success, 1 failure, 2 usage — or a refusal without a TTY.
205
239
  `RNESS_DEBUG=1` adds stack traces; `RNESS_NO_DELEGATE=1` skips the delegation.
206
240
 
241
+ ## 0.9.0 — the context on demand: `rness mcp`
242
+
243
+ - `rness mcp`: a local, read-only MCP server with four tools —
244
+ `rness_context`, `rness_list`, `rness_read`, `rness_search`. See "MCP
245
+ server".
246
+ - The Claude target registers it: each clone gets `.mcp.json`
247
+ (`mcpServers.rness`) and `rness` in `enabledMcpjsonServers` of
248
+ `.claude/settings.json`. After upgrading, run `rness sync` once and commit
249
+ both files in each repository; until then `sync --check` and `validate`
250
+ report them missing.
251
+ - Blocks are unchanged.
252
+
207
253
  ## 0.8.1 — adoption without placeholders
208
254
 
209
255
  - Adopting the scaffold no longer adds a `.gitkeep` to a directory that
package/dist/bin/rness.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  findDelegate,
7
7
  reportError,
8
8
  run
9
- } from "../chunk-ONLF4VFA.js";
9
+ } from "../chunk-DL72BCPT.js";
10
10
 
11
11
  // src/bin/rness.ts
12
12
  import { pathToFileURL } from "url";