mirror of
https://gitverse.ru/kpa39l/openspec-lab.git
synced 2026-09-29 09:15:01 +00:00
67 lines
2.7 KiB
Markdown
67 lines
2.7 KiB
Markdown
# OpenSpec Lab — spec-driven для инфраструктуры
|
||
|
||
Песочница OpenSpec (Fission-AI, CLI 1.12.0) для практики spec-driven development
|
||
на задачах настройки инфраструктуры Hermes и homelab.
|
||
|
||
## Зачем
|
||
|
||
OpenSpec даёт формальный цикл «согласовали ЧТО → делаем КАК → проверяем → архивируем»:
|
||
|
||
1. `proposal.md` — зачем менять
|
||
2. `specs/<cap>/spec.md` — дельта требований (ADDED/MODIFIED/REMOVED) с GIVEN/WHEN/THEN
|
||
3. `design.md` — как именно (файлы, команды, rollback, риски)
|
||
4. `tasks.md` — чеклист применения
|
||
|
||
После `openspec archive` дельта вливается в `openspec/specs/` (источник истины), а
|
||
change уходит в `openspec/changes/archive/` с датой.
|
||
|
||
## Команды
|
||
|
||
```bash
|
||
# Новый change
|
||
openspec new change "short-name"
|
||
# Статус / валидация
|
||
openspec status --change short-name
|
||
openspec validate short-name
|
||
# Завершение
|
||
openspec archive short-name --yes
|
||
```
|
||
|
||
## Hermes-скиллы
|
||
|
||
`openspec init --tools hermes` сгенерировал скиллы в `.hermes/skills/openspec-*`.
|
||
В `~/.hermes/config.yaml` (Hermes-профиль) подключены через:
|
||
|
||
```yaml
|
||
skills:
|
||
external_dirs:
|
||
- /opt/hermes/openspec-lab/.hermes/skills
|
||
```
|
||
|
||
## Реальные changes
|
||
|
||
| Change | Статус | Что |
|
||
|---|---|---|
|
||
| `add-vpn-tunnel-proxy` | заархивирован | Спека постоянного SOCKS5-туннеля до VPS01 |
|
||
| `tavily-proxy-setup` | заархивирован | Tavily extract через локальный прокси (гео-обход), e2e работает |
|
||
| `local-extractor` | открыт (4/4 артефакта, тесты сетевые отложены) | Локальная экстракция trafilatura, Tavily-совместимый интерфейс |
|
||
|
||
## Git / gitverse
|
||
|
||
Источник истины — gitverse.ru (зеркало gitea на bigbox).
|
||
|
||
```bash
|
||
git remote -v # origin → https://estorozhenko:<TOKEN>@gitverse.ru/estorozhenko/openspec-lab.git
|
||
# Создать репозиторий на gitverse (UI/API), затем:
|
||
git push -u origin main
|
||
```
|
||
|
||
Токен (PAT) хранится в obsidian: `homelab/gitverse.ru.md` и
|
||
`homelab/gitea.nixg.ru/Токен для gitverse.ru.md`.
|
||
|
||
## Стек (окружение bigbox)
|
||
|
||
- OpenSpec CLI: `npm install -g @fission-ai/openspec` (node 22)
|
||
- Hermes-профиль: `/opt/hermes/.hermes`
|
||
- Прокси-скрипты: `/opt/hermes/.hermes/scripts/`
|
||
- Tavily-прокси: systemd `tavily-proxy.service` (порт 8971, через SOCKS5-туннель) |