← к лендингу
1 / 5
IDF/онбординг /манифест v2 лендинг → манифест →
Слайд 01 / 05·Позиционирование

IDF — это формат,
не фреймворк.

Intent-Driven Frontend описывает приложение декларативно: онтология, намерения, проекции, роли. Это тип данных — уровня OpenAPI или JSON-LD. Адаптеры и материализаторы читают формат.

Один артефакт · четыре читателя

Артефакт IDF ontology · intents · projections · roles Пиксели · UI Mantine / shadcn / Apple / AntD Голос /api/voice · SSML · plain Агент · JSON API /api/agent · preapproval Документ /api/document · HTML/JSON
§4 · Φ

Φ — единственная истина

Мир = fold(Φ_confirmed). Состояние не хранится — перевычисляется. Жизнь эффекта: proposed → confirmed | rejected.

§15 · адаптеры

UI-кит — поздняя привязка

Проекции не знают про React-компоненты. Адаптер подставляет Button, Text, Card в runtime через capability-surface.

§19 · LLM

LLM — только в авторстве

Модель помогает конструировать онтологию и обогащать артефакт. В рантайме решения принимает детерминированное ядро.

Слайд 02 / 05·Рантайм

Намерение → эффекты → мир.

Пользователь или агент формирует intent. Валидатор проверяет онтологию, инварианты и гварды. На подтверждении рождаются эффекты — они попадают в Φ. Мир пересобирается свёрткой.

Конвейер одного намерения

intent particles validator ontology · guards invariants 5 kinds · §14.1 buildEffects generic + custom Φ · effects proposed → confirmed fold(Φ) world

Intent · декларация

// src/domains/freelance/intents.js
confirm_deal: {
  params: ["executorId","taskId","responseId","amount"],
  roles: ["customer"],
  effects: [
    { alpha: "create",  entity: "Deal" },
    { alpha: "create",  entity: "Transaction", kind: "escrow-hold" },
    { alpha: "replace", entity: "Wallet" }
  ],
  context: { __irr: { point: "high" } }  // §23 irreversibility
}

После confirm — что появилось в Φ

// engine · fold — применяет α-операции к миру
Φ.push({ tau:"effect", alpha:"create", entity:"Deal", data:{
  id:"d_42", status:"in_progress", amount:9000, commission:900
}})
Φ.push({ tau:"effect", alpha:"replace", entity:"Wallet",
  patch: { balance: -9000, reserved: +9000 }})

// мир после fold:
world.Deal.d_42 = { status: "in_progress", ... }
world.Wallet.w_a = { balance: 11000, reserved: 9000 }
Слайд 03 / 05·Кристаллизация UI

Проекция → 7 архетипов → 6 слотов.

Кристаллизатор v2 — чистая функция. На входе: проекция, онтология, намерения, адаптер. На выходе: артефакт с архетипом, слотами и селекторами данных. UI-кит подставляется последним.

Pipeline кристаллизации

1 · chooseArchetype feed / catalog / detail / form / canvas / dashboard / wizard 2 · pickControls auto · composerEntry · formModal · confirmDialog 3a–c · assignToSlots hero · toolbar · body · aside · footer · meta 3d · applyStructuralPatterns subcollections · grid-card · footer-inline-setter 4 · deriveShape · R8 hub-absorption timeline · directory · default

Архетип → слоты

hero · create_task toolbar · publish · close · edit body · grid-card-layout aside · фильтры footer · pagination

Pattern Bank Три паттерна с structure.apply обогащают слоты внутри pipeline — обзор превращается в карточную сетку автоматически.

Mantine

Corporate

Dense-data дефолт. booking / planning / workflow / messenger / sales.

shadcn

Doodle

Handcrafted sketch. lifequest mobile-first.

Apple

visionOS-glass

Premium / minimal. reflect + Mood Meter.

AntD

Fintech

Statistic, charts. invest dashboard.

Слайд 04 / 05·Как разрабатывать

Рецепт домена — пять шагов.

От онтологии к живому приложению. Цикл занимает от часа (smoke) до пары дней (Cycle 1 с escrow). Референс: src/domains/freelance — биржа услуг, Cycle 1 + escrow core.

  1. Онтология. ontology.js: entities, роли с base, ownerField, role.scope для m2m, инварианты (5 kinds).
  2. Намерения. intents.js: params, roles, effects (α: create | replace | remove), context (__irr для irreversibility §23).
  3. Проекции. projections.js: 4–8 проекций, 4 из них ROOT. Архетип можно не указывать — кристаллизатор выведет сам.
  4. Правила. rules.js: event-condition-action. Расширения v1.5 — aggregation / threshold / schedule / condition.
  5. Seed + тесты. seed.js + *.test.js: ontology, intents, projections, filterworld, escrow. Smoke в MANUAL_SMOKE.md.

Структура домена

// src/domains/freelance/
ontology.js     // 388 LOC — 12 entities, 3 roles
intents.js      // 848 LOC — 46 intents, 8 категорий
projections.js  // 158 LOC — 8 projections, 4 ROOT
domain.js       // 252 LOC — generic + 6 custom buildEffects
rules.js        // 37  LOC — auto_accept_after_3d
seed.js         // 225 LOC — 5 users · 10 tasks · 20 responses

ontology.test.js              // ∀-свойства онтологии
intents.test.js               // структура + irreversibility
projections.test.js           // архетипы · ROOT · subCollections
filterworld-multi-role.test.js// viewer-scoping по ролям
escrow.test.js                // 65 тестов кастомного buildEffects
MANUAL_SMOKE.md               // 7 happy + 4 negative шага
README.md                     // working-state · границы

Команды

:3001 npm run server
:5173 npm run dev
vitest npm test src/domains/freelance
e2e npm run agent-smoke

Для нового домена достаточно добавить пункт в переключатель в prototype.jsx — один движок, N определений.

Слайд 05 / 05·Экосистема

Авторская среда, SDK и следующий шаг.

IDF живёт в двух репозиториях: прототип (host + 9 доменов) и SDK-монорепо (@intent-driven/core · renderer · adapter-* · canvas-kit · cli). Студия даёт авторский инструментарий: Graph3D, Pattern Inspector, explainMatch.

SDK · 8 пакетов

@intent-driven/core0.9.0fold · crystallize · invariants
@intent-driven/renderer0.5.0ProjectionRendererV2 · primitives
adapter-mantine1.1+corporate, dense-data
adapter-shadcn1.1+doodle, mobile-first
adapter-apple1.1+visionOS-glass
adapter-antd1.1+enterprise-fintech
canvas-kit0.2.0SVG helpers, 9 утилит
cli1.0.7npx @intent-driven/cli init

BSL 1.1 core / renderer / adapters (→ Apache 2.0 на 2030-04-15) MIT cli

Студия · §21

  • Graph3D визуализация онтологии и связей m2m
  • Pattern Inspector Cmd+Shift+P: Off / Preview / Commit для structural patterns
  • explainMatch единая SDK-surface: per-requirement breakdown триггера
  • Claude proxy dev-time :4000 — автор, не рантайм
  • Researcher scripts/pattern-researcher.mjs, self-improving банк

Pattern Bank — 13 stable, из них 3 с structure.apply. Остальные 10 — roadmap v1.13+.

Делай сегодня

Изучи референс

Склонируй, запусти freelance-домен, прогони MANUAL_SMOKE.md. Это быстрее, чем читать манифест.

На этой неделе

Свой smoke-домен

npx @intent-driven/cli init my-app — CLI проводит 5-шаговый LLM-диалог и скаффолдит каталог.

Дальше

Читай манифест v2

docs/manifesto-v2.md — 26 глав. Timeless-документ о формате. Живой статус — в docs/implementation-status.md.