Перейти к основному содержимому

create-idf-app

Scaffold-генератор для нового IDF-проекта. Vite + React + SDK, работающий dev-server за ~20 секунд.

Scaffold

npx @intent-driven/create-idf-app my-app --ui-kit=antd
cd my-app

Доступные UI-kit'ы: mantine (по умолчанию), shadcn, apple, antd. Выбор влияет только на dependency tree и default adapter — поменять можно runtime через PrefsPanel.

Получаете:

my-app/
├── src/
│ ├── main.jsx, app.jsx, config.js, auth.js
│ └── domains/default/ontology.js # 2 entity, 4 intent, 3 role на старт
├── server-mock/ # Node:http mock backend с JWT, CRUD, seed
├── api/ # BFF-wrappers для /api/document, /voice, /agent
├── vite.config.js, vercel.json
└── package.json

Dev cycle

pnpm install # или npm / yarn — детектится автоматически
pnpm mock # terminal 1: mock backend на :4000
pnpm dev # terminal 2: Vite на :5173

Открыть http://localhost:5173. Видите:

  • Nav с проекциями (auto-derived из онтологии)
  • UI-kit switcher в PrefsPanel (⚙)
  • Sign-in form (mock JWT — любой пароль) для примеров c owner-scope

Редактировать онтологию

src/domains/default/ontology.js — главный файл:

export const ontology = {
name: "default",
entities: { ... }, // типы данных с fields / ownerField
intents: { ... }, // declarative intent spec'ы
roles: { ... }, // permission model + agent preapproval
invariants: [ ... ], // 6 kinds — role-capability / referential / ...
rules: [ ... ], // Reactive Rules Engine
};

Сохранить → Vite hot-reload → UI перекрывается заново. Backend нужно перезапустить (pnpm mock), если изменились effects.

LLM-обогащение сырого output'а

Если стартуете не с пустого template'а, а с формализации реального продукта — отдельный пакет @intent-driven/enricher-claude (subprocess к claude CLI). Обогащает onto раскадровкой из текстового описания домена:

npx @intent-driven/enricher-claude \
--describe="биржа услуг с escrow" \
--merge-into=src/domains/default/ontology.js

Обогащение — witnesses-of-heuristic: LLM предлагает, вы принимаете / отвергаете. Раннее обращение к LLM не превращает scaffold в low-code — финальный артефакт остаётся code-first, checked-in в git, reviewable в PR.

Что дальше

  • Materializations. /api/document/:projection, /api/voice/:projection, /api/agent/exec — все 4 читателя формата доступны немедленно
  • MCP. Подключите mcp-server чтобы открыть домен для Claude Desktop
  • Auth. Default auth — mock JWT; для production — idf-auth как identity plane
  • Реальный пример. workzilla-clone — freelance-платформа на этом же scaffold'е (8 entities, 36 intents, 20 auto-derived projections, 13-step backend lifecycle end-to-end)

Детали

  • Требуется Node 18+ (тестировалось на 20, 22, 24)
  • Package manager детектится (pnpm / yarn / npm) по lockfile и env
  • --template пока один (default); дополнительные — roadmap
  • Все SDK-пакеты под ^0.x — semver-совместимые апдейты через pnpm up