usesteady 0.1.0-alpha.53 → 0.1.0-alpha.55

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/CHANGELOG.md CHANGED
@@ -1,5 +1,311 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.55 - SYSTEM WILL preview block (trust-clarity refinement)
4
+
5
+ **Released:** May 2026
6
+ **npm tag:** `alpha` - `npm install -g usesteady@alpha`
7
+
8
+ **Not a new capability release.** A focused usability and explain-
9
+ before-execute trust refinement. Renderer-only change. The
10
+ execution engine, planner, approval model, operation set, and
11
+ dependency set are byte-identical to alpha.54.
12
+
13
+ ### What this release fixes
14
+
15
+ The alpha.54 fresh-install walkthrough exposed a real onboarding-
16
+ tail gap: at the `APPROVE?` frame for an `append` operation,
17
+ `SYSTEM WILL` showed only the headline ("Append to NOTES.md") and
18
+ the raw user input. The literal text being appended, the target
19
+ file, and the file-creation behavior were all absent at the exact
20
+ moment the operator was being asked to approve. Trust clarity
21
+ collapsed at the highest-leverage approval surface.
22
+
23
+ ### What ships
24
+
25
+ A deterministic `Preview:` block embedded in the `task_ready` and
26
+ `task_conflict` frames, plus a per-task summary in the `reviewing`
27
+ phase. All preview content is sourced from the same
28
+ `WorkflowTaskSpec` structured fields the executor consumes.
29
+
30
+ For an append op the operator now sees, before approving:
31
+
32
+ ```
33
+ SYSTEM WILL
34
+ -> Append to NOTES.md
35
+ You asked: append "hello from usesteady" to NOTES.md
36
+ Preview:
37
+ Operation: append (text added to end of file)
38
+ Target: NOTES.md
39
+ Content: "hello from usesteady"
40
+ File note: If NOTES.md does not exist, it will be created.
41
+ ```
42
+
43
+ Per op type, the preview answers four questions: what kind of
44
+ change, where, what literal text (verbatim, never paraphrased),
45
+ and whether a missing/existing file changes runtime behavior.
46
+
47
+ | Op | Shape | File note (mirrors runtime) |
48
+ | --- | --- | --- |
49
+ | `append_file` | Operation / Target / Content | "If <file> does not exist, it will be created." |
50
+ | `prepend_file` | Operation / Target / Content | same |
51
+ | `write_file` | Operation / Target / Content | "If <file> already exists, the operation will fail (target_exists)." |
52
+ | `replace` | Operation / Target / From / To | (no file note) |
53
+ | `rename` | Operation / From / To | "If <newPath> already exists, the operation will fail (target_exists)." |
54
+ | `delete_file` | Operation / Target | "Deletion is permanent within this workspace; verify the path." |
55
+ | `create_dir` | Operation / Path | (no file note) |
56
+ | `run_command` | Operation / Command | (no file note) |
57
+
58
+ The `reviewing` phase keeps the existing ` N. [runtime] label`
59
+ header byte-for-byte (phase-11d tests assert on the numbering
60
+ format), adds an indented compact summary beneath each task, and
61
+ inserts a thin ` -----` separator between adjacent tasks.
62
+ Single-task workflows render no separator. Unstructured (raw NL)
63
+ tasks render the header only.
64
+
65
+ ### Deterministic truncation
66
+
67
+ - Inline content > 72 chars: visible head + `(truncated; N chars total)`.
68
+ - Multi-line content: `Content (L lines, M chars):` header, body lines
69
+ prefixed `| `, capped at 6 lines and 76 chars per line, tail
70
+ `K more lines truncated` with singular/plural agreement.
71
+ - C-style escapes (`\t`, `\r`, `\n`, `\"`, `\\`) so multi-line
72
+ values cannot forge new visual lines inside an inline preview.
73
+
74
+ ### Friction -> Fix -> Invariant mapping
75
+
76
+ The walkthrough-recorded friction items closed by alpha.55:
77
+
78
+ | Friction (walkthrough) | Coverage | Invariant improved |
79
+ | --- | --- | --- |
80
+ | Append content invisible at approval | Full | Preview block sourced from spec, not from intake interpretation. |
81
+ | File-create behavior implicit | Full | Each preview includes the runtime statement (`will be created` / `target_exists` / `permanent`). |
82
+ | Batch workflows blurred together at review | Full | `reviewing` phase per-task block + N-1 separator. |
83
+ | Long content risked terminal flood | Full | Deterministic truncation rules with explicit char/line counts. |
84
+ | Multi-line content could forge visual lines | Full | C-style escape for tab/CR/newline/quote in inline previews. |
85
+
86
+ ### Authority story
87
+
88
+ The renderer remains pure (WS1). The preview is read from the same
89
+ `WorkflowTaskSpec` fields the executor consumes. The workflow spec
90
+ hash (Row 2) covers that spec end-to-end, so the preview cannot
91
+ drift from the executed change without the hash mismatching and
92
+ the run aborting before any filesystem effect.
93
+
94
+ The preview never paraphrases content; the operation-kind label is
95
+ a fixed factual constant per type. No semantic interpretation, no
96
+ AI summarization, no autonomous decision-making.
97
+
98
+ ### What does NOT change
99
+
100
+ - Execution engine: byte-identical.
101
+ - Planner: byte-identical.
102
+ - Approval model: `task_ready` still produces a `confirm` prompt;
103
+ nothing is auto-approved.
104
+ - Operation set: same 8 operation types as alpha.54.
105
+ - Dependencies: zero additions.
106
+ - Hidden execution: still zero.
107
+ - Autonomy: still zero.
108
+ - Spec hash semantics, replay, audit envelope: byte-identical.
109
+
110
+ ### Tests
111
+
112
+ `tests/shell/system-will-preview.test.ts` - 41 new tests covering:
113
+
114
+ - Per-op preview rendering (all 8 op types).
115
+ - File-create messaging assertions per type.
116
+ - Inline truncation at 72 chars; multi-line block at 6 lines / 76
117
+ chars; singular/plural wording.
118
+ - Escape rules for `\t`, `\r`, `\n`, `\"`, `\\`.
119
+ - Fallback to `[]` for raw NL / missing fields.
120
+ - `task_ready` ordering invariant (SYSTEM WILL -> headline ->
121
+ You asked -> Preview).
122
+ - `task_conflict` parity (same preview before
123
+ `System will execute on approval.`).
124
+ - `reviewing` phase: 1-based numbering preserved (regression
125
+ guard), `[cursor]` / `[claude]` tags preserved, N-1 separators
126
+ for N tasks, single-task no separator, mixed structured /
127
+ unstructured tasks.
128
+ - Byte-determinism across calls.
129
+ - Renderer purity (no run mutation).
130
+ - Confirm prompt still required.
131
+
132
+ Full suite: 4794 passed, 4 pre-existing skips. No regressions in
133
+ `phase-11d` / `workflow-coordinator` / `shell-workflow-render`.
134
+
135
+ ### Release engineering
136
+
137
+ - `npm run release:gate` continues to use `test:release` with
138
+ `--retry=2` for the pre-existing test-order-dependent shell-
139
+ spawn flakes documented in alpha.52 release engineering notes.
140
+ - `check-stdin-ownership` continues to scan git-tracked files only.
141
+
142
+ Implementation PR: `shortgigs/usesteady-core#307`.
143
+ Implementation module: `src/shell/workflow-render.ts`
144
+ (`operationPreviewLines`, `operationReviewSummaryLines`, plus
145
+ `previewInline` / `previewBlock` helpers).
146
+
147
+ ### Posture after alpha.55
148
+
149
+ Trust-clarity refinement releases complete a friction -> fix -> release
150
+ cycle from a real walkthrough. The next cycle starts with another
151
+ real walkthrough on alpha.55. Hold for one operational cycle:
152
+
153
+ - Watch for confusion at the new Preview surface (off-spec
154
+ expectations, line-cap surprises, escape misreads).
155
+ - Watch for `reviewing` phase readability issues at large N (>5
156
+ tasks).
157
+ - Watch for truncation complaints (does a real user need a way to
158
+ see the full content before approval, or do they need to abort
159
+ and re-author the spec).
160
+
161
+ No proactive next capability surface this cycle. Trust-clarity
162
+ refinements compose with onboarding; the next bounded NOW pick
163
+ remains 3.11 workflow health diagnostics or 3.6 execution timeline,
164
+ selected when the alpha.55 monitoring window resolves.
165
+
166
+ ---
167
+
168
+ ## 0.1.0-alpha.54 - Onboarding quickstart and starter templates
169
+
170
+ **Released:** May 2026
171
+ **npm tag:** `alpha` - `npm install -g usesteady@alpha`
172
+
173
+ Second ship from the **Product Capability Track**. Goal: a brand-new
174
+ user can go from install to a successful, reviewed workflow in under
175
+ five minutes, without reading internal docs. Bounded scope: two new
176
+ read-only subcommands and a README walkthrough. Zero authority impact.
177
+
178
+ ### What ships
179
+
180
+ Three onboarding surfaces, all read-only:
181
+
182
+ - `usesteady quickstart` - one-screen orientation. What UseSteady is,
183
+ how to discover capabilities, how to pick a template, how to
184
+ customize and run, plain-language approval explanation, where
185
+ workflows execute, and how to stop safely. Pure text renderer;
186
+ byte-for-byte deterministic.
187
+ - `usesteady templates` - prints a list of safe starter workflows
188
+ with one-line purposes.
189
+ - `usesteady templates <name>` - prints one template in detail
190
+ (purpose, required/optional fields, example values, safety notes,
191
+ runnable JSON operations). `--output json` for machine-readable.
192
+
193
+ Five initial templates:
194
+
195
+ | Template | Operations |
196
+ |---|---|
197
+ | `append-to-file` | `append` |
198
+ | `safe-rename` | `rename` |
199
+ | `multi-file-replace` | `replace` (x3) |
200
+ | `non-destructive-cleanup` | `create_dir` + `rename` (x2) |
201
+ | `git-safe-review-flow` | `create` + `append` |
202
+
203
+ **No starter template uses `delete` or `run`.** Tests enforce this:
204
+ starter templates are deliberately non-destructive and command-free.
205
+ Every operation in every template is a member of `ALL_OPERATION_TYPES`
206
+ (`src/input/op-registry.ts`); the registry is the single source of
207
+ truth and tests assert there is no second op list to drift against.
208
+
209
+ README adds a "First 5 Minutes with UseSteady" section that walks
210
+ the exact happy path: `quickstart` -> `capabilities` -> `templates` ->
211
+ customize -> `batch` run -> approval / stop. No internal-doc
212
+ references required.
213
+
214
+ Implementation PR: `shortgigs/usesteady-core#304`.
215
+ Implementation modules: `src/shell/cli/quickstart.ts` and
216
+ `src/shell/cli/templates.ts` (pure functions only; no I/O, no
217
+ `process.exit`, no execution).
218
+
219
+ ### Friction -> Fix -> Invariant mapping
220
+
221
+ The Product Capability Track frictions are internally referenced as
222
+ F-1..F-9 in the design doc. This release closes:
223
+
224
+ | Friction (track ref) | Coverage | Invariant improved |
225
+ |---|---|---|
226
+ | F-1 Manual batch JSON loading | full | Operators can copy a complete runnable JSON operation set from any template; no hand-crafting from registry summaries. |
227
+ | F-7 Unclear first-run path | full | `usesteady quickstart` is the documented first command. README "First 5 Minutes" walks the full path without internal-doc references. |
228
+ | F-8 Command authoring friction | full | Templates surface required/optional fields, example values, and safety notes for each starter workflow before invocation. |
229
+ | F-2 Workflow scaffolding gap | partial | Five non-destructive templates cover the most common safe starting patterns. Custom workflows still require hand-authoring; that gap is deliberate. |
230
+ | F-5 Approval surprise / opaque flow | partial | Quickstart explains the approval gate, `--yes` semantics, and how to stop safely in plain language; the runtime approval surface itself is unchanged. |
231
+
232
+ ### Authority story
233
+
234
+ - Deterministic approval model: unchanged.
235
+ - No hidden execution: both new subcommands only print. Quickstart
236
+ renders static text. Templates renders static catalog data. Neither
237
+ module imports the planner, the safety gate, the executor, or any
238
+ approval surface.
239
+ - No autonomous authority expansion: no new authority granted. The
240
+ set of executable operations did NOT grow. Only inspection
241
+ surfaces grew.
242
+ - Explain-before-execute: strengthened. Operators now see a
243
+ pre-formatted, safety-noted recipe before authoring a workflow.
244
+ - Bounded execution semantics: unchanged. Templates are static data;
245
+ printing a template is not running one.
246
+ - `--yes` semantics: unchanged. `quickstart` and `templates` join
247
+ `capabilities` in the documented `--yes`-exempt list because they
248
+ never execute. Every other path still requires `--yes` for
249
+ `--output json` execution.
250
+
251
+ ### What does NOT change
252
+
253
+ - No `src/input/` change. No registry change. No IR change.
254
+ - No safety detector, drift detector, sanitizer, or canonicalizer
255
+ change. PRs #293 / #294 / #297 surfaces are untouched.
256
+ - No execution engine change. Planner, executor, and approval
257
+ surfaces are byte-identical to alpha.53.
258
+ - No new operation types. Templates compose only operations from the
259
+ existing `ALL_OPERATION_TYPES`.
260
+ - No new runtime dependencies.
261
+ - No model-insertion path change. No new prompt surfaces. No AI
262
+ workflow generation. Templates are hand-authored static data.
263
+ - No edits to ShortGigs, YODHA, StructureGuard, or SteadyHealth.
264
+
265
+ ### Tests
266
+
267
+ 73 of 73 tests pass across the three onboarding-adjacent surfaces:
268
+
269
+ - `tests/shell/capabilities.test.ts` (17, regression)
270
+ - `tests/shell/templates.test.ts` (41 new)
271
+ - `tests/shell/quickstart.test.ts` (15 new)
272
+
273
+ Key invariants enforced by tests:
274
+
275
+ - Every operation in every template uses a registered op type.
276
+ - No starter template uses `delete` or `run`.
277
+ - Quickstart text and template output are byte-for-byte deterministic.
278
+ - `--output json` works without `--yes` on all three read-only paths.
279
+ - Unknown template names exit non-zero with a helpful stderr line.
280
+ - Negative-content guarantees on quickstart: no "autonomous", no
281
+ "ai will fix", no "agent will" language anywhere in the orientation.
282
+
283
+ ### Release engineering
284
+
285
+ No changes to the release gate. `test:release` retains the `--retry=2`
286
+ flake mitigation from alpha.52. `check-stdin-ownership` runs the same
287
+ git-tracked-only scan.
288
+
289
+ ### Surface-specific monitoring
290
+
291
+ Stabilization window for the onboarding surface opens with this
292
+ release. Watch for:
293
+
294
+ - Confusion in the quickstart text (specific lines that mislead a
295
+ first-time user).
296
+ - Template copy/paste failures (JSON that doesn't parse cleanly
297
+ when pasted, escape-sequence misreads).
298
+ - Approval-flow surprises after following the quickstart (anything
299
+ the operator sees at run time that the quickstart did not prepare
300
+ them for).
301
+ - Trust/perception issues (any place where the operator cannot tell
302
+ whether something is "just printing" or "about to run").
303
+
304
+ If real friction surfaces in this window, one bounded follow-up PR
305
+ ships. No multi-candidate expansion.
306
+
307
+ ---
308
+
3
309
  ## 0.1.0-alpha.53 - Capability explorer (first Product Capability Track ship)
4
310
 
5
311
  **Released:** May 2026
package/README.md CHANGED
@@ -168,6 +168,99 @@ Requires Node.js 18+. Runs fully local. Optional: set `ANTHROPIC_API_KEY` to ena
168
168
 
169
169
  ---
170
170
 
171
+ ## First 5 Minutes with UseSteady
172
+
173
+ This is the fastest path from a fresh install to a successful, reviewed change.
174
+
175
+ ### 1. Read the orientation
176
+
177
+ ```bash
178
+ npx usesteady quickstart
179
+ ```
180
+
181
+ One screen. What UseSteady is, the steps below, plain-language approval, where workflows execute, how to stop. Read-only - this command does not run anything.
182
+
183
+ ### 2. See what operations exist
184
+
185
+ ```bash
186
+ npx usesteady capabilities
187
+ ```
188
+
189
+ The full catalog of supported operations (`replace`, `append`, `rename`, `create`, etc.), with the exact JSON shape for each. Source of truth - no second list to drift against.
190
+
191
+ ### 3. Pick a starter template
192
+
193
+ ```bash
194
+ npx usesteady templates
195
+ ```
196
+
197
+ Lists five safe, non-destructive starter workflows:
198
+
199
+ | Template | What it does |
200
+ |---|---|
201
+ | `append-to-file` | Add a block to an existing file (recommended first run). |
202
+ | `safe-rename` | Rename one file with explicit approval. |
203
+ | `multi-file-replace` | Same exact-text replacement across a hand-listed file set. |
204
+ | `non-destructive-cleanup` | Move files into a new directory via rename (no deletions). |
205
+ | `git-safe-review-flow` | Capture review notes in `REVIEW.md` without touching source. |
206
+
207
+ Print a template in detail:
208
+
209
+ ```bash
210
+ npx usesteady templates append-to-file
211
+ ```
212
+
213
+ You get the purpose, required fields, example values, safety notes, and a runnable JSON operation block.
214
+
215
+ ### 4. Customize and run
216
+
217
+ Copy the JSON operations from the template into a file (e.g. `ops.json` - as a JSON array), replace the placeholder values with your real values, then:
218
+
219
+ ```bash
220
+ npx usesteady batch ops.json
221
+ ```
222
+
223
+ UseSteady prints **SYSTEM WILL** with the exact operation, waits for your approval, and only runs after you say yes. Every operation. No exceptions.
224
+
225
+ ### What `SYSTEM WILL` looks like
226
+
227
+ For an `append-to-file` operation customized to add `hello from usesteady` to `NOTES.md`, the approval frame is:
228
+
229
+ ```
230
+ ----------------------------------------------------
231
+ APPROVE? Task 1 of 1
232
+ ----------------------------------------------------
233
+ SYSTEM WILL
234
+ -> Append to NOTES.md
235
+ You asked: append "hello from usesteady" to NOTES.md
236
+ Preview:
237
+ Operation: append (text added to end of file)
238
+ Target: NOTES.md
239
+ Content: "hello from usesteady"
240
+ File note: If NOTES.md does not exist, it will be created.
241
+
242
+ Approve this task? (y/n)
243
+ ```
244
+
245
+ The `Preview:` block is sourced from the same fields the executor uses. It tells you, before approval:
246
+
247
+ - the **operation** (factual label, not a paraphrase)
248
+ - the **target** file
249
+ - the literal **content** being written (quoted verbatim; truncated deterministically if long; tab/CR/newline rendered as `\t`/`\r`/`\n` so multi-line text cannot forge visual lines)
250
+ - the **file note** describing what happens if the file is missing (`will be created`) or already present (`will fail (target_exists)`, depending on the operation)
251
+
252
+ Nothing runs until you type `y`.
253
+
254
+ ### 5. If you change your mind
255
+
256
+ At any approval prompt, choose **Reject** (or press `Ctrl+C`). The current operation is not applied; UseSteady exits. Operations approved earlier in the workflow are filesystem changes you already authorized one at a time; undo them via your version control (`git revert`) or by reversing the operation manually.
257
+
258
+ ### Approval, in one sentence
259
+
260
+ By default UseSteady stops before every operation. Add `--yes` only when you have already read and reviewed the entire spec (typical in CI).
261
+
262
+ ---
263
+
171
264
  ## Discover what UseSteady can do
172
265
 
173
266
  Print a structured catalog of every operation this build supports - read-only, never executes anything:
@@ -0,0 +1,41 @@
1
+ /**
2
+ * usesteady quickstart -- guided first-run onboarding text.
3
+ *
4
+ * Pure module. No I/O, no process.exit, no execution. Importing this
5
+ * module cannot read stdin, write the filesystem, spawn a process, or
6
+ * talk to a model. It exists to render a single-screen orientation that
7
+ * gets a brand-new user from install to first safe workflow in under five
8
+ * minutes.
9
+ *
10
+ * Determinism: the exported function is pure and returns identical bytes
11
+ * across runs for a given build. There is no template interpolation, no
12
+ * environment-dependent text, no clock-based output.
13
+ *
14
+ * Authority:
15
+ * - This module does not interact with the planner, the safety gate,
16
+ * the executor, the model-insertion path, or any approval surface.
17
+ * - Quickstart only PRINTS instructions. It never starts a workflow,
18
+ * never approves anything, never reads stdin, never writes files.
19
+ * - Every command suggested in the text goes through the existing
20
+ * CLI dispatcher; nothing new is granted authority by quickstart.
21
+ *
22
+ * Source of truth:
23
+ * - For the operation catalog, the text directs the user to
24
+ * `usesteady capabilities` (src/shell/cli/capabilities.ts).
25
+ * - For starter workflows, the text directs the user to
26
+ * `usesteady templates` (src/shell/cli/templates.ts).
27
+ * - For full CLI usage, the text directs the user to
28
+ * `usesteady help`.
29
+ * No content is duplicated; quickstart is a curated entry point, not
30
+ * a second source of truth.
31
+ *
32
+ * Design: docs/product/useability-and-guided-execution-track.md (Product
33
+ * Capability Track) -- onboarding clarity. Surface added in the first
34
+ * implementation slice of "first successful workflow in under 5 minutes."
35
+ */
36
+ /**
37
+ * Render the quickstart guide as a human-readable text block. Bytes are
38
+ * identical across runs for a given build. Always succeeds.
39
+ */
40
+ export declare function renderQuickstartText(): string;
41
+ //# sourceMappingURL=quickstart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickstart.d.ts","sourceRoot":"","sources":["../../../../src/shell/cli/quickstart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAsH7C"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * usesteady quickstart -- guided first-run onboarding text.
3
+ *
4
+ * Pure module. No I/O, no process.exit, no execution. Importing this
5
+ * module cannot read stdin, write the filesystem, spawn a process, or
6
+ * talk to a model. It exists to render a single-screen orientation that
7
+ * gets a brand-new user from install to first safe workflow in under five
8
+ * minutes.
9
+ *
10
+ * Determinism: the exported function is pure and returns identical bytes
11
+ * across runs for a given build. There is no template interpolation, no
12
+ * environment-dependent text, no clock-based output.
13
+ *
14
+ * Authority:
15
+ * - This module does not interact with the planner, the safety gate,
16
+ * the executor, the model-insertion path, or any approval surface.
17
+ * - Quickstart only PRINTS instructions. It never starts a workflow,
18
+ * never approves anything, never reads stdin, never writes files.
19
+ * - Every command suggested in the text goes through the existing
20
+ * CLI dispatcher; nothing new is granted authority by quickstart.
21
+ *
22
+ * Source of truth:
23
+ * - For the operation catalog, the text directs the user to
24
+ * `usesteady capabilities` (src/shell/cli/capabilities.ts).
25
+ * - For starter workflows, the text directs the user to
26
+ * `usesteady templates` (src/shell/cli/templates.ts).
27
+ * - For full CLI usage, the text directs the user to
28
+ * `usesteady help`.
29
+ * No content is duplicated; quickstart is a curated entry point, not
30
+ * a second source of truth.
31
+ *
32
+ * Design: docs/product/useability-and-guided-execution-track.md (Product
33
+ * Capability Track) -- onboarding clarity. Surface added in the first
34
+ * implementation slice of "first successful workflow in under 5 minutes."
35
+ */
36
+ /**
37
+ * Render the quickstart guide as a human-readable text block. Bytes are
38
+ * identical across runs for a given build. Always succeeds.
39
+ */
40
+ export function renderQuickstartText() {
41
+ const lines = [];
42
+ lines.push("");
43
+ lines.push(" UseSteady -- first 5 minutes");
44
+ lines.push("");
45
+ lines.push(" What UseSteady is");
46
+ lines.push(" A command-line tool for governed workflow execution.");
47
+ lines.push(" You describe a change, review the exact operation, and approve");
48
+ lines.push(" it before anything runs. No hidden execution, no surprise");
49
+ lines.push(" actions, nothing happens without your explicit approval.");
50
+ lines.push("");
51
+ lines.push(" ---------------------------------------------------------------");
52
+ lines.push(" Step 1. See what UseSteady can do");
53
+ lines.push(" ---------------------------------------------------------------");
54
+ lines.push("");
55
+ lines.push(" usesteady capabilities");
56
+ lines.push("");
57
+ lines.push(" Prints the full catalog of supported operations. Read-only; this");
58
+ lines.push(" command never executes anything. Add --output json for a");
59
+ lines.push(" machine-readable shape.");
60
+ lines.push("");
61
+ lines.push(" ---------------------------------------------------------------");
62
+ lines.push(" Step 2. Pick a starter template");
63
+ lines.push(" ---------------------------------------------------------------");
64
+ lines.push("");
65
+ lines.push(" usesteady templates");
66
+ lines.push("");
67
+ lines.push(" Prints the list of safe starter workflows. Each one is a small,");
68
+ lines.push(" non-destructive recipe you can copy and customize. To see the");
69
+ lines.push(" full body of one template:");
70
+ lines.push("");
71
+ lines.push(" usesteady templates <name>");
72
+ lines.push("");
73
+ lines.push(" Recommended first template: append-to-file");
74
+ lines.push("");
75
+ lines.push(" usesteady templates append-to-file");
76
+ lines.push("");
77
+ lines.push(" Append is the safest starter: it never overwrites existing");
78
+ lines.push(" content and is reversible by editing the file back.");
79
+ lines.push("");
80
+ lines.push(" ---------------------------------------------------------------");
81
+ lines.push(" Step 3. Customize the template");
82
+ lines.push(" ---------------------------------------------------------------");
83
+ lines.push("");
84
+ lines.push(" Copy the JSON operations from the template output into a file");
85
+ lines.push(" (for example ops.json) and replace the placeholder values with");
86
+ lines.push(" your real values. The file is a JSON array of operations, e.g.:");
87
+ lines.push("");
88
+ lines.push(" [");
89
+ lines.push(" { \"type\": \"append\", \"file\": \"NOTES.md\", \"to\": \"hello from usesteady\\n\" }");
90
+ lines.push(" ]");
91
+ lines.push("");
92
+ lines.push(" ---------------------------------------------------------------");
93
+ lines.push(" Step 4. Run the workflow (with approval)");
94
+ lines.push(" ---------------------------------------------------------------");
95
+ lines.push("");
96
+ lines.push(" usesteady batch ops.json");
97
+ lines.push("");
98
+ lines.push(" UseSteady will:");
99
+ lines.push("");
100
+ lines.push(" 1. Show you the exact operation (SYSTEM WILL).");
101
+ lines.push(" 2. Wait for your approval before doing anything.");
102
+ lines.push(" 3. Only run after you say yes.");
103
+ lines.push("");
104
+ lines.push(" ---------------------------------------------------------------");
105
+ lines.push(" Approval, in plain language");
106
+ lines.push(" ---------------------------------------------------------------");
107
+ lines.push("");
108
+ lines.push(" By default, UseSteady stops and asks you before every operation.");
109
+ lines.push(" You see the exact file, the exact text, the exact change.");
110
+ lines.push("");
111
+ lines.push(" - To approve interactively: type the approve key when prompted.");
112
+ lines.push(" - To skip approval (CI/automation only): add --yes.");
113
+ lines.push(" - --yes means \"I have already reviewed this spec\".");
114
+ lines.push(" Do not use --yes for workflows you have not read.");
115
+ lines.push("");
116
+ lines.push(" ---------------------------------------------------------------");
117
+ lines.push(" Where do workflows execute?");
118
+ lines.push(" ---------------------------------------------------------------");
119
+ lines.push("");
120
+ lines.push(" Operations run locally, in your current working directory, as");
121
+ lines.push(" your user. UseSteady does not:");
122
+ lines.push("");
123
+ lines.push(" - upload your files anywhere;");
124
+ lines.push(" - run a background daemon;");
125
+ lines.push(" - spawn workers that outlive the command;");
126
+ lines.push(" - perform any operation you did not approve.");
127
+ lines.push("");
128
+ lines.push(" A CLI invocation ends when it ends. Its authority ends with it.");
129
+ lines.push("");
130
+ lines.push(" ---------------------------------------------------------------");
131
+ lines.push(" How to stop safely");
132
+ lines.push(" ---------------------------------------------------------------");
133
+ lines.push("");
134
+ lines.push(" At any approval prompt, choose Reject (or press Ctrl+C). The");
135
+ lines.push(" current operation is not applied; UseSteady exits. Operations");
136
+ lines.push(" already approved earlier in the workflow remain applied (they");
137
+ lines.push(" were filesystem changes you authorized one at a time).");
138
+ lines.push("");
139
+ lines.push(" To undo an applied change:");
140
+ lines.push("");
141
+ lines.push(" - For tracked files: git checkout / git revert.");
142
+ lines.push(" - For renames: rename back with the values swapped.");
143
+ lines.push(" - For appends: edit the file to remove the added block.");
144
+ lines.push("");
145
+ lines.push(" ---------------------------------------------------------------");
146
+ lines.push(" Next steps");
147
+ lines.push(" ---------------------------------------------------------------");
148
+ lines.push("");
149
+ lines.push(" usesteady help Full CLI usage");
150
+ lines.push(" usesteady capabilities Catalog of operations");
151
+ lines.push(" usesteady templates List of starter workflows");
152
+ lines.push(" usesteady templates <name> One template, in detail");
153
+ lines.push("");
154
+ lines.push(" Quickstart is read-only. Running this command does not execute");
155
+ lines.push(" anything; it only prints this guide.");
156
+ lines.push("");
157
+ return lines.join("\n");
158
+ }
159
+ //# sourceMappingURL=quickstart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../../src/shell/cli/quickstart.ts"],"names":[],"mappings":"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"}