@mnci/cli 4.45.0 → 4.46.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
@@ -516,6 +516,7 @@ mnci adopt --json # the same, as one document
516
516
  mnci adopt --tags # step (#379): create the baseline release tags, locally
517
517
  mnci adopt --toolchain [--nx <version>] # step (#380): retire old tooling, align Nx, pass the audit
518
518
  mnci adopt --overlay --scope @org --registry npm --agent ubuntu-latest # step (#381): the overlay and pipeline
519
+ mnci adopt --kinds [--kind apps/api=node-app] # step (#378): record each project's kind
519
520
  ```
520
521
 
521
522
  It reads git and the filesystem (no Nx, no install, no network) and reports the package manager, the
@@ -540,6 +541,15 @@ default the newest published in the major already in use (`--nx <version>` overr
540
541
  `npm audit fix` (never `--force`) until `mnci ci audit` passes, up to four passes. Run on a copy of a real
541
542
  hand-built workspace it moved Nx 23.1.1 to 23.3.0 and the audit gate passed after one pass.
542
543
 
544
+ **`--kinds`** records each project's mnci kind as a `type:<kind>` tag, in its `project.json` or the `nx.tags` of
545
+ its `package.json` (`mnci projects` shows it). The kind is read from the project itself: an `index.html` next to
546
+ React, an `engines.vscode`, an `OutputType` of `Exe`, a `package main`, `lib/main.dart`. Where two kinds fit (a
547
+ library that is internal or published, a script that is an app or a library) the project is listed with the
548
+ guess and why, and **not** tagged; name it with `--kind <dir>=<kind>` (repeatable) to accept or change the
549
+ guess, and the step exits non-zero until every project has a kind. A project that already has a `type:*` tag
550
+ keeps it, even one that is not an mnci kind name. Nothing is regenerated and no target is written: Nx infers an
551
+ npm project's targets from its scripts. Needs a clean git tree.
552
+
543
553
  **`--overlay`** applies the mnci overlay (release config, `.npmrc`, commitlint, the curated root scripts and the
544
554
  CI pipeline) to a repository that has an `nx.json`. It is `mnci upgrade` behind adoption's guard rails: it
545
555
  refuses an unclean git tree, takes the same flags (`--scope`, `--registry`, `--organization`, `--project`,