KeiSeiKit-1.0/install
Parfii-bot d729a2e903 refactor(install): production-ready финальный круг
1. lib-onboarding.sh раскидан на 3 куба (Constructor Pattern <200 LOC):
   - lib-onboarding-registry.sh (79 LOC) — парсеры providers/models.toml
     + onboarding_fallback_providers (14 провайдеров)
     + onboarding_auth_env_for_provider helper (был inline в collect_auth)
   - lib-onboarding-ui.sh (189 LOC) — pick_language/transport/provider/model
     + collect_auth (whiptail/bash select)
   - lib-onboarding-state.sh (57 LOC) — write_secrets + write_config
     + user-model-override.toml для kei-model-router
   - lib-onboarding.sh (95 LOC) — тонкий оркестратор: should_run + run

   Сам lib-onboarding.sh source'ит 3 подкуба автоматически. Глобалы
   (ONBOARDING_*, REGISTRY_*, ONBOARDED_FLAG, etc.) объявлены в
   оркестраторе, подкубы их используют через имена.

2. lib-menu.sh локализован:
   - whiptail title + radiolist prompt через ${STR_MENU_TITLE} +
     ${STR_MENU_SUBSTRATE} + ${STR_MENU_PROFILE_PROMPT}.
   - Plain heading тоже использует словарь.
   - 12 коротких имён профилей (minimal/core/dev/...) — оставлены EN
     как стабильные id (не переводятся).

3. _blocks/build-index.sh — детерминированная регенерация INDEX.md.
   Группировка по 14 категорийным префиксам + "Прочие" для остальных.
   Безопасно перезапускать. INDEX.md обновлён через этот скрипт
   (минимальный diff — добавлена ссылка на build-index.sh в шапке).

Проверено: bash -n чисто, unit тесты onboarding_list_providers/
transports/models OK, non-TTY smoke ./install.sh --profile=minimal
--no-execute проходит.
2026-05-17 23:57:23 +08:00
..
i18n feat(i18n): расширил язык-набор с 2 до 16 2026-05-17 16:51:44 +08:00
launchd-templates KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
preflight fix(install,router): close 5 HIGH audit findings 2026-05-17 16:28:33 +08:00
sql fix(audit-batch-2): regressions from prev batch + 2nd-wave audit findings 2026-05-03 20:30:51 +08:00
lib-agents.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-args.sh fix(release+slices): v0.14.4 publish auth fallback + 4 fix-implementer slices 2026-05-04 00:16:48 +08:00
lib-backup.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-bin.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-bridges.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-datasette.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-daytona.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-forgejo-runner.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-forgejo.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-gdrive-import.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-mdbook.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-restic.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-zoekt.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-frustration-bootstrap.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-hooks.sh fix(release+slices): v0.14.4 publish auth fallback + 4 fix-implementer slices 2026-05-04 00:16:48 +08:00
lib-i18n.sh feat(i18n): расширил язык-набор с 2 до 16 2026-05-17 16:51:44 +08:00
lib-launchd.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-log.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-menu.sh refactor(install): production-ready финальный круг 2026-05-17 23:57:23 +08:00
lib-onboarding-registry.sh refactor(install): production-ready финальный круг 2026-05-17 23:57:23 +08:00
lib-onboarding-state.sh refactor(install): production-ready финальный круг 2026-05-17 23:57:23 +08:00
lib-onboarding-ui.sh refactor(install): production-ready финальный круг 2026-05-17 23:57:23 +08:00
lib-onboarding.sh refactor(install): production-ready финальный круг 2026-05-17 23:57:23 +08:00
lib-pathway.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-plan.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-preflight.sh fix(install): close MEDIUM/LOW from RULE 0.26 audit 2026-05-17 16:37:28 +08:00
lib-prereqs.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-primitives.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-profile-outcome-only.sh fix(release+slices): v0.14.4 publish auth fallback + 4 fix-implementer slices 2026-05-04 00:16:48 +08:00
lib-profile.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-rust-mirror.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-rust-prebuild.sh fix(hooks+install): disk-reclaim Guard 3 + secrets per-line + sha256 fail-closed 2026-05-03 15:37:57 +08:00
lib-rust.sh Revert "feat(mcp-server): production-ready publish path via GitHub Packages" 2026-05-03 18:04:00 +08:00
lib-scaffold.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-skills.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-substrate.sh chore(kit): wire kei-db-contract into installer + drop final #[path] hack 2026-05-01 17:55:52 +08:00
lib-summary.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-wizard.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00