62 lines
4.7 KiB
Markdown
62 lines
4.7 KiB
Markdown
# Task Board
|
||
_Updated: 2026-05-06_
|
||
|
||
Per-task deep context lives in `.tasks/<task-slug>.md` (created on demand by `using-tasks`).
|
||
|
||
**Status legend:** 🔴 active · 🟡 paused · ⚪ ready · 🟢 done · 🔵 blocked · ⚫ cancelled
|
||
|
||
---
|
||
|
||
## ⚪ [factory-bootstrap-script] — Извлечь шаги из `L0/install-log.md` (field-test 2026-05-06 на Win11 ноуте) в `bootstrap.ps1` (Windows) и `bootstrap.sh` (Linux/Mac). Скрипты — entry point L0b factory-архитектуры.
|
||
|
||
**Что должен делать скрипт** (по итогам field-test'а):
|
||
1. Detect platform (Win/Linux/Mac), выбрать ветку.
|
||
2. Pre-check: git, curl, mise, claude установлены (сообщить если нет).
|
||
3. Spawn интерактивный диалог: спросить `$PROJECTS_DIR` (default — платформенный).
|
||
4. Clone `factory` репо в `$PROJECTS_DIR/.factory/`.
|
||
5. Инициализировать `~/.config/factory/home.toml` (projects_dir, client, installed_at).
|
||
6. Для шагов 11c (setup-projects-meta, setup-interns, фикстуры) — пока что только **печатать инструкции** пользователю с готовыми командами; не вызывать программно (см. Q3 в дизайне про slash-command-bridge).
|
||
7. **Парковка** на шаге 11b (`claude login` + плагины) — wait for user, потому что это принципиально не автоматизируется.
|
||
8. Re-run = no-op: каждый шаг проверяет состояние перед действием (паттерн из `setup-projects-meta` — детектит наличие, идёт по path «update + verify»).
|
||
|
||
**Acceptance criteria:**
|
||
- Прогон на чистой машине (Linux VM первой, потом Win VM) заканчивается тем же state'ом, что был получен вручную в field-test'е.
|
||
- Re-run скрипта на уже бутстрапнутой машине = серия "already installed" сообщений, exit 0.
|
||
- gap'ы из install-log'а (секция «Gaps / questions surfaced during field-test») закрыты или явно отмечены как known limitations в README.
|
||
|
||
**Reference:** `.wiki/concepts/factory-bootstrap.md` (полный дизайн), `L0/install-log.md` (сырой field-test лог).
|
||
|
||
**Status:** ready
|
||
**Where I stopped:** (not started)
|
||
**Next action:** Прогнать install-log.md глазами, выписать минимальный набор шагов, набросать `bootstrap.ps1` и `bootstrap.sh` skeleton'ы.
|
||
**Branch:** n/a
|
||
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T18:23:08.378Z -->
|
||
|
||
---
|
||
|
||
## 🔵 [factory-l1-design] — L1 — Go-бинарь `factory` + `factory.yaml` manifest schema. См. `.wiki/concepts/factory-bootstrap.md` («Архитектура — три слоя» / L1).
|
||
|
||
**Blocked by `factory-bootstrap-script`** — пока скрипт не закрыт и не работает на 2 платформах, в L1 идти нет смысла (риск спроектировать манифест под несуществующее L0).
|
||
|
||
**Что нужно сделать после анблока:**
|
||
1. Финализировать ответы на Q2 (manifest location), Q4 (версионирование). Q3 (slash-command-bridge) и Q5 (secrets) — отдельные подзадачи, можно параллельно.
|
||
2. Спроектировать `factory.yaml` schema (черновик в дизайн-доке).
|
||
3. Поднять Go-проект в `~/projects/.factory/cmd/factory/`: `go-git/go-git`, `goccy/go-yaml`, `spf13/cobra`.
|
||
4. Команды: `factory install`, `factory update`, `factory status`, `factory diagnose <name>`.
|
||
5. Health-check как single source of truth идемпотентности.
|
||
6. Cross-compile в `dist/` для Win/Mac/Linux × amd64/arm64.
|
||
|
||
**Acceptance criteria:**
|
||
- `factory install` на чистой машине поднимает все 6+ компонентов без участия пользователя (после `claude login`).
|
||
- `factory status` показывает delta-таблицу: `name | version | health | deps`.
|
||
- Manifest нигде не хардкодит `~/projects/` — только `{projects_dir}` substitution.
|
||
|
||
**Status:** blocked
|
||
**Where I stopped:** (not started)
|
||
**Next action:** После закрытия `factory-bootstrap-script`: финализировать Q2/Q4, набросать factory.yaml schema, скаффолдить Go-проект.
|
||
**Blocker:** factory-bootstrap-script
|
||
**Branch:** n/a
|
||
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T18:23:20.465Z -->
|
||
|
||
---
|