mewkit 1.9.20 → 1.10.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/dist/commands/budget-cost-log.d.ts +7 -0
- package/dist/commands/budget-cost-log.d.ts.map +1 -0
- package/dist/commands/budget-cost-log.js +53 -0
- package/dist/commands/budget-cost-log.js.map +1 -0
- package/dist/commands/budget-display.d.ts +5 -0
- package/dist/commands/budget-display.d.ts.map +1 -0
- package/dist/commands/budget-display.js +42 -0
- package/dist/commands/budget-display.js.map +1 -0
- package/dist/commands/budget-types.d.ts +46 -0
- package/dist/commands/budget-types.d.ts.map +1 -0
- package/dist/commands/budget-types.js +2 -0
- package/dist/commands/budget-types.js.map +1 -0
- package/dist/commands/budget.d.ts +1 -46
- package/dist/commands/budget.d.ts.map +1 -1
- package/dist/commands/budget.js +3 -93
- package/dist/commands/budget.js.map +1 -1
- package/dist/commands/doctor-checks.d.ts +27 -0
- package/dist/commands/doctor-checks.d.ts.map +1 -0
- package/dist/commands/doctor-checks.js +283 -0
- package/dist/commands/doctor-checks.js.map +1 -0
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +55 -282
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/migrate.d.ts +1 -1
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +1 -1
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/setup-steps.d.ts +8 -0
- package/dist/commands/setup-steps.d.ts.map +1 -0
- package/dist/commands/setup-steps.js +164 -0
- package/dist/commands/setup-steps.js.map +1 -0
- package/dist/commands/setup-system-deps.d.ts +11 -0
- package/dist/commands/setup-system-deps.d.ts.map +1 -0
- package/dist/commands/setup-system-deps.js +208 -0
- package/dist/commands/setup-system-deps.js.map +1 -0
- package/dist/commands/setup.d.ts +1 -10
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +4 -367
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/task-utils.d.ts +29 -0
- package/dist/commands/task-utils.d.ts.map +1 -0
- package/dist/commands/task-utils.js +138 -0
- package/dist/commands/task-utils.js.map +1 -0
- package/dist/commands/task.d.ts.map +1 -1
- package/dist/commands/task.js +1 -136
- package/dist/commands/task.js.map +1 -1
- package/dist/commands/validate.d.ts +5 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +13 -1
- package/dist/commands/validate.js.map +1 -1
- package/dist/core/compute-checksums.d.ts +7 -0
- package/dist/core/compute-checksums.d.ts.map +1 -1
- package/dist/core/compute-checksums.js +12 -4
- package/dist/core/compute-checksums.js.map +1 -1
- package/dist/core/smart-update.d.ts.map +1 -1
- package/dist/core/smart-update.js +19 -13
- package/dist/core/smart-update.js.map +1 -1
- package/dist/index.js +13 -4
- package/dist/index.js.map +1 -1
- package/dist/migrate/codex-capabilities.d.ts +1 -16
- package/dist/migrate/codex-capabilities.d.ts.map +1 -1
- package/dist/migrate/codex-capabilities.js +4 -95
- package/dist/migrate/codex-capabilities.js.map +1 -1
- package/dist/migrate/discovery/skills-discovery.d.ts.map +1 -1
- package/dist/migrate/discovery/skills-discovery.js +45 -0
- package/dist/migrate/discovery/skills-discovery.js.map +1 -1
- package/dist/migrate/migrate-action-shims.d.ts +6 -0
- package/dist/migrate/migrate-action-shims.d.ts.map +1 -0
- package/dist/migrate/migrate-action-shims.js +40 -0
- package/dist/migrate/migrate-action-shims.js.map +1 -0
- package/dist/migrate/migrate-orchestrator.d.ts.map +1 -1
- package/dist/migrate/migrate-orchestrator.js +7 -40
- package/dist/migrate/migrate-orchestrator.js.map +1 -1
- package/dist/migrate/portability-policy.d.ts.map +1 -1
- package/dist/migrate/portability-policy.js +73 -3
- package/dist/migrate/portability-policy.js.map +1 -1
- package/dist/migrate/portable-installer-path-safety.d.ts +5 -0
- package/dist/migrate/portable-installer-path-safety.d.ts.map +1 -0
- package/dist/migrate/portable-installer-path-safety.js +79 -0
- package/dist/migrate/portable-installer-path-safety.js.map +1 -0
- package/dist/migrate/portable-installer.d.ts.map +1 -1
- package/dist/migrate/portable-installer.js +3 -75
- package/dist/migrate/portable-installer.js.map +1 -1
- package/dist/migrate/provider-contract-diagnostics.d.ts +18 -0
- package/dist/migrate/provider-contract-diagnostics.d.ts.map +1 -0
- package/dist/migrate/provider-contract-diagnostics.js +88 -0
- package/dist/migrate/provider-contract-diagnostics.js.map +1 -0
- package/dist/migrate/provider-documentation-contracts.d.ts +2 -13
- package/dist/migrate/provider-documentation-contracts.d.ts.map +1 -1
- package/dist/migrate/provider-documentation-contracts.js +41 -427
- package/dist/migrate/provider-documentation-contracts.js.map +1 -1
- package/dist/migrate/provider-overrides.d.ts +3 -5
- package/dist/migrate/provider-overrides.d.ts.map +1 -1
- package/dist/migrate/provider-overrides.js +9 -48
- package/dist/migrate/provider-overrides.js.map +1 -1
- package/dist/migrate/provider-registry.d.ts +1 -2
- package/dist/migrate/provider-registry.d.ts.map +1 -1
- package/dist/migrate/provider-registry.js +11 -844
- package/dist/migrate/provider-registry.js.map +1 -1
- package/dist/migrate/providers/amp/config.d.ts +3 -0
- package/dist/migrate/providers/amp/config.d.ts.map +1 -0
- package/dist/migrate/providers/amp/config.js +48 -0
- package/dist/migrate/providers/amp/config.js.map +1 -0
- package/dist/migrate/providers/amp/contract.d.ts +3 -0
- package/dist/migrate/providers/amp/contract.d.ts.map +1 -0
- package/dist/migrate/providers/amp/contract.js +20 -0
- package/dist/migrate/providers/amp/contract.js.map +1 -0
- package/dist/migrate/providers/amp/index.d.ts +3 -0
- package/dist/migrate/providers/amp/index.d.ts.map +1 -0
- package/dist/migrate/providers/amp/index.js +10 -0
- package/dist/migrate/providers/amp/index.js.map +1 -0
- package/dist/migrate/providers/amp/overrides.d.ts +3 -0
- package/dist/migrate/providers/amp/overrides.d.ts.map +1 -0
- package/dist/migrate/providers/amp/overrides.js +13 -0
- package/dist/migrate/providers/amp/overrides.js.map +1 -0
- package/dist/migrate/providers/antigravity/config.d.ts +3 -0
- package/dist/migrate/providers/antigravity/config.d.ts.map +1 -0
- package/dist/migrate/providers/antigravity/config.js +52 -0
- package/dist/migrate/providers/antigravity/config.js.map +1 -0
- package/dist/migrate/providers/antigravity/contract.d.ts +3 -0
- package/dist/migrate/providers/antigravity/contract.d.ts.map +1 -0
- package/dist/migrate/providers/antigravity/contract.js +19 -0
- package/dist/migrate/providers/antigravity/contract.js.map +1 -0
- package/dist/migrate/providers/antigravity/index.d.ts +3 -0
- package/dist/migrate/providers/antigravity/index.d.ts.map +1 -0
- package/dist/migrate/providers/antigravity/index.js +8 -0
- package/dist/migrate/providers/antigravity/index.js.map +1 -0
- package/dist/migrate/providers/claude-code/config.d.ts +3 -0
- package/dist/migrate/providers/claude-code/config.d.ts.map +1 -0
- package/dist/migrate/providers/claude-code/config.js +66 -0
- package/dist/migrate/providers/claude-code/config.js.map +1 -0
- package/dist/migrate/providers/claude-code/contract.d.ts +3 -0
- package/dist/migrate/providers/claude-code/contract.d.ts.map +1 -0
- package/dist/migrate/providers/claude-code/contract.js +36 -0
- package/dist/migrate/providers/claude-code/contract.js.map +1 -0
- package/dist/migrate/providers/claude-code/index.d.ts +3 -0
- package/dist/migrate/providers/claude-code/index.d.ts.map +1 -0
- package/dist/migrate/providers/claude-code/index.js +8 -0
- package/dist/migrate/providers/claude-code/index.js.map +1 -0
- package/dist/migrate/providers/cline/config.d.ts +3 -0
- package/dist/migrate/providers/cline/config.d.ts.map +1 -0
- package/dist/migrate/providers/cline/config.js +42 -0
- package/dist/migrate/providers/cline/config.js.map +1 -0
- package/dist/migrate/providers/cline/contract.d.ts +3 -0
- package/dist/migrate/providers/cline/contract.d.ts.map +1 -0
- package/dist/migrate/providers/cline/contract.js +27 -0
- package/dist/migrate/providers/cline/contract.js.map +1 -0
- package/dist/migrate/providers/cline/index.d.ts +3 -0
- package/dist/migrate/providers/cline/index.d.ts.map +1 -0
- package/dist/migrate/providers/cline/index.js +8 -0
- package/dist/migrate/providers/cline/index.js.map +1 -0
- package/dist/migrate/providers/codex/capabilities.d.ts +17 -0
- package/dist/migrate/providers/codex/capabilities.d.ts.map +1 -0
- package/dist/migrate/providers/codex/capabilities.js +102 -0
- package/dist/migrate/providers/codex/capabilities.js.map +1 -0
- package/dist/migrate/providers/codex/config.d.ts +3 -0
- package/dist/migrate/providers/codex/config.d.ts.map +1 -0
- package/dist/migrate/providers/codex/config.js +65 -0
- package/dist/migrate/providers/codex/config.js.map +1 -0
- package/dist/migrate/providers/codex/contract.d.ts +3 -0
- package/dist/migrate/providers/codex/contract.d.ts.map +1 -0
- package/dist/migrate/providers/codex/contract.js +36 -0
- package/dist/migrate/providers/codex/contract.js.map +1 -0
- package/dist/migrate/providers/codex/index.d.ts +3 -0
- package/dist/migrate/providers/codex/index.d.ts.map +1 -0
- package/dist/migrate/providers/codex/index.js +13 -0
- package/dist/migrate/providers/codex/index.js.map +1 -0
- package/dist/migrate/providers/contract-helpers.d.ts +7 -0
- package/dist/migrate/providers/contract-helpers.d.ts.map +1 -0
- package/dist/migrate/providers/contract-helpers.js +36 -0
- package/dist/migrate/providers/contract-helpers.js.map +1 -0
- package/dist/migrate/providers/contract-types.d.ts +15 -0
- package/dist/migrate/providers/contract-types.d.ts.map +1 -0
- package/dist/migrate/providers/contract-types.js +5 -0
- package/dist/migrate/providers/contract-types.js.map +1 -0
- package/dist/migrate/providers/cursor/config.d.ts +3 -0
- package/dist/migrate/providers/cursor/config.d.ts.map +1 -0
- package/dist/migrate/providers/cursor/config.js +43 -0
- package/dist/migrate/providers/cursor/config.js.map +1 -0
- package/dist/migrate/providers/cursor/contract.d.ts +3 -0
- package/dist/migrate/providers/cursor/contract.d.ts.map +1 -0
- package/dist/migrate/providers/cursor/contract.js +25 -0
- package/dist/migrate/providers/cursor/contract.js.map +1 -0
- package/dist/migrate/providers/cursor/index.d.ts +3 -0
- package/dist/migrate/providers/cursor/index.d.ts.map +1 -0
- package/dist/migrate/providers/cursor/index.js +8 -0
- package/dist/migrate/providers/cursor/index.js.map +1 -0
- package/dist/migrate/providers/detection-helpers.d.ts +8 -0
- package/dist/migrate/providers/detection-helpers.d.ts.map +1 -0
- package/dist/migrate/providers/detection-helpers.js +46 -0
- package/dist/migrate/providers/detection-helpers.js.map +1 -0
- package/dist/migrate/providers/droid/config.d.ts +3 -0
- package/dist/migrate/providers/droid/config.d.ts.map +1 -0
- package/dist/migrate/providers/droid/config.js +68 -0
- package/dist/migrate/providers/droid/config.js.map +1 -0
- package/dist/migrate/providers/droid/contract.d.ts +3 -0
- package/dist/migrate/providers/droid/contract.d.ts.map +1 -0
- package/dist/migrate/providers/droid/contract.js +32 -0
- package/dist/migrate/providers/droid/contract.js.map +1 -0
- package/dist/migrate/providers/droid/index.d.ts +3 -0
- package/dist/migrate/providers/droid/index.d.ts.map +1 -0
- package/dist/migrate/providers/droid/index.js +8 -0
- package/dist/migrate/providers/droid/index.js.map +1 -0
- package/dist/migrate/providers/gemini-cli/config.d.ts +3 -0
- package/dist/migrate/providers/gemini-cli/config.d.ts.map +1 -0
- package/dist/migrate/providers/gemini-cli/config.js +62 -0
- package/dist/migrate/providers/gemini-cli/config.js.map +1 -0
- package/dist/migrate/providers/gemini-cli/contract.d.ts +3 -0
- package/dist/migrate/providers/gemini-cli/contract.d.ts.map +1 -0
- package/dist/migrate/providers/gemini-cli/contract.js +40 -0
- package/dist/migrate/providers/gemini-cli/contract.js.map +1 -0
- package/dist/migrate/providers/gemini-cli/index.d.ts +3 -0
- package/dist/migrate/providers/gemini-cli/index.d.ts.map +1 -0
- package/dist/migrate/providers/gemini-cli/index.js +10 -0
- package/dist/migrate/providers/gemini-cli/index.js.map +1 -0
- package/dist/migrate/providers/gemini-cli/overrides.d.ts +3 -0
- package/dist/migrate/providers/gemini-cli/overrides.d.ts.map +1 -0
- package/dist/migrate/providers/gemini-cli/overrides.js +12 -0
- package/dist/migrate/providers/gemini-cli/overrides.js.map +1 -0
- package/dist/migrate/providers/github-copilot/config.d.ts +3 -0
- package/dist/migrate/providers/github-copilot/config.d.ts.map +1 -0
- package/dist/migrate/providers/github-copilot/config.js +46 -0
- package/dist/migrate/providers/github-copilot/config.js.map +1 -0
- package/dist/migrate/providers/github-copilot/contract.d.ts +3 -0
- package/dist/migrate/providers/github-copilot/contract.d.ts.map +1 -0
- package/dist/migrate/providers/github-copilot/contract.js +27 -0
- package/dist/migrate/providers/github-copilot/contract.js.map +1 -0
- package/dist/migrate/providers/github-copilot/index.d.ts +3 -0
- package/dist/migrate/providers/github-copilot/index.d.ts.map +1 -0
- package/dist/migrate/providers/github-copilot/index.js +8 -0
- package/dist/migrate/providers/github-copilot/index.js.map +1 -0
- package/dist/migrate/providers/goose/config.d.ts +3 -0
- package/dist/migrate/providers/goose/config.d.ts.map +1 -0
- package/dist/migrate/providers/goose/config.js +48 -0
- package/dist/migrate/providers/goose/config.js.map +1 -0
- package/dist/migrate/providers/goose/contract.d.ts +3 -0
- package/dist/migrate/providers/goose/contract.d.ts.map +1 -0
- package/dist/migrate/providers/goose/contract.js +24 -0
- package/dist/migrate/providers/goose/contract.js.map +1 -0
- package/dist/migrate/providers/goose/index.d.ts +3 -0
- package/dist/migrate/providers/goose/index.d.ts.map +1 -0
- package/dist/migrate/providers/goose/index.js +8 -0
- package/dist/migrate/providers/goose/index.js.map +1 -0
- package/dist/migrate/providers/index.d.ts +31 -0
- package/dist/migrate/providers/index.d.ts.map +1 -0
- package/dist/migrate/providers/index.js +132 -0
- package/dist/migrate/providers/index.js.map +1 -0
- package/dist/migrate/providers/kilo/config.d.ts +3 -0
- package/dist/migrate/providers/kilo/config.d.ts.map +1 -0
- package/dist/migrate/providers/kilo/config.js +49 -0
- package/dist/migrate/providers/kilo/config.js.map +1 -0
- package/dist/migrate/providers/kilo/contract.d.ts +3 -0
- package/dist/migrate/providers/kilo/contract.d.ts.map +1 -0
- package/dist/migrate/providers/kilo/contract.js +16 -0
- package/dist/migrate/providers/kilo/contract.js.map +1 -0
- package/dist/migrate/providers/kilo/index.d.ts +3 -0
- package/dist/migrate/providers/kilo/index.d.ts.map +1 -0
- package/dist/migrate/providers/kilo/index.js +12 -0
- package/dist/migrate/providers/kilo/index.js.map +1 -0
- package/dist/migrate/providers/kiro/config.d.ts +3 -0
- package/dist/migrate/providers/kiro/config.d.ts.map +1 -0
- package/dist/migrate/providers/kiro/config.js +50 -0
- package/dist/migrate/providers/kiro/config.js.map +1 -0
- package/dist/migrate/providers/kiro/contract.d.ts +3 -0
- package/dist/migrate/providers/kiro/contract.d.ts.map +1 -0
- package/dist/migrate/providers/kiro/contract.js +32 -0
- package/dist/migrate/providers/kiro/contract.js.map +1 -0
- package/dist/migrate/providers/kiro/index.d.ts +3 -0
- package/dist/migrate/providers/kiro/index.d.ts.map +1 -0
- package/dist/migrate/providers/kiro/index.js +10 -0
- package/dist/migrate/providers/kiro/index.js.map +1 -0
- package/dist/migrate/providers/kiro/overrides.d.ts +3 -0
- package/dist/migrate/providers/kiro/overrides.d.ts.map +1 -0
- package/dist/migrate/providers/kiro/overrides.js +18 -0
- package/dist/migrate/providers/kiro/overrides.js.map +1 -0
- package/dist/migrate/providers/manifest-types.d.ts +19 -0
- package/dist/migrate/providers/manifest-types.d.ts.map +1 -0
- package/dist/migrate/providers/manifest-types.js +10 -0
- package/dist/migrate/providers/manifest-types.js.map +1 -0
- package/dist/migrate/providers/opencode/config.d.ts +3 -0
- package/dist/migrate/providers/opencode/config.d.ts.map +1 -0
- package/dist/migrate/providers/opencode/config.js +59 -0
- package/dist/migrate/providers/opencode/config.js.map +1 -0
- package/dist/migrate/providers/opencode/contract.d.ts +3 -0
- package/dist/migrate/providers/opencode/contract.d.ts.map +1 -0
- package/dist/migrate/providers/opencode/contract.js +20 -0
- package/dist/migrate/providers/opencode/contract.js.map +1 -0
- package/dist/migrate/providers/opencode/index.d.ts +3 -0
- package/dist/migrate/providers/opencode/index.d.ts.map +1 -0
- package/dist/migrate/providers/opencode/index.js +8 -0
- package/dist/migrate/providers/opencode/index.js.map +1 -0
- package/dist/migrate/providers/openhands/config.d.ts +3 -0
- package/dist/migrate/providers/openhands/config.d.ts.map +1 -0
- package/dist/migrate/providers/openhands/config.js +49 -0
- package/dist/migrate/providers/openhands/config.js.map +1 -0
- package/dist/migrate/providers/openhands/contract.d.ts +3 -0
- package/dist/migrate/providers/openhands/contract.d.ts.map +1 -0
- package/dist/migrate/providers/openhands/contract.js +18 -0
- package/dist/migrate/providers/openhands/contract.js.map +1 -0
- package/dist/migrate/providers/openhands/index.d.ts +3 -0
- package/dist/migrate/providers/openhands/index.d.ts.map +1 -0
- package/dist/migrate/providers/openhands/index.js +8 -0
- package/dist/migrate/providers/openhands/index.js.map +1 -0
- package/dist/migrate/providers/provider-config-types.d.ts +43 -0
- package/dist/migrate/providers/provider-config-types.d.ts.map +1 -0
- package/dist/migrate/providers/provider-config-types.js +4 -0
- package/dist/migrate/providers/provider-config-types.js.map +1 -0
- package/dist/migrate/providers/roo/config.d.ts +3 -0
- package/dist/migrate/providers/roo/config.d.ts.map +1 -0
- package/dist/migrate/providers/roo/config.js +49 -0
- package/dist/migrate/providers/roo/config.js.map +1 -0
- package/dist/migrate/providers/roo/contract.d.ts +3 -0
- package/dist/migrate/providers/roo/contract.d.ts.map +1 -0
- package/dist/migrate/providers/roo/contract.js +8 -0
- package/dist/migrate/providers/roo/contract.js.map +1 -0
- package/dist/migrate/providers/roo/index.d.ts +3 -0
- package/dist/migrate/providers/roo/index.d.ts.map +1 -0
- package/dist/migrate/providers/roo/index.js +8 -0
- package/dist/migrate/providers/roo/index.js.map +1 -0
- package/dist/migrate/providers/windsurf/config.d.ts +3 -0
- package/dist/migrate/providers/windsurf/config.d.ts.map +1 -0
- package/dist/migrate/providers/windsurf/config.js +58 -0
- package/dist/migrate/providers/windsurf/config.js.map +1 -0
- package/dist/migrate/providers/windsurf/contract.d.ts +3 -0
- package/dist/migrate/providers/windsurf/contract.d.ts.map +1 -0
- package/dist/migrate/providers/windsurf/contract.js +29 -0
- package/dist/migrate/providers/windsurf/contract.js.map +1 -0
- package/dist/migrate/providers/windsurf/index.d.ts +3 -0
- package/dist/migrate/providers/windsurf/index.d.ts.map +1 -0
- package/dist/migrate/providers/windsurf/index.js +10 -0
- package/dist/migrate/providers/windsurf/index.js.map +1 -0
- package/dist/migrate/providers/windsurf/overrides.d.ts +3 -0
- package/dist/migrate/providers/windsurf/overrides.d.ts.map +1 -0
- package/dist/migrate/providers/windsurf/overrides.js +29 -0
- package/dist/migrate/providers/windsurf/overrides.js.map +1 -0
- package/dist/migrate/reconcile/portable-registry-lock.d.ts +2 -0
- package/dist/migrate/reconcile/portable-registry-lock.d.ts.map +1 -0
- package/dist/migrate/reconcile/portable-registry-lock.js +83 -0
- package/dist/migrate/reconcile/portable-registry-lock.js.map +1 -0
- package/dist/migrate/reconcile/portable-registry.d.ts +24 -24
- package/dist/migrate/reconcile/portable-registry.d.ts.map +1 -1
- package/dist/migrate/reconcile/portable-registry.js +4 -78
- package/dist/migrate/reconcile/portable-registry.js.map +1 -1
- package/dist/migrate/reconcile/reconcile-state-builder-helpers.d.ts +8 -0
- package/dist/migrate/reconcile/reconcile-state-builder-helpers.d.ts.map +1 -0
- package/dist/migrate/reconcile/reconcile-state-builder-helpers.js +45 -0
- package/dist/migrate/reconcile/reconcile-state-builder-helpers.js.map +1 -0
- package/dist/migrate/reconcile/reconcile-state-builders.d.ts.map +1 -1
- package/dist/migrate/reconcile/reconcile-state-builders.js +3 -40
- package/dist/migrate/reconcile/reconcile-state-builders.js.map +1 -1
- package/dist/migrate/types.d.ts +26 -49
- package/dist/migrate/types.d.ts.map +1 -1
- package/dist/migrate/types.js +1 -1
- package/dist/migrate/types.js.map +1 -1
- package/package.json +2 -1
package/dist/commands/doctor.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import fs, { chmodSync } from "node:fs";
|
|
1
|
+
import fs from "node:fs";
|
|
3
2
|
import path from "node:path";
|
|
4
3
|
import pc from "picocolors";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { verifyPackages } from "../core/dependency-installer.js";
|
|
8
|
-
import { listDeps, isDepCommandPresent } from "../lib/system-deps-registry.js";
|
|
4
|
+
import { checkClaudeDir, checkConfig, checkGit, checkHooks, checkMcp, checkMemory, checkNodeVersion, checkPipPackages, checkPython, checkScripts, checkSystemDeps, checkVenv, } from "./doctor-checks.js";
|
|
5
|
+
import { collectProviderContractDiagnostics, summarizeProviderContractDiagnostics, } from "../migrate/provider-contract-diagnostics.js";
|
|
9
6
|
function statusIcon(status) {
|
|
10
7
|
switch (status) {
|
|
11
8
|
case "pass":
|
|
@@ -16,6 +13,13 @@ function statusIcon(status) {
|
|
|
16
13
|
return pc.yellow("WARN");
|
|
17
14
|
}
|
|
18
15
|
}
|
|
16
|
+
function providerSeverityToStatus(severity) {
|
|
17
|
+
if (severity === "fail")
|
|
18
|
+
return "fail";
|
|
19
|
+
if (severity === "warn")
|
|
20
|
+
return "warn";
|
|
21
|
+
return "pass";
|
|
22
|
+
}
|
|
19
23
|
/** Find MeowKit project root — checks cwd only (no walk-up to avoid matching parent projects). */
|
|
20
24
|
function findProjectRoot() {
|
|
21
25
|
const cwd = process.cwd();
|
|
@@ -28,282 +32,6 @@ function findProjectRoot() {
|
|
|
28
32
|
}
|
|
29
33
|
return null;
|
|
30
34
|
}
|
|
31
|
-
// --- Check functions: each takes projectRoot (may be null) ---
|
|
32
|
-
function checkNodeVersion() {
|
|
33
|
-
const major = parseInt(process.versions.node.split(".")[0] ?? "0", 10);
|
|
34
|
-
if (major >= 20) {
|
|
35
|
-
return { name: "Node.js >= 20", status: "pass", detail: `v${process.versions.node}` };
|
|
36
|
-
}
|
|
37
|
-
return { name: "Node.js >= 20", status: "fail", detail: `v${process.versions.node} — need 20+` };
|
|
38
|
-
}
|
|
39
|
-
function checkPython() {
|
|
40
|
-
for (const cmd of ["python3 --version", "python --version"]) {
|
|
41
|
-
try {
|
|
42
|
-
const output = execSync(cmd, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] }).trim();
|
|
43
|
-
const match = output.match(/Python (\d+)\.(\d+)/);
|
|
44
|
-
if (match) {
|
|
45
|
-
const major = parseInt(match[1] ?? "0", 10);
|
|
46
|
-
const minor = parseInt(match[2] ?? "0", 10);
|
|
47
|
-
if (major >= 3 && minor >= 9) {
|
|
48
|
-
return { name: "Python 3.9+", status: "pass", detail: output };
|
|
49
|
-
}
|
|
50
|
-
return { name: "Python 3.9+", status: "fail", detail: `${output} — need 3.9+` };
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
catch {
|
|
54
|
-
/* try next */
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return { name: "Python 3.9+", status: "warn", detail: "Not found in PATH" };
|
|
58
|
-
}
|
|
59
|
-
function checkGit() {
|
|
60
|
-
try {
|
|
61
|
-
const output = execSync("git --version", { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] }).trim();
|
|
62
|
-
return { name: "Git", status: "pass", detail: output };
|
|
63
|
-
}
|
|
64
|
-
catch {
|
|
65
|
-
return { name: "Git", status: "fail", detail: "Not found in PATH" };
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
function checkClaudeDir(root) {
|
|
69
|
-
if (!root) {
|
|
70
|
-
return {
|
|
71
|
-
name: ".claude/ directory",
|
|
72
|
-
status: "warn",
|
|
73
|
-
detail: "No MeowKit project found — run 'npm create meowkit' to scaffold",
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
const claudeDir = path.join(root, ".claude");
|
|
77
|
-
if (fs.existsSync(claudeDir)) {
|
|
78
|
-
return { name: ".claude/ directory", status: "pass", detail: claudeDir };
|
|
79
|
-
}
|
|
80
|
-
return {
|
|
81
|
-
name: ".claude/ directory",
|
|
82
|
-
status: "warn",
|
|
83
|
-
detail: "Project found but .claude/ missing — run 'npm create meowkit' to scaffold",
|
|
84
|
-
fix: "npm create meowkit",
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
function checkHooks(root) {
|
|
88
|
-
if (!root)
|
|
89
|
-
return { name: "Hooks", status: "warn", detail: "Skipped — no project" };
|
|
90
|
-
const hooksDir = path.join(root, ".claude", "hooks");
|
|
91
|
-
if (!fs.existsSync(hooksDir)) {
|
|
92
|
-
return { name: "Hooks", status: "warn", detail: "No hooks/ directory" };
|
|
93
|
-
}
|
|
94
|
-
const hooks = fs.readdirSync(hooksDir).filter((f) => !f.startsWith("."));
|
|
95
|
-
if (hooks.length === 0) {
|
|
96
|
-
return { name: "Hooks", status: "warn", detail: "No hook files" };
|
|
97
|
-
}
|
|
98
|
-
const nonExec = [];
|
|
99
|
-
for (const h of hooks) {
|
|
100
|
-
try {
|
|
101
|
-
fs.accessSync(path.join(hooksDir, h), fs.constants.X_OK);
|
|
102
|
-
}
|
|
103
|
-
catch {
|
|
104
|
-
nonExec.push(h);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
if (nonExec.length === 0) {
|
|
108
|
-
return { name: "Hooks", status: "pass", detail: `${hooks.length} hook(s), all executable` };
|
|
109
|
-
}
|
|
110
|
-
// Auto-fix permissions
|
|
111
|
-
let fixed = 0;
|
|
112
|
-
for (const h of nonExec) {
|
|
113
|
-
try {
|
|
114
|
-
chmodSync(path.join(hooksDir, h), 0o755);
|
|
115
|
-
fixed++;
|
|
116
|
-
}
|
|
117
|
-
catch {
|
|
118
|
-
/* can't fix */
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
if (fixed === nonExec.length) {
|
|
122
|
-
return { name: "Hooks", status: "pass", detail: `${hooks.length} hook(s) — auto-fixed ${fixed} permission(s)` };
|
|
123
|
-
}
|
|
124
|
-
return {
|
|
125
|
-
name: "Hooks",
|
|
126
|
-
status: "fail",
|
|
127
|
-
detail: `${nonExec.length - fixed} not executable: ${nonExec.join(", ")}`,
|
|
128
|
-
fix: "chmod +x .claude/hooks/*",
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
function checkScripts(root) {
|
|
132
|
-
if (!root)
|
|
133
|
-
return { name: "Scripts", status: "warn", detail: "Skipped — no project" };
|
|
134
|
-
const scriptsDir = path.join(root, ".claude", "scripts");
|
|
135
|
-
if (!fs.existsSync(scriptsDir)) {
|
|
136
|
-
return { name: "Scripts", status: "warn", detail: "No scripts/ directory" };
|
|
137
|
-
}
|
|
138
|
-
const expected = ["validate.py", "security-scan.py", "checklist.py", "injection-audit.py"];
|
|
139
|
-
const missing = expected.filter((s) => !fs.existsSync(path.join(scriptsDir, s)));
|
|
140
|
-
if (missing.length === 0) {
|
|
141
|
-
return { name: "Scripts", status: "pass", detail: `${expected.length} validation scripts found` };
|
|
142
|
-
}
|
|
143
|
-
return { name: "Scripts", status: "warn", detail: `Missing: ${missing.join(", ")}` };
|
|
144
|
-
}
|
|
145
|
-
function checkMemory(root) {
|
|
146
|
-
if (!root)
|
|
147
|
-
return { name: "Memory", status: "warn", detail: "Skipped — no project" };
|
|
148
|
-
const memDir = path.join(root, ".claude", "memory");
|
|
149
|
-
if (!fs.existsSync(memDir)) {
|
|
150
|
-
return { name: "Memory", status: "warn", detail: "memory/ not found — will be created on first session" };
|
|
151
|
-
}
|
|
152
|
-
try {
|
|
153
|
-
const test = path.join(memDir, ".doctor-test");
|
|
154
|
-
fs.writeFileSync(test, "test", "utf-8");
|
|
155
|
-
fs.unlinkSync(test);
|
|
156
|
-
return { name: "Memory", status: "pass", detail: "Writable" };
|
|
157
|
-
}
|
|
158
|
-
catch {
|
|
159
|
-
return { name: "Memory", status: "fail", detail: `${memDir} is not writable` };
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
function checkMcp(root) {
|
|
163
|
-
if (!root)
|
|
164
|
-
return { name: "MCP config", status: "warn", detail: "Skipped — no project" };
|
|
165
|
-
if (fs.existsSync(path.join(root, ".mcp.json"))) {
|
|
166
|
-
return { name: "MCP config", status: "pass", detail: ".mcp.json found" };
|
|
167
|
-
}
|
|
168
|
-
return {
|
|
169
|
-
name: "MCP config",
|
|
170
|
-
status: "warn",
|
|
171
|
-
detail: "No .mcp.json",
|
|
172
|
-
fix: "meowkit setup --only=mcp",
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
function checkVenv(root) {
|
|
176
|
-
if (!root)
|
|
177
|
-
return { name: "Skills venv", status: "warn", detail: "Skipped — no project" };
|
|
178
|
-
const venvDir = path.join(root, ".claude", "skills", ".venv");
|
|
179
|
-
if (fs.existsSync(venvDir)) {
|
|
180
|
-
return { name: "Skills venv", status: "pass", detail: venvDir };
|
|
181
|
-
}
|
|
182
|
-
return {
|
|
183
|
-
name: "Skills venv",
|
|
184
|
-
status: "warn",
|
|
185
|
-
detail: "No Python venv for skills",
|
|
186
|
-
fix: "meowkit setup --only=venv",
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
function checkPipPackages(root) {
|
|
190
|
-
if (!root)
|
|
191
|
-
return { name: "Pip packages", status: "warn", detail: "Skipped — no project" };
|
|
192
|
-
const venvDir = path.join(root, ".claude", "skills", ".venv");
|
|
193
|
-
if (!fs.existsSync(venvDir)) {
|
|
194
|
-
return { name: "Pip packages", status: "warn", detail: "Skipped — no venv (run mewkit setup --only=venv)" };
|
|
195
|
-
}
|
|
196
|
-
const { packages } = getRequirementsSource(root);
|
|
197
|
-
const results = verifyPackages(root, packages);
|
|
198
|
-
const missing = results.filter((r) => !r.installed);
|
|
199
|
-
if (missing.length === 0) {
|
|
200
|
-
return { name: "Pip packages", status: "pass", detail: `${results.length} skill packages verified` };
|
|
201
|
-
}
|
|
202
|
-
return {
|
|
203
|
-
name: "Pip packages",
|
|
204
|
-
status: "warn",
|
|
205
|
-
detail: `Missing: ${missing.map((r) => r.name).join(", ")}`,
|
|
206
|
-
fix: "meowkit setup --only=deps",
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
function checkConfig(root) {
|
|
210
|
-
if (!root)
|
|
211
|
-
return { name: "Config", status: "warn", detail: "Skipped — no project" };
|
|
212
|
-
const configPath = path.join(root, ".claude", "meowkit.config.json");
|
|
213
|
-
if (!fs.existsSync(configPath)) {
|
|
214
|
-
return { name: "Config", status: "warn", detail: ".claude/meowkit.config.json not found" };
|
|
215
|
-
}
|
|
216
|
-
try {
|
|
217
|
-
JSON.parse(fs.readFileSync(configPath, "utf-8"));
|
|
218
|
-
return { name: "Config", status: "pass", detail: ".claude/meowkit.config.json valid" };
|
|
219
|
-
}
|
|
220
|
-
catch {
|
|
221
|
-
return { name: "Config", status: "fail", detail: ".claude/meowkit.config.json is invalid JSON" };
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Run system dep checks from the registry.
|
|
226
|
-
* For each entry: if it has a dedicated doctorCheck, call that.
|
|
227
|
-
* Otherwise, run detectCommand and check exit code.
|
|
228
|
-
* Zero behavior change for ffmpeg/imagemagick — same pass/warn/fail semantics.
|
|
229
|
-
* Playwright gets its dedicated two-probe check (locked decision #3).
|
|
230
|
-
*/
|
|
231
|
-
async function checkSystemDeps(root) {
|
|
232
|
-
const ctx = { projectRoot: root ?? process.cwd() };
|
|
233
|
-
const results = [];
|
|
234
|
-
for (const dep of listDeps()) {
|
|
235
|
-
if (dep.doctorCheck) {
|
|
236
|
-
// Dedicated check (e.g. Playwright: verifies pip package + chromium binary)
|
|
237
|
-
try {
|
|
238
|
-
const result = await dep.doctorCheck(ctx);
|
|
239
|
-
if (result.status === "OK") {
|
|
240
|
-
results.push({
|
|
241
|
-
name: `${dep.name} (optional)`,
|
|
242
|
-
status: "pass",
|
|
243
|
-
detail: `${dep.name} installed and ready`,
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
else {
|
|
247
|
-
results.push({
|
|
248
|
-
name: `${dep.name} (optional)`,
|
|
249
|
-
status: "warn",
|
|
250
|
-
detail: result.message ?? `${dep.name} not ready — ${result.status}`,
|
|
251
|
-
fix: `npx mewkit setup --system-deps`,
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
catch (err) {
|
|
256
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
257
|
-
results.push({
|
|
258
|
-
name: `${dep.name} (optional)`,
|
|
259
|
-
status: "warn",
|
|
260
|
-
detail: `Check failed: ${msg}`,
|
|
261
|
-
fix: `npx mewkit setup --system-deps`,
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
else {
|
|
266
|
-
// Generic PATH-based check — uses detectCommands (multi-probe) when set,
|
|
267
|
-
// falling back to single detectCommand. No per-dep special-cases needed.
|
|
268
|
-
const present = isDepCommandPresent(dep, commandExists);
|
|
269
|
-
if (!present) {
|
|
270
|
-
results.push({
|
|
271
|
-
name: `${dep.name} (optional)`,
|
|
272
|
-
status: "warn",
|
|
273
|
-
detail: `Not installed — ${dep.name.toLowerCase()} processing unavailable`,
|
|
274
|
-
fix: `npx mewkit setup --system-deps`,
|
|
275
|
-
});
|
|
276
|
-
continue;
|
|
277
|
-
}
|
|
278
|
-
// Attempt to get version string for a nicer pass message.
|
|
279
|
-
// For multi-binary deps (detectCommands), use the first probe that succeeds.
|
|
280
|
-
try {
|
|
281
|
-
const probes = dep.detectCommands ?? [dep.detectCommand];
|
|
282
|
-
const availableCmd = probes.find((cmd) => commandExists(cmd)) ?? dep.detectCommand;
|
|
283
|
-
const versionFlag = dep.key === "imagemagick" ? "--version" : "-version";
|
|
284
|
-
const output = execSync(`${availableCmd} ${versionFlag}`, {
|
|
285
|
-
encoding: "utf-8",
|
|
286
|
-
stdio: ["pipe", "pipe", "pipe"],
|
|
287
|
-
});
|
|
288
|
-
const match = dep.key === "imagemagick" ? output.match(/ImageMagick (\S+)/) : output.match(/version (\S+)/);
|
|
289
|
-
const version = match ? match[1] : "unknown";
|
|
290
|
-
results.push({
|
|
291
|
-
name: `${dep.name} (optional)`,
|
|
292
|
-
status: "pass",
|
|
293
|
-
detail: `v${version} — available`,
|
|
294
|
-
});
|
|
295
|
-
}
|
|
296
|
-
catch {
|
|
297
|
-
results.push({
|
|
298
|
-
name: `${dep.name} (optional)`,
|
|
299
|
-
status: "pass",
|
|
300
|
-
detail: `Installed — available`,
|
|
301
|
-
});
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
return results;
|
|
306
|
-
}
|
|
307
35
|
export async function doctor(args) {
|
|
308
36
|
console.log(pc.bold(pc.cyan("MeowKit Doctor")));
|
|
309
37
|
console.log(pc.dim("Diagnosing common issues...\n"));
|
|
@@ -326,6 +54,28 @@ export async function doctor(args) {
|
|
|
326
54
|
checkPipPackages(root),
|
|
327
55
|
...systemDepResults,
|
|
328
56
|
];
|
|
57
|
+
if (args?.providers) {
|
|
58
|
+
results.push(...collectProviderContractDiagnostics()
|
|
59
|
+
.filter((diagnostic) => diagnostic.severity !== "pass")
|
|
60
|
+
.map((diagnostic) => ({
|
|
61
|
+
status: providerSeverityToStatus(diagnostic.severity),
|
|
62
|
+
name: `Provider contract: ${diagnostic.providerDisplayName}/${diagnostic.surface}`,
|
|
63
|
+
detail: diagnostic.message,
|
|
64
|
+
fix: diagnostic.severity === "fail"
|
|
65
|
+
? "Disable the provider surface or update its official documentation contract."
|
|
66
|
+
: undefined,
|
|
67
|
+
})));
|
|
68
|
+
if (summarizeProviderContractDiagnostics(collectProviderContractDiagnostics()).length === 0) {
|
|
69
|
+
results.push({
|
|
70
|
+
status: "pass",
|
|
71
|
+
name: "Provider contracts",
|
|
72
|
+
detail: "All effective provider surfaces match documented contracts.",
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (args?.state) {
|
|
77
|
+
results.push(...checkStateTaxonomy(root));
|
|
78
|
+
}
|
|
329
79
|
for (const r of results) {
|
|
330
80
|
console.log(` [${statusIcon(r.status)}] ${r.name}`);
|
|
331
81
|
console.log(` ${pc.dim(r.detail)}`);
|
|
@@ -362,4 +112,27 @@ export async function doctor(args) {
|
|
|
362
112
|
if (fail > 0)
|
|
363
113
|
process.exit(1);
|
|
364
114
|
}
|
|
115
|
+
function checkStateTaxonomy(root) {
|
|
116
|
+
if (!root) {
|
|
117
|
+
return [{ status: "warn", name: "State taxonomy", detail: "Project root not found; skipped state path checks." }];
|
|
118
|
+
}
|
|
119
|
+
const results = [
|
|
120
|
+
{
|
|
121
|
+
status: fs.existsSync(path.join(root, "session-state")) ? "pass" : "warn",
|
|
122
|
+
name: "Runtime state directory",
|
|
123
|
+
detail: "Ephemeral runtime files use project-root session-state/.",
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
status: fs.existsSync(path.join(root, ".claude", "session-state")) ? "warn" : "pass",
|
|
127
|
+
name: "Legacy Claude session state",
|
|
128
|
+
detail: ".claude/session-state/ is legacy; prefer project-root session-state/ for runtime state.",
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
status: fs.existsSync(path.join(root, "tasks", "harness-runs")) ? "pass" : "warn",
|
|
132
|
+
name: "Harness run ledger",
|
|
133
|
+
detail: "Harness audit events belong under tasks/harness-runs/.",
|
|
134
|
+
},
|
|
135
|
+
];
|
|
136
|
+
return results;
|
|
137
|
+
}
|
|
365
138
|
//# sourceMappingURL=doctor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,8 @@ export interface MigrateCliArgs {
|
|
|
14
14
|
reconcile?: boolean;
|
|
15
15
|
"reinstall-empty-dirs"?: boolean;
|
|
16
16
|
"respect-deletions"?: boolean;
|
|
17
|
-
"prefer-agents-md"?: boolean;
|
|
18
17
|
"source-version"?: string;
|
|
18
|
+
providers?: boolean;
|
|
19
19
|
}
|
|
20
20
|
export declare function migrate(args: MigrateCliArgs): Promise<number>;
|
|
21
21
|
//# sourceMappingURL=migrate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC9B,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC9B,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAqCnE"}
|
package/dist/commands/migrate.js
CHANGED
|
@@ -21,8 +21,8 @@ export async function migrate(args) {
|
|
|
21
21
|
reconcile: args.reconcile,
|
|
22
22
|
reinstallEmptyDirs: args["reinstall-empty-dirs"],
|
|
23
23
|
respectDeletions: args["respect-deletions"],
|
|
24
|
-
preferAgentsMd: args["prefer-agents-md"],
|
|
25
24
|
sourceVersion: args["source-version"],
|
|
25
|
+
providers: args.providers,
|
|
26
26
|
};
|
|
27
27
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
28
28
|
const bundledKitDir = join(__dirname, "..", "..", ".claude");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAE5F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAuBpF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAoB;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvB,MAAM,OAAO,GAAmB;QAC/B,IAAI;QACJ,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;QAC/B,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;QAC7B,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,kBAAkB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAChD,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC3C,
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAE5F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAuBpF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAoB;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvB,MAAM,OAAO,GAAmB;QAC/B,IAAI;QACJ,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;QAC/B,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;QAC7B,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,kBAAkB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAChD,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC3C,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACrC,SAAS,EAAE,IAAI,CAAC,SAAS;KACzB,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAE7D,IAAI,CAAC;QACJ,OAAO,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACnC,OAAO,GAAG,CAAC,QAAQ,CAAC;QACrB,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,CAAC;IACV,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type StepName = "venv" | "deps" | "mcp" | "env" | "gitignore" | "project-context";
|
|
2
|
+
export interface StepResult {
|
|
3
|
+
name: StepName;
|
|
4
|
+
status: "pass" | "skip" | "fail" | "warn";
|
|
5
|
+
message: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const STEPS: Record<StepName, (dir: string) => StepResult | Promise<StepResult>>;
|
|
8
|
+
//# sourceMappingURL=setup-steps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-steps.d.ts","sourceRoot":"","sources":["../../src/commands/setup-steps.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAEzF,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;CAChB;AA2KD,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAOrF,CAAC"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, copyFileSync, appendFileSync, mkdirSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import pc from "picocolors";
|
|
4
|
+
import { ensureVenv, installPipPackages, verifyPackages } from "../core/dependency-installer.js";
|
|
5
|
+
import { getRequirementsSource, formatPackageList } from "../core/skills-dependencies.js";
|
|
6
|
+
// Default file contents — used when .example files don't exist (no scaffold yet)
|
|
7
|
+
const DEFAULT_MCP = `{
|
|
8
|
+
"mcpServers": {
|
|
9
|
+
"context7": {
|
|
10
|
+
"command": "npx",
|
|
11
|
+
"args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]
|
|
12
|
+
},
|
|
13
|
+
"sequential-thinking": {
|
|
14
|
+
"command": "npx",
|
|
15
|
+
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
|
|
16
|
+
},
|
|
17
|
+
"playwright": {
|
|
18
|
+
"command": "npx",
|
|
19
|
+
"args": ["@playwright/mcp@latest"]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}\n`;
|
|
23
|
+
const DEFAULT_ENV = `# MeowKit Environment Variables
|
|
24
|
+
# Never commit this file to git. Shell exports take precedence.
|
|
25
|
+
|
|
26
|
+
# Gemini (recommended — analysis, image gen, video gen)
|
|
27
|
+
# Get from: https://aistudio.google.com/apikey
|
|
28
|
+
MEOWKIT_GEMINI_API_KEY=
|
|
29
|
+
|
|
30
|
+
# MiniMax (optional — TTS, music, Hailuo video, image fallback)
|
|
31
|
+
# Get from: https://platform.minimax.io/
|
|
32
|
+
# MEOWKIT_MINIMAX_API_KEY=
|
|
33
|
+
|
|
34
|
+
# OpenRouter (optional — image gen fallback)
|
|
35
|
+
# Get from: https://openrouter.ai/keys
|
|
36
|
+
# MEOWKIT_OPENROUTER_API_KEY=
|
|
37
|
+
# MEOWKIT_OPENROUTER_FALLBACK_ENABLED=true
|
|
38
|
+
\n`;
|
|
39
|
+
const DEFAULT_GITIGNORE = `# MeowKit
|
|
40
|
+
.env
|
|
41
|
+
.env.local
|
|
42
|
+
.claude/.env
|
|
43
|
+
.claude/memory/
|
|
44
|
+
.claude/logs/
|
|
45
|
+
\n`;
|
|
46
|
+
/** Setup Python virtual environment for MeowKit skill scripts */
|
|
47
|
+
function setupVenv(projectDir) {
|
|
48
|
+
try {
|
|
49
|
+
const { venvDir, created } = ensureVenv(projectDir);
|
|
50
|
+
if (created)
|
|
51
|
+
return { name: "venv", status: "pass", message: `Created at ${venvDir}` };
|
|
52
|
+
return { name: "venv", status: "skip", message: "Python venv already exists" };
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
56
|
+
return { name: "venv", status: "fail", message: msg };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/** Setup MCP configuration */
|
|
60
|
+
function setupMcp(projectDir) {
|
|
61
|
+
const mcpTarget = join(projectDir, ".mcp.json");
|
|
62
|
+
if (existsSync(mcpTarget)) {
|
|
63
|
+
return { name: "mcp", status: "skip", message: ".mcp.json already exists" };
|
|
64
|
+
}
|
|
65
|
+
// Copy from example if available, otherwise create with defaults
|
|
66
|
+
const mcpExample = join(projectDir, ".claude", "mcp.json.example");
|
|
67
|
+
if (existsSync(mcpExample)) {
|
|
68
|
+
copyFileSync(mcpExample, mcpTarget);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
writeFileSync(mcpTarget, DEFAULT_MCP, "utf-8");
|
|
72
|
+
}
|
|
73
|
+
return { name: "mcp", status: "pass", message: "Created .mcp.json — edit API keys inside." };
|
|
74
|
+
}
|
|
75
|
+
/** Setup .env in .claude/ directory */
|
|
76
|
+
function setupEnv(projectDir) {
|
|
77
|
+
const envTarget = join(projectDir, ".claude", ".env");
|
|
78
|
+
if (existsSync(envTarget)) {
|
|
79
|
+
const content = readFileSync(envTarget, "utf-8").trim();
|
|
80
|
+
if (content.length > 0) {
|
|
81
|
+
return { name: "env", status: "skip", message: ".claude/.env already exists" };
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
mkdirSync(join(projectDir, ".claude"), { recursive: true });
|
|
85
|
+
writeFileSync(envTarget, DEFAULT_ENV, "utf-8");
|
|
86
|
+
return { name: "env", status: "pass", message: "Created .claude/.env — add your API keys." };
|
|
87
|
+
}
|
|
88
|
+
/** Setup .gitignore with MeowKit entries */
|
|
89
|
+
function setupGitignore(projectDir) {
|
|
90
|
+
const gitignore = join(projectDir, ".gitignore");
|
|
91
|
+
// Check if already has MeowKit entries
|
|
92
|
+
if (existsSync(gitignore)) {
|
|
93
|
+
const content = readFileSync(gitignore, "utf-8");
|
|
94
|
+
if (content.includes(".claude/memory/")) {
|
|
95
|
+
return { name: "gitignore", status: "skip", message: "MeowKit entries already in .gitignore" };
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Read from .gitignore.meowkit if exists, otherwise use defaults
|
|
99
|
+
const meowkitIgnore = join(projectDir, ".claude", "gitignore.meowkit");
|
|
100
|
+
const additions = existsSync(meowkitIgnore) ? readFileSync(meowkitIgnore, "utf-8") : DEFAULT_GITIGNORE;
|
|
101
|
+
appendFileSync(gitignore, `\n${additions}`, "utf-8");
|
|
102
|
+
return { name: "gitignore", status: "pass", message: "Appended MeowKit entries to .gitignore" };
|
|
103
|
+
}
|
|
104
|
+
/** Install pip packages into the skills venv */
|
|
105
|
+
async function setupDeps(projectDir) {
|
|
106
|
+
const venvDir = join(projectDir, ".claude", "skills", ".venv");
|
|
107
|
+
if (!existsSync(venvDir)) {
|
|
108
|
+
return { name: "deps", status: "fail", message: "No venv. Run setup --only=venv first." };
|
|
109
|
+
}
|
|
110
|
+
const { packages, source } = getRequirementsSource(projectDir);
|
|
111
|
+
console.log(pc.dim(`\n Packages (from ${source}):`));
|
|
112
|
+
console.log(pc.dim(formatPackageList(packages)));
|
|
113
|
+
console.log();
|
|
114
|
+
const existing = verifyPackages(projectDir, packages);
|
|
115
|
+
const missing = packages.filter((_, i) => !existing[i]?.installed);
|
|
116
|
+
if (missing.length === 0) {
|
|
117
|
+
return { name: "deps", status: "skip", message: "All pip packages already installed" };
|
|
118
|
+
}
|
|
119
|
+
console.log(` ${missing.length} package(s) to install, ${packages.length - missing.length} already present.\n`);
|
|
120
|
+
const results = await installPipPackages(projectDir, missing);
|
|
121
|
+
const failed = results.filter((r) => !r.success);
|
|
122
|
+
if (failed.length === 0) {
|
|
123
|
+
return { name: "deps", status: "pass", message: `Installed ${results.length} package(s)` };
|
|
124
|
+
}
|
|
125
|
+
if (failed.length < results.length) {
|
|
126
|
+
return {
|
|
127
|
+
name: "deps",
|
|
128
|
+
status: "warn",
|
|
129
|
+
message: `${results.length - failed.length} installed, ${failed.length} failed`,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
return { name: "deps", status: "fail", message: `All ${failed.length} package(s) failed` };
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Notify if docs/project-context.md is missing. The actual generator lives in the
|
|
136
|
+
* mk:project-context skill (invoked via /mk:project-context generate|init).
|
|
137
|
+
* This step does not auto-invoke the skill — agents are not callable from this CLI —
|
|
138
|
+
* but flags the absence so users know to run the skill on first session.
|
|
139
|
+
*/
|
|
140
|
+
function setupProjectContext(projectDir) {
|
|
141
|
+
const target = join(projectDir, "docs", "project-context.md");
|
|
142
|
+
if (existsSync(target)) {
|
|
143
|
+
return { name: "project-context", status: "skip", message: "docs/project-context.md already exists" };
|
|
144
|
+
}
|
|
145
|
+
const hasCodebase = existsSync(join(projectDir, "package.json")) ||
|
|
146
|
+
existsSync(join(projectDir, "pyproject.toml")) ||
|
|
147
|
+
existsSync(join(projectDir, "Cargo.toml")) ||
|
|
148
|
+
existsSync(join(projectDir, "go.mod"));
|
|
149
|
+
const action = hasCodebase ? "generate" : "init";
|
|
150
|
+
return {
|
|
151
|
+
name: "project-context",
|
|
152
|
+
status: "warn",
|
|
153
|
+
message: `Run \`/mk:project-context ${action}\` in your first session to create docs/project-context.md`,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
export const STEPS = {
|
|
157
|
+
venv: setupVenv,
|
|
158
|
+
deps: setupDeps,
|
|
159
|
+
mcp: setupMcp,
|
|
160
|
+
env: setupEnv,
|
|
161
|
+
gitignore: setupGitignore,
|
|
162
|
+
"project-context": setupProjectContext,
|
|
163
|
+
};
|
|
164
|
+
//# sourceMappingURL=setup-steps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-steps.js","sourceRoot":"","sources":["../../src/commands/setup-steps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Check if a command is available in PATH */
|
|
2
|
+
export declare function commandExists(cmd: string): boolean;
|
|
3
|
+
/** Install all deps that are currently absent */
|
|
4
|
+
export declare function installSystemDeps(projectDir?: string): Promise<void>;
|
|
5
|
+
/**
|
|
6
|
+
* Show system dep status as a flat checklist, prompt, and install if confirmed.
|
|
7
|
+
* Each dep is shown as: [ ] Name (~NMB) — unchecked by default (locked decision #4).
|
|
8
|
+
* Playwright appears alongside FFmpeg and ImageMagick in the same list.
|
|
9
|
+
*/
|
|
10
|
+
export declare function promptAndInstallSystemDeps(projectDir?: string): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=setup-system-deps.d.ts.map
|