Intent-Driven Frontend описывает приложение декларативно: онтология, намерения, проекции, роли. Это тип данных — уровня OpenAPI или JSON-LD. Адаптеры и материализаторы читают формат.
Мир = fold(Φ_confirmed). Состояние не хранится — перевычисляется. Жизнь эффекта: proposed → confirmed | rejected.
Проекции не знают про React-компоненты. Адаптер подставляет Button, Text, Card в runtime через capability-surface.
Модель помогает конструировать онтологию и обогащать артефакт. В рантайме решения принимает детерминированное ядро.
Пользователь или агент формирует 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
}
// 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 }
Кристаллизатор v2 — чистая функция. На входе: проекция, онтология, намерения, адаптер. На выходе: артефакт с архетипом, слотами и селекторами данных. UI-кит подставляется последним.
Pattern Bank
Три паттерна с structure.apply обогащают слоты внутри pipeline — обзор превращается в карточную сетку автоматически.
Dense-data дефолт. booking / planning / workflow / messenger / sales.
Handcrafted sketch. lifequest mobile-first.
Premium / minimal. reflect + Mood Meter.
Statistic, charts. invest dashboard.
ProjectionRendererV2, кит переключается на лету.
От онтологии к живому приложению. Цикл занимает от часа (smoke) до пары дней (Cycle 1 с escrow).
Референс: src/domains/freelance — биржа услуг, Cycle 1 + escrow core.
ontology.js: entities, роли с base, ownerField, role.scope для m2m, инварианты (5 kinds).intents.js: params, roles, effects (α: create | replace | remove), context (__irr для irreversibility §23).projections.js: 4–8 проекций, 4 из них ROOT. Архетип можно не указывать — кристаллизатор выведет сам.rules.js: event-condition-action. Расширения v1.5 — aggregation / threshold / schedule / condition.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 · границы
npm run servernpm run devnpm test src/domains/freelancenpm run agent-smoke
Для нового домена достаточно добавить пункт в переключатель в prototype.jsx — один движок, N определений.
buildEffects-ветки — только для money / escrow / multi-effect инвариантов.
IDF живёт в двух репозиториях: прототип (host + 9 доменов) и SDK-монорепо
(@intent-driven/core · renderer · adapter-* · canvas-kit · cli).
Студия даёт авторский инструментарий: Graph3D, Pattern Inspector, explainMatch.
| @intent-driven/core | 0.9.0 | fold · crystallize · invariants |
| @intent-driven/renderer | 0.5.0 | ProjectionRendererV2 · primitives |
| adapter-mantine | 1.1+ | corporate, dense-data |
| adapter-shadcn | 1.1+ | doodle, mobile-first |
| adapter-apple | 1.1+ | visionOS-glass |
| adapter-antd | 1.1+ | enterprise-fintech |
| canvas-kit | 0.2.0 | SVG helpers, 9 утилит |
| cli | 1.0.7 | npx @intent-driven/cli init |
BSL 1.1 core / renderer / adapters (→ Apache 2.0 на 2030-04-15) MIT cli
Cmd+Shift+P: Off / Preview / Commit для structural patternsscripts/pattern-researcher.mjs, self-improving банк
Pattern Bank — 13 stable, из них 3 с structure.apply. Остальные 10 — roadmap v1.13+.
Склонируй, запусти freelance-домен, прогони MANUAL_SMOKE.md. Это быстрее, чем читать манифест.
npx @intent-driven/cli init my-app — CLI проводит 5-шаговый LLM-диалог и скаффолдит каталог.
docs/manifesto-v2.md — 26 глав. Timeless-документ о формате. Живой статус — в docs/implementation-status.md.