@intent-driven/cli-chat
v0.6.0
Published
Interactive REPL для итеративного редактирования IDF-ontology через диалог с локальным claude CLI
Maintainers
Readme
@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
- Локально установленный
claudeCLI (логиниться нужно один раз:claudeбез аргументов). Subprocess использует залогиненный keychain, отдельныйANTHROPIC_API_KEYне нужен.
Roadmap
| PR | Что | |-------|------------------------------------------------------------| | 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.
