@skein-code/cli 0.2.3 → 0.3.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
@@ -47,6 +47,9 @@ zero-service fallback.
47
47
  - **Layered agent runtime:** progressive Skills, MCP tools, typed workflows,
48
48
  isolated read-only experts, working memory, compacted session state, and
49
49
  reviewed durable memory share one permission and audit model.
50
+ - **Reviewed writer lane:** an opt-in API-backed writer can prepare a bounded
51
+ patch in a disposable Git worktree; only the main agent can explicitly
52
+ integrate it after review, conflict checks, and a recoverable checkpoint.
50
53
 
51
54
  The product rationale and competitor research are in
52
55
  [docs/PRODUCT.md](docs/PRODUCT.md); the implementation model is in
@@ -69,13 +72,14 @@ npm run build
69
72
  npm link
70
73
  ```
71
74
 
72
- To install the packaged artifact included with this checkout:
75
+ To build, verify, and install a local package artifact from this checkout:
73
76
 
74
77
  ```bash
75
- npm install -g ./skein-code-cli-0.2.0.tgz
78
+ npm run verify:package -- --output-dir artifacts/package
79
+ npm install -g ./artifacts/package/skein-code-cli-0.3.0.tgz
76
80
  ```
77
81
 
78
- After the public package is published, install it from the registry with:
82
+ To install the published package from npm:
79
83
 
80
84
  ```bash
81
85
  npm install -g @skein-code/cli
@@ -87,7 +91,13 @@ environment variables remain compatible with this release.
87
91
 
88
92
  ## Quick start
89
93
 
90
- Set credentials for one provider:
94
+ On the first interactive `skein` run, an incomplete model configuration opens
95
+ a keyboard-driven setup before any session is created. It offers an official
96
+ API, a third-party relay, or an explanation of signed-in CLI support. OpenAI,
97
+ Anthropic, and Gemini subscription logins are not API credentials; signed-in
98
+ Codex, Claude Code, and Gemini CLIs are available only as delegated agents.
99
+
100
+ For non-interactive setup, set credentials for one provider:
91
101
 
92
102
  ```bash
93
103
  export OPENAI_API_KEY=...
@@ -102,6 +112,21 @@ export SKEIN_API_KEY=... # omit when the local endpoint needs no authentication
102
112
  skein init --provider compatible --base-url http://localhost:11434/v1 --yes
103
113
  ```
104
114
 
115
+ Relay protocol selection is explicit and is never inferred from the URL or
116
+ model name:
117
+
118
+ - OpenAI-compatible relays use `POST /chat/completions`, Bearer authentication,
119
+ and OpenAI message/tool-call shapes (`provider: compatible`).
120
+ - Anthropic-compatible relays use `POST /messages`, `x-api-key`,
121
+ `anthropic-version`, and Anthropic content blocks (`provider: anthropic` with
122
+ a custom `baseUrl`).
123
+
124
+ Remote relays must use HTTPS. Loopback endpoints may use HTTP. To prevent an
125
+ official key from being sent to a third party, a custom OpenAI, Anthropic, or
126
+ Gemini base URL does not inherit the provider's official environment key; enter
127
+ the relay credential explicitly. The first-run flow writes its user config with
128
+ owner-only permissions and never renders the secret unmasked.
129
+
105
130
  Create project configuration, index, and start the TUI:
106
131
 
107
132
  ```bash
@@ -297,6 +322,24 @@ See [examples/config.yaml](examples/config.yaml) for a ready-to-adapt file.
297
322
  Secrets should normally stay in environment variables instead of committed
298
323
  configuration.
299
324
 
325
+ The isolated writer lane is disabled by default. Enable it only in user-owned
326
+ or explicitly trusted configuration:
327
+
328
+ ```yaml
329
+ agents:
330
+ writerEnabled: true
331
+ writerProfile: implementer
332
+ writerReviewerProfile: reviewer
333
+ maxWriterPatchBytes: 60000
334
+ ```
335
+
336
+ `writer_run` requires write, Git, and shell approval because it creates a
337
+ temporary worktree. It cannot change the active workspace. A reviewed patch is
338
+ applied only through `writer_integrate`, which requires its Team Run ID and
339
+ SHA-256, rejects HEAD drift or dirty targets, and records a checkpoint rollback
340
+ command. See [docs/MULTI_MODEL_TEAMS.md](docs/MULTI_MODEL_TEAMS.md) for the full
341
+ trust and lifecycle contract.
342
+
300
343
  `provider: compatible` must be paired with `model.baseUrl` (or the
301
344
  `--base-url` flag). Additional roots declared in project config are constrained
302
345
  to the project directory; use `--add-workspace` for an intentionally external
@@ -384,9 +427,10 @@ unattended agents.
384
427
 
385
428
  ## Project data
386
429
 
387
- Existing installations keep using `<workspace>/.mosaic/` until migration is
388
- explicitly requested. New canonical storage uses `<workspace>/.skein/` with
389
- the same layout:
430
+ Existing installations and fresh projects on Skein 0.2.x keep using
431
+ `<workspace>/.mosaic/` until migration is explicitly requested. The migration
432
+ target—and the fresh-project default beginning with 0.3.0—is
433
+ `<workspace>/.skein/`, with the same layout:
390
434
 
391
435
  ```text
392
436
  .skein/