Skip to content

v0.7.3

Latest

Choose a tag to compare

@xFurti xFurti released this 14 Jul 11:31
· 49 commits to main since this release

skillctl 0.7.3

skillctl 0.7 introduce discovery, manutenzione pianificata, riconciliazione sicura dei target, plugin sperimentali, audit SARIF e completamenti shell. Tutti gli 11 pacchetti @skillctl/* sono allineati alla versione 0.7.3.

Novità principali

Discovery e informazioni

  • Nuovi comandi skillctl search [query] e skillctl info <name-or-specifier>.
  • Catalogo skills.sh con validazione stretta, timeout, retry, cache locale di 15 minuti e fallback stale quando la rete non è disponibile.
  • Nuovo specifier selettivo skills.sh/<owner>/<repo>/<skill>, risolto a commit SHA immutabile e riproducibile con install --frozen.
  • Ricerca interattiva nei terminali TTY e output deterministico/JSON per CI e agenti.

Outdated e aggiornamenti

  • Nuovo comando skillctl outdated [names...] con classificazione current, outdated, modified, legacy, unavailable e unsupported.
  • skillctl update supporta --dry-run, --latest, --save, --yes, --no-sync e --json.
  • Piani distinti per aggiornamenti patch, minor, major, commit e contenuto.
  • Aggiornamenti multipli atomici: staging completo prima del commit e rollback coordinato di store, manifest e lock in caso di errore.

Doctor e sync sicuri

  • Ispezione dei target con stati missing, current, managed-stale, unmanaged e failed.
  • doctor --fix ripara soltanto target mancanti o riconosciuti come gestiti.
  • sync --replace-unmanaged richiede selettori espliciti, conferma e scope non ambiguo.
  • I contenuti unmanaged sostituiti vengono salvati sotto .skillctl/backups/sync/ con metadati e ripristino automatico in caso di fallimento.

Plugin system sperimentale

  • Lifecycle completo: add, install, update, enable, disable, info, doctor, remove e list.
  • Manifest e lock separati in ~/.skillctl/plugins.json e ~/.skillctl/plugins.lock.
  • Supporto consigliato per plugin npm e supporto locale esplicito tramite --allow-local.
  • Verifica SRI, API version e capabilities; protezioni contro path traversal, symlink in uscita ed entrypoint fuori package.
  • Gli errori di caricamento sono isolati. I plugin eseguono codice Node.js con i permessi dell'utente e non sono presentati come sandboxed.

Audit, policy e SARIF

  • Output SARIF 2.1.0 tramite skillctl audit --format sarif, anche su file con --output.
  • Finding con location e fingerprint stabili, compatibili con il caricamento SARIF di GitHub.
  • Policy security.trustedSourcesMode: off, warn oppure error.
  • Nuovi controlli offline per provenance incompleta, risoluzioni legacy mutable, script sospetti, escape di file/symlink, dimensioni, plugin e drift dei target canonici.

Completion e UX

  • Nuovi completamenti per Bash, Zsh e PowerShell tramite skillctl completion <shell>.
  • Completamento dinamico di comandi, opzioni, adapter, skill installate e plugin.
  • Rendering centralizzato con supporto NO_COLOR, fallback ASCII, spinner solo in TTY e assenza di ANSI in CI/JSON.
  • Warning ed errori umani sono inviati coerentemente su stderr; l'envelope JSON resta allo schema 1.

Release e automazione

  • GitHub Actions aggiornate ai runtime Node 24 correnti.
  • Workflow predisposto per npm Trusted Publishing tramite OIDC, senza NPM_TOKEN.
  • Pubblicazione degli 11 pacchetti verificabile e ripetibile, con controllo dell'integrità prima della creazione di tag e release.
  • Release con tag annotato, note curate e tarball npm allegati.

Compatibilità e sicurezza

  • Node.js 22.13 o successivo; pnpm 11.x per lo sviluppo del workspace.
  • Lock schema 1.0 e configurazione version: 1 restano invariati.
  • Manifest, lock e configurazioni 0.6.x continuano a essere leggibili.
  • Nessuna telemetria e nessuna installazione automatica silenziosa.
  • I target unmanaged non vengono mai sovrascritti implicitamente.
  • Tutti i pacchetti sono stati verificati su Ubuntu, macOS 15 e Windows con Node 22.13 e Node 24.

Installazione

npm install --global @skillctl/cli@0.7.3
skillctl --version

Pacchetti pubblicati

@skillctl/core, @skillctl/manifest, @skillctl/lockfile, @skillctl/link-manager, @skillctl/plugin-system, @skillctl/project-state, @skillctl/adapters, @skillctl/security, @skillctl/registry, @skillctl/import e @skillctl/cli.

Confronto completo: v0.6.1...v0.7.3