Files
hyperframes/packages
Miguel Ángel 23adfdc496 fix(cli): skip AI skills install when git is unavailable (#1803)
* fix(cli): skip AI skills install when git is unavailable

init and `skills update` route through installAllSkills, which shells out
to `npx skills add`. That CLI clones the repo with git, so on a machine
without git the clone aborts mid-run and dumps a noisy multi-line
`spawn git ENOENT` / "Installation failed" / "Canceled" block. init still
exited 0 and scaffolded the project, but the output read like a hard
failure (and surfaced as exit 1 on some platforms).

Detect git up front alongside the existing npx check via a small
table-driven preflight: best-effort callers (init) print one calm line
and continue; strict callers (`skills update`) throw so the
check-or-update recovery contract still fails loudly. The skills
freshness check already degrades gracefully without git, so the happy
path is unchanged.

* feat(cli): record a diagnostic event when a skills install is skipped for a missing prerequisite

When init's best-effort skills install bails because git (or npx) is absent
from PATH, the skip was silent, so the rare boxes that hit it (fresh Windows
without git) were invisible. Emit one low-cardinality event (reason:
git_missing / npx_missing) on the best-effort skip path only, never on the
happy path or the strict throw. Reuses the existing typed-event pattern, and
trackEvent's opt-out gate already applies.
2026-06-30 10:47:47 -07:00
..
2026-06-29 21:13:39 -07:00
2026-06-29 21:13:39 -07:00
2026-06-29 21:13:39 -07:00
2026-06-29 21:13:39 -07:00
2026-06-29 21:13:39 -07:00
2026-06-29 21:13:39 -07:00
2026-06-29 21:13:39 -07:00
2026-06-16 13:16:09 -04:00
2026-06-29 21:13:39 -07:00
2026-06-29 21:13:39 -07:00