modelstudioai / modelstudioai/cli
Allow opting out of auto-update and of the automatic `bl skill init` after updates
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 333
- Forks
- 28
- Ø Merge
- 1 T. 9 Std.
- Gemergte PRs (30 T.)
- 33
Beschreibung
bl currently self-updates silently and then unconditionally re-runs bl skill init, with no persistent way to opt out of either step.
What happens
- Any command (e.g. a scheduled
bl usage token-plan) triggersshouldAutoUpdate()when the installed version is a major behind, or more than 3 minors behind (packages/runtime/src/utils/update-checker.ts). It then runsnpm install -g bailian-cli@latestin the middle of the user's command. - On success,
syncAgentSkillsAfterUpdate()runsbl skill init, which symlinks everybailian-*skill into every detected agent directory (~/.claude/skills,~/.codex/skills,~/.config/opencode/skills,~/.pi/agent/skills,~/.agents/skills, …).bl updatedoes the same viaupdateAgentSkill()(packages/commands/src/commands/update.ts). - The only gate is
ctx.settings.quiet, which comes from the per-invocation--quietflag and is not aconfig.jsonkey (packages/core/src/config/loader.ts), so it cannot be made persistent.bl skill inititself has no flags to limit targets.
Why this is a problem
Users who manage their agent skill directories elsewhere (dotfiles, a config-as-code repo) have their removals silently reverted on the next update. In my case 10 skills I had removed came back into five agent homes because a cron-style quota probe happened to run after 1.24.0 was published (telemetry: skill init at 2026-09-11T13:48:04Z, cliVersion 1.24.0, immediately after an in-flight 1.20.0 usage token-plan).
Request
Two independent, persistent switches (config.json key and/or env var), e.g.:
BAILIAN_AUTO_UPDATE=0/"auto_update": false— never runnpm install -gimplicitly; only print the "update available" notice.BAILIAN_SKILL_SYNC=0/"skill_sync": false— never runbl skill initimplicitly after an update (both the auto path andbl update).
Optionally, bl skill init --agent <list> so the sync can be scoped even when enabled.
Environment: bl 1.24.0, npm global install, macOS 26.6, node v26.8.2.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit packages/runtime/src/utils/update-checker.ts und packages/core/src/config/loader.ts, um automatische Updates und persistente Einstellungen nachzuverfolgen, und untersuche dann packages/commands/src/commands/update.ts sowie den Einstiegspunkt bl skill init. Überprüfe, dass die beiden Schalter unabhängig voneinander implizite npm-Updates bzw. die Skill-Synchronisierung verhindern und dabei den Update-Hinweis sowie das explizite Verhalten bei der Skill-Initialisierung beibehalten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- nodejs, typescript
- Bereich
- cli, developer-experience, tooling
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 63/100