@intent-driven/cli-chat
Interactive REPL для итеративного редактирования IDF-ontology через диалог с локальным claude CLI.
npx @intent-driven/cli-chat ./domain.js
или через родительский CLI:
npx @intent-driven/cli chat ./domain.js
Что делает
- Загружает текущий IDF ontology snapshot (если передан путь)
- Запускает REPL: пользователь вводит вопросы / запросы на изменение, ассистент отвечает
- Когда пользователь просит изменение — LLM возвращает structured RFC6902 jsonpatch, REPL показывает preview, ждёт
y/n
- При
y — apply, ontology обновляется в памяти + snapshot пишется на диск в .idf/sessions/<startedAt>/<turn>.json
- При
n — патч отбрасывается, ничего не меняется
Структурированные ответы (PR 2.2+)
Когда ontology загружена, REPL запрашивает у LLM ответ в формате { kind: "chat" | "patch" } через claude --json-schema. Для свободных вопросов — kind: chat, для запросов на изменение — kind: patch с массивом RFC6902 ops.
Поддерживаемые ops: add / remove / replace / test. JSON Pointer (RFC 6901) для path.
you> добавь роль auditor с правом read на все entities
…
ai: добавляю роль auditor с base="viewer"
предлагаемые изменения:
+ /roles/auditor ← {"id":"auditor","base":"viewer","description":"…"}
применить? (y/n)
you> y
✓ применён, snapshot записан
Slash-команды (v0.1)
/help — справка
/exit или /quit — выйти
/history — conversation history
/clear — очистить history
В roadmap (PR 2.3+): /invariant, /role, /preapproval, /irreversible, /verify, /undo, /explain.
Snapshot путь
.idf/sessions/<startedAt>/<turn>.json (формат 2026-05-08T12-34-56-789Z/0001.json). Каждый успешный apply создаёт новый snapshot — основа для /undo и forensics.
Требования
- Node.js ≥ 20
- Локально установленный
claude CLI (логиниться нужно один раз: claude без аргументов). Subprocess использует залогиненный keychain, отдельный ANTHROPIC_API_KEY не нужен.
Roadmap
| 2.1 | Skeleton (этот пакет): REPL + slash + free-form chat |
| 2.2 | Structured diff (jsonpatch) + preview/confirm + snapshots |
| 2.3 | Domain-specific slash: /invariant, /role, /preapproval, … |
| 2.4 | Validation loop (crystallize после apply, auto-rollback) |
См. полный план в docs/fold-boxed-product-roadmap.md (Phase 2).
License
MIT.