Конвейер, который по одному абзацу текста собирает готовое Android-приложение: дизайн-документ, исходники, картинки, сборка, автотест на эмуляторе, скриншоты.
На главной шаги «ТЗ для AI → Генерация → Билд» закрашены зелёным и подписаны «закрыто опытом команды». Зелёный прямоугольник — это не объяснение. Здесь он вскрыт: что за слои у самого приложения, кто пишет каждую строчку, где стоят ворота, и что происходит, когда сборка падает.
Откуда взято. Страница собрана чтением исходников фабрики, а не пересказом её README: ветка chief/6571bc3527, каталог AndroidAppFactory/. Ничего из описанного мы сами не запускали: страница только читает — исходники, логи и то, что прогон оставил на диске.
Фабрика — не сервис и не приложение. Это папка на диске: набор bash-скриптов, которые по очереди дёргают Claude, генератор картинок и Gradle, а между вызовами записывают своё состояние в файл. Отсюда её главное свойство: любой шаг можно перезапустить, ничего не потеряв.
↔ схему можно прокрутить вбок
Красная петля — самая важная линия на схеме. Сборка Android падает часто и по-глупому: не та версия, не тот путь, забытая зависимость. Вместо того чтобы звать человека, конвейер отдаёт текст ошибки обратно тому же Claude и просит починить — и так несколько раз подряд.
Если совсем коротко: это React Native-приложение из четырёх экранов — без библиотеки навигации, без базы данных и без единой собственной строки на Kotlin. Весь код сминается в один файл внутри пакета, а вокруг него стоковая нативная оболочка Android, одинаковая у всех апок фабрики.
Ткни в слой на схеме или в карточку рядом — подсветится соответствие. Синее приезжает из шаблона одинаковым в каждой апке, жёлтое пишется под конкретную апку с нуля. Соотношение этих двух цветов и есть ответ на вопрос «а что тут вообще делает нейросеть».
↔ схему можно прокрутить вбок
Каждый шаг оставляет после себя файл на диске — зелёная плашка. Это и есть определение «шаг прошёл»: не «модель ответила», а «на диске появилось то, что можно открыть». Цвет номера говорит, кто исполнитель.
Кроме React Native в фабрике есть ветка Flutter. Сделана она не копипастой конвейера, а зеркалом: те же имена шагов, тот же файл состояния, те же коды завершения — чтобы всё, что идёт после сборки, читалось одним и тем же кодом и не знало, какая платформа была внутри.
↔ схему можно прокрутить вбок
approve-pipeline-router.sh (68 строк) → jira-get-platform.sh (customfield_10062) → exec на одну из двух ветокpubspec.yaml: test-ui.sh, verify-app-runs.sh, local-screenshot-gate.sh, heal-build.sh, cm-prepare.sh. Платформо-независимы: gen-assets.sh, geometry-check.shСобранный пакет ничего не доказывает: приложение может установиться и показать белый экран. Поэтому между сборкой и выдачей результата стоит несколько независимых проверок, и каждая умеет сказать «нет».
Версии здесь не украшение: половина правил конвейера существует потому, что конкретные версии конкретно ссорятся между собой. Всё, что ниже, вычитано из файлов проекта, а не из документации.
Обе выросли из тем, которые нашёл преданализ, и обе доехали до установочного файла. Ниже — их размеры и содержимое, снятые с диска, а не обещания.
Схема выше нарисована ровно; настоящий конвейер — нет. Здесь собрано то, что упирается в физику, деньги или чужие правила, а не в «доделать на следующей неделе».
По одной строке на термин — чтобы страницу можно было показать человеку, который Android не собирал ни разу.
Эта страница отвечает на «как сделать приложение». Соседние отвечают на «какое именно приложение стоит делать» — без них конвейер просто быстро печатает никому не нужные апки.