move-doctor 0.2.0 → 0.3.0-dev.b2b00a1

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,29 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#9](https://github.com/notmatical/move-doctor/pull/9) [`24edc5d`](https://github.com/notmatical/move-doctor/commit/24edc5d25a8b0b3af4e18cc03da76382b36a3cea) Thanks [@notmatical](https://github.com/notmatical)! - Rebuild the interactive CLI on [@clack/prompts](https://github.com/bombshell-dev/clack), elevate the scan report, and harden the CLI surface.
8
+
9
+ - **Prompts**: the install wizard is now a cohesive clack flow (`intro`/`spinner`/`log`/`outro`); `select`/`multiselect` are clack-backed and the unmaintained `prompts` package is dropped.
10
+ - **Monorepo scope**: running inside a sub-package of a multi-package workspace now asks whether to scan just that package or the whole workspace (defaulting to focus; non-interactive runs stay focused and surface an `--all` hint).
11
+ - **Scoring**: info findings are now capped low per rule (5 vs 25), so an error-free but advisory-heavy codebase is no longer dragged to 0/100 — errors and warnings still bite.
12
+ - **Redesigned report**: a rounded "diagnosis" card frames the labelled score, a full-width severity-composition bar + percentage legend, and the metadata strip (title on the top border, hyperlinked `move.doctor` wordmark on the bottom). Severity is encoded by colour _and_ fill density (`█` errors → `▓` warnings → `▒` info → `░` empty) so bars read as a gradient and survive no-colour terminals. Below the card, a "by area" breakdown (single) and "by package" breakdown (workspace) give every row its own magnitude+composition bar, so hot spots surface by both size and redness. Verbose drills into bucket → rule → location. Clean code shows a solid green bar + "clean bill of health". Covers single, workspace, verbose, and non-verbose consistently.
13
+ - **Polish**: the detection line no longer duplicates the header's name/packages/Sui; the score is now explicitly labelled (`score 23 / 100`, per-package `33/100` under a "score out of 100" header); and the `move.doctor` wordmark is an OSC-8 hyperlink to https://move.doctor/ on capable terminals.
14
+ - **Cleanup**: shared rendering helpers hoisted into `render-common.ts`; a single `BAR_WIDTH` constant (in `constants.ts`) replaces the duplicated bar widths; centralized terminal glyphs and suggested commands (standardized on `npx move-doctor@latest …`); removed dead code (`install.ts`, unused options); memoized `sui --version` detection.
15
+ - Glyphs fall back to ASCII on legacy Windows consoles; `--json`/`--score`/CI output is unchanged.
16
+
17
+ ### Patch Changes
18
+
19
+ - [#11](https://github.com/notmatical/move-doctor/pull/11) [`d0feceb`](https://github.com/notmatical/move-doctor/commit/d0fecebd4f9a07984a014e1c64625aec8d78e7de) Thanks [@notmatical](https://github.com/notmatical)! - The agent skill no longer fetches per-rule recipes from `move.doctor/prompts/rules/*`. Every finding already carries its own `fixHint` and `citation` in `--json`, so the `/movedoctor` flow fixes straight from the diagnostic — one less network dependency and no per-rule doc tree to keep in sync.
20
+
21
+ - [#9](https://github.com/notmatical/move-doctor/pull/9) [`24edc5d`](https://github.com/notmatical/move-doctor/commit/24edc5d25a8b0b3af4e18cc03da76382b36a3cea) Thanks [@notmatical](https://github.com/notmatical)! - Fix CLI version drift and misleading workspace output:
22
+
23
+ - The branded header and `--version` now report the real package version (injected from `package.json` at build time) instead of a hardcoded `0.1.0`.
24
+ - In a monorepo, scanning a single focused package no longer prints a misleading `(1 of N)` count — it now matches the standalone-package line.
25
+ - Removed the "Full rule catalog" link to `move.doctor/docs/rules`, which doesn't exist yet.
26
+
3
27
  ## 0.2.0
4
28
 
5
29
  ### Minor Changes
package/README.md CHANGED
@@ -10,28 +10,7 @@ Deterministic Sui Move scanner. Rules grounded in [The Move Book](https://move-b
10
10
  npx move-doctor@latest
11
11
  ```
12
12
 
13
- Scans the current directory and prints a health score, a per-bucket breakdown, and next steps. Add `--verbose` for file/line refs and fix hints. Sample output:
14
-
15
- ```
16
- ╭────────────────────────────────────────────────────────────────────────╮
17
- │ │
18
- │ 44 / 100 poor movebook_gaps │
19
- │ ███████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
20
- │ │
21
- │ 2 modules · edition 2024.beta · Sui 1.70.2 · scanned in 1.3s │
22
- │ 22 findings > 4 errors · 3 warnings · 15 info │
23
- ╰────────────────────────────────────────────────────────── move.doctor ─╯
24
-
25
- security > 4 errors · 3 warnings
26
- conventions > 5 info
27
- testing > 5 info
28
- functions > 2 info
29
- idioms > 2 info
30
- macros > 1 info
31
-
32
- > Run --verbose for file refs and fix hints.
33
- > Full rule catalog: https://move.doctor/docs/rules
34
- ```
13
+ Scans the current directory and prints a 0–100 health score, a severity breakdown by area, and next steps. Add `--verbose` for file/line refs and fix hints. With the Sui CLI on `PATH`, its `sui move build --lint` pass runs alongside and feeds the same score.
35
14
 
36
15
  ## Install as an agent skill
37
16
 
@@ -41,25 +20,19 @@ npx move-doctor@latest install
41
20
 
42
21
  Writes `<cwd>/.claude/skills/move-doctor/SKILL.md`. Claude Code picks it up automatically — type `/movedoctor` or ask it to "run move doctor" and it'll scan, group findings, and fix them.
43
22
 
44
- ## CI gate
23
+ ## CI
45
24
 
46
- Use `--score` for a numeric output and gate PRs on a budget:
25
+ `npx move-doctor@latest install` can set up a GitHub Actions workflow that scores every push and pull request. To gate by hand, fail the build below a score budget:
47
26
 
48
27
  ```bash
49
28
  SCORE=$(npx move-doctor@latest . --score)
50
29
  [ "$SCORE" -ge 80 ] || exit 1
51
30
  ```
52
31
 
53
- ## Requirements
54
-
55
- - Node.js ≥ 20
56
- - (Optional) Sui CLI on PATH — when present, `sui move build --lint` runs in parallel and its 6 built-in lints feed the same score.
57
-
58
32
  ## Source
59
33
 
60
34
  - Source code: [github.com/notmatical/move-doctor](https://github.com/notmatical/move-doctor)
61
35
  - Issues: [github.com/notmatical/move-doctor/issues](https://github.com/notmatical/move-doctor/issues)
62
- - Per-rule playbooks: [move.doctor/docs/rules](https://move.doctor/docs/rules)
63
36
  - Agent prompt: [move.doctor/prompts/move-doctor-agent.md](https://move.doctor/prompts/move-doctor-agent.md)
64
37
 
65
38
  ## License