Skip to content

Commit 5ef203d

Browse files
committed
docs(cli-menu-system): group inner-loop ⟳ commands together; build below
1 parent 1ea256f commit 5ef203d

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

docs/cli-menu-system.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,12 @@ refresh the JSON — a few times per week, not continuously.
7676
## Master table — the developer core cycle
7777

7878
The 10 commands that drive the day-to-day TDD inner loop, plus the
79-
two scaffolders that get a project into that loop. Reading order is
80-
the journey: project setup → editor background → format/lint →
81-
build → test/watch → ad-hoc run → coverage gate.
79+
two scaffolders that get a project into that loop. Reading order
80+
groups the **continuously-used** (``) commands together as the
81+
always-on backbone of the inner loop (LSP daemon + editor-save
82+
fmt/lint + the test watcher), then the **manual** (``) commands
83+
the developer actively types each cycle (`build``test``run`
84+
`coverage`).
8285

8386
M-stdlib reference lookups (`m doc` / `m search` / `m examples` /
8487
`m errors` / `m manifest`) split out into the
@@ -114,9 +117,9 @@ A few patterns worth calling out before reading the column:
114117
| 3 | inner loop | `` | `m lsp` | `●●●●●` | `1× session start`, then continuous (~8 hr) | Background always-on once your editor is wired: Language Server over stdio — diagnostics, formatting, code actions, hover, completion, document symbols, code lenses, folding, signature help, document highlight, go-to-definition, find-references, workspace symbols |
115118
| 4 | inner loop | `` | `m fmt [PATHS]` | `●●●●●` | **editor-save (50–200×/day at process level)**; manual `0–3×/day` | After writing code: round-trip formatter (default = identity); presets `canonical` / `pythonic` / `pythonic-lower` / `compact`; `--check` / `--diff` / `--stdout` |
116119
| 5 | inner loop | `` | `m lint [PATHS]` | `●●●●●` | **continuous via LSP**; manual `0–3×/day` (CI / pre-commit gate) | After formatting: engine-neutral linter; profiles `default` / `modern` / `pedantic` / `pythonic` / `xindex` / `vista` / `sac` / `all`; `--target-engine` / `--threshold` / `--error-on` / `--jobs` |
117-
| 6 | inner loop | `` | `m build [PATHS]` | `○○○○` | `0–3×/day` (mostly CI) | Compile-only sanity check: warm-compile `.m` files via the engine compiler; `--check` cleans up `.o` byproducts for CI |
118-
| 7 | inner loop | `` | `m test [PATHS]` | `●●●○` | **`5–30×/day`** if invoked manually; **~0** if `m watch` is running | Run the suite: parser-aware suite + test discovery (`*TST.m`, `t<Upper>(pass,fail)`); `STDASSERT` protocol; `FILE.m::tLabel` selector; `--changed` / `--seed` / `--env` / `--update-snapshots` / `--timings` / `--timeout`; text / TAP / JSON / JUnit output |
119-
| 8 | inner loop | `` | `m watch [PATHS]` | `●●●●○` | `1× start`, then runs all session — **collapses dozens of `m test` runs** | Long-running TDD loop: polling file watcher (no inotify dep); source→suite affinity (`FOO.m``FOOTST.m`); `--once` / `--interval` / `--filter` |
120+
| 6 | inner loop | `` | `m watch [PATHS]` | `●●●○` | `1× start`, then runs all session — **collapses dozens of `m test` runs** | Long-running TDD loop: polling file watcher (no inotify dep); source→suite affinity (`FOO.m` `FOOTST.m`); `--once` / `--interval` / `--filter` |
121+
| 7 | inner loop | `` | `m build [PATHS]` | `○○○○` | `0–3×/day` (mostly CI) | Compile-only sanity check: warm-compile `.m` files via the engine compiler; `--check` cleans up `.o` byproducts for CI |
122+
| 8 | inner loop | `` | `m test [PATHS]` | `●●●●○` | **`5–30×/day`** if invoked manually; **~0** if `m watch` is running | Run the suite: parser-aware suite + test discovery (`*TST.m`, `t<Upper>(pass,fail)`); `STDASSERT` protocol; `FILE.m::tLabel` selector; `--changed` / `--seed` / `--env` / `--update-snapshots` / `--timings` / `--timeout`; text / TAP / JSON / JUnit output |
120123
| 9 | inner loop | `` | `m run ENTRYREF` | `●○○○○` | `0–10×/day` (debug-driven; bursts during incident response) | Ad-hoc execution for debugging or one-offs: thin wrapper around `ydb -run` — resolves binary via `$YDB` / `$ydb_dist` / `PATH`; `--routines` prepending; rc passthrough |
121124
| 10 | inner loop | `` | `m coverage [PATHS]` | `●○○○○` | `1–3×/day` (pre-commit; PR gate) | Gate before commit / PR: label + line + branch coverage via YDB `view "TRACE"`; text / `text --lines` / JSON / LCOV output; `--min-percent` CI gate; `--uncovered` |
122125

0 commit comments

Comments
 (0)