Собрал восемь приложений в App Store за семь недель. Конвейер продаётся.
AppFactory это скиллы, скрипты и правила, на которых работает моя фабрика. Ставишь в Claude Code, и агент сам проходит путь от ниши до сабмита, а ты выбираешь нишу и нажимаешь «отправить». Ниже всё, что внутри, с настоящими артефактами, и восемь приложений, которые открываются в сторе прямо сейчас.
$ claude > построй нишу «what if invested» из candidates.md, все этапы ✓ ресёрч · «what if i invested» живёт в автосаджесте · конкурент один, 0 отзывов ✓ концепт · Finance · подписка $29.99/год + $4.99/нед · триал 3 дня ✓ сборка · Debug и Release чистые · UI-тесты 2/2 · build 1 VALID ✓ скрины · 5 кадров × 8 локалей · терминал-стиль, ни следа предыдущего приложения ✓ ASC · метадата 8 локалей · подписки на 175 территорий · notes + видео файлом → два шага руками (App Privacy, подписки в сабмишн) · потом «сабмить»

Восемь приложений. Все открываются.
Ни одного макета. Каждое собрано этим конвейером с 6 июля 2026 и висит в App Store под моим аккаунтом. Кадры и иконки взяты из стора, ссылки ведут туда же.








Рейтингов почти нет, и рисовать их не буду. Приложения свежие, трафик на них ещё не лил. Здесь они как доказательство, что конвейер доводит до стора, а не как история успеха.
От идеи до стора тринадцать ремёсел. Ты делаешь одно.
Ниша, концепт, код, иконка, скрины под каждый размер, тексты, переводы, privacy-страница, покупки, заметки ревьюеру, видео, сабмит, реджекты. Обычно это недели и три подрядчика. Здесь одна сессия агента и твоё решение по нише.
- Ресёрч ниши
- Концепт и ТЗ
- Код iOS
- Иконка и брендинг
- Скрины под размеры
- Тексты и ASO
- Переводы
- Privacy и Support
- IAP и подписки
- Заметки ревьюеру
- Демо-видео
- Сабмит и метадата
- Разбор реджектов
День фабрики, как он записан в PIPELINE.md
Inbox
Реджекты и хвосты вчерашнего разбираются раньше нового приложения.
Разведка
От трёх до пяти ниш со скорингом, миллионником и вердиктом.
Стоп. Выбираю я
Код без моего решения не пишется. Токены на слабую нишу жечь жалко.
Запись в ASC
Bundle id, имя, запись приложения.
Код и дизайн
SwiftUI, своя палитра и типографика, StoreKit 2.
Самопроверка
Сборка без warnings, каждый экран на симуляторе, тёмная тема, IAP, офлайн.
Оформление
Скрины, метадата, privacy-страницы, демо-видео.
App Store Connect
Метадата всех локалей, скрины, подписки, контакты ревью.
Билд и сабмит
Архив, cloud signing, загрузка, прикрепить билд, отправить.
Отчёт
Что проверено живьём, что нет, что ждёт меня.
Утром агент читает inbox и приносит кандидатов. Код без моего решения не пишется, это правило фабрики с 21 июля, потому что токены на слабую нишу жечь жалко. Дальше конвейер идёт сам до сабмита и заканчивает отчётом, где отдельно перечислено, что он проверил живьём, а что ждёт меня.
Двенадцать частей. Каждая с артефактом.
Ниже не обещания, а куски настоящих файлов из прогонов фабрики. Под каждой частью написано, в какой инструмент она входит, если берёшь по отдельности.
Ниша с деньгами, а не с надеждой
Агент снимает живой чарт выручки по категориям и ищет миллионника. В нише обязан быть кто-то с миллионом долларов в месяц, иначе там нет кошелька. Потом проверяет, что механика не повторяет твои приложения, что имя свободно в iTunes Search и что идею не заменяет ChatGPT. На выходе от трёх до пяти кандидатов со скорингом по 13 баллам и прямым вердиктом.
# candidates.md · 2026-08-27 · день 29 Гейты каждого кандидата ✓ миллионник с НАШИМ кошельком (IAP или подписка, ≥$1M/мес) ✓ механика вне registry.json и live-списка ASC ✓ реализуемо за день без сервера и без базы контента ✓ ценность НЕ заменяется ChatGPT ✓ владелец может проверить сам Скоринг (макс 13) · миллионник 0/2 · спрос 0/2 · конкуренты 0/2 монетизация 0/2 · за день 0/2 · уникальность 0/2 · сезон 0/1
Одна страница вместо ТЗ на сорок
concept.md строгого формата. Имя с проверкой коллизий и длиной под лимит, подзаголовок, bundle, категория с ротацией, монетизация с product id и ценами, бесплатный слой, список MVP-фич, направление дизайна. Всё, что нужно агенту, чтобы начать писать код, и ничего сверх.
# concept.md · 2026-07-17 Имя MoneyRewind: What If Invested (29 символов) itunes search «money rewind» · коллизий нет «timevest» отклонён, занято Subtitle Invest time machine & growth (28) Bundle com.migunov.moneyrewind Категория Finance, secondary Education Paywall сразу после онбординга + локи Pro-фич IAP pro.yearly $29.99, триал 3 дня · pro.weekly $4.99 Free 3 актива, разовое вложение, карточки с вотермарком
Окно Xcode не открывается ни разу
new-app.sh создаёт проект из project.yml через xcodegen и сразу проверяет сборкой на симулятор. iOS 17, SwiftUI, ни одной внешней зависимости, StoreKit 2 с Restore Purchases, флаг экспортного шифрования уже выставлен, иконка по правилам с обводкой суперэллипсом. Архив, cloud signing по ключу ASC без локального сертификата и загрузка билда одной командой.
$ bin/new-app.sh moneyrewind "MoneyRewind" com.migunov.moneyrewind ✓ xcodegen generate ✓ build Debug · iPhone 17 Pro Max · warnings 0 $ xcodebuild archive … -allowProvisioningUpdates -authenticationKey … ✓ archive ✓ export ✓ upload → build 1 · Processing → VALID · 27 мин
Пейволл там, где платят
Правила монетизации, которые вывел по своим продажам. Пейволл сразу после онбординга, там около семидесяти процентов покупок. Онбординг показывается при каждом запуске, пока не купили. Пейволл продолжает онбординг, а не всплывает поверх. Хард-пейволл, триал три дня, годовая и недельная подписка, Restore на виду.


195 картинок за один запуск
Сырые экраны снимаются с симулятора со статус-баром 9:41. Потом render.js через Puppeteer вставляет их в HTML-кадр 1290×2796 с заголовком на языке локали. Пять кадров на 39 локалей это 195 файлов, и они ложатся сразу в папки, которые понимает загрузчик. Каждое приложение получает свою палитру и типографику, чтобы на полке не стояли клоны. За клонов Apple снимает по 4.3.



39 локалей и пул ключей США из одиннадцати полей
App Store Connect принимает ровно 39 локалей, перебрал их живым API. Название, подзаголовок, ключи и описание пишутся под каждую. Для США собирается пул из одиннадцати индексируемых локалей, куда кладутся разные английские ключи, а не переводы, а одиннадцатое поле даёт венгерский, назначенный основным языком. Ключи добиваются до ста символов, потому что пустые символы это подаренные показы.
// config.json · два списка, не путать first_release_locales en-US en-GB de-DE fr-FR es-ES pt-BR ja ru us_indexed_locales en-US es-MX pt-BR fr-FR ru ko zh-Hans zh-Hant ar-SA vi + hu как 11-е поле через primaryLocale // заливать метадату по ОБЪЕДИНЕНИЮ списков // keywords добивать до 100 символов, US-пул без переводов
Первая отправка без реджекта 2.1
Страницы privacy, terms и support генерируются под приложение и публикуются на github-pages. Заметки ревьюеру пишутся по шаблону, демо-видео главного флоу снимается с UI-тестов и прикладывается к ревью файлом, а не ссылкой. Подписки уходят в сабмишн вместе с версией. Половина отказов 2.1 живёт ровно в этих местах.
# report.md · 2026-07-17 · оформление ✓ privacy / terms / support / index опубликованы · все 200 ✓ review details + notes + demo-url ✓ демо-видео 28с с UI-тестов · 4.0MB · приложено к ревью ФАЙЛОМ ✓ подписки yearly + weekly · READY_TO_SUBMIT · ревью-скрины загружены ✓ цены на 175 территорий с первого раза
Сорок команд к App Store Connect
asc.py это 82 килобайта Python, которые заменяют кликанье в App Store Connect. Метадата всех локалей, скрины, подписки с ценами на 175 территорий с первого раза, покупки с локализациями и скринами для ревью, категории, возрастной рейтинг, контакты ревью, тип релиза, билды, сабмит, статусы, промо-коды, A/B-тесты страницы. И список того, что API не умеет, чтобы ты заранее знал, какие два шага сделать руками.
$ python3 scripts/asc.py <команда> list-apps register-bundle app-info set-name set-subtitle set-privacy-url set-version-meta create-version upload-screenshots create-iap iap-localize iap-review-screenshot create-subscription-group create-subscription submit-subscription create-intro-offer set-category set-copyright age-rating set-content-rights set-review-details attach-review-file list-builds attach-build set-price release-type submit status experiment-create treatment-add experiment-submit …
Реджект это задача, а не катастрофа
Вотчер раз в три часа проверяет состояния ревью, при смене присылает уведомление и кладёт файл в inbox. Текст причины API не отдаёт, поэтому ты вставляешь его из Resolution Center, а плейбук классифицирует по гайдлайнам 2.1, 3.x, 4.3, 5.1.1, чинит метадату или билд, пишет ответ ревьюеру и пересабмитит. При 4.3 и юридических отказах останавливается и зовёт тебя.
# runs/inbox/2026-08-05-wisp-breathe-calm-rejected.md appId 6793895458 Состояние REJECTED · обнаружено 2026-08-05 11:53 Версии 1.0 · REJECTED Разбор класс реджекта по factory-fix (2.1 / 3.x / 4.3 / 5.x / метадата) → починка → ответ ревьюеру → пересабмит Текст ВСТАВЬ ТЕКСТ ИЗ RESOLUTION CENTER НИЖЕ
Память фабрики против клонов самого себя
registry.json хранит механики каждого приложения и чёрный список концептов. Перед новым концептом агент сверяется с ним и с живым списком ASC. Категорию повторять можно, Apple снимает за одинаковую механику и шаблон, а не за категорию. Это защита от 4.3, встроенная в первый этап, а не проверка постфактум.
// registry.json · 25 приложений · 69 записей в чёрном списке { "name": "What If Invested - MoneyRewind", "category": "Finance", "mechanics": ["invest-time-machine", "historical-what-if", "compound-projection", "share-cards"], "status": "live", "app_id": "6791767348" } // новый концепт не должен пересекаться ни с одним тегом
Кто вошёл в чарты вчера
Каждое утро в 07:30 снимаются чарты США по категориям, новички пишутся в signal-history.jsonl. Отдельные скрипты считают возраст чарта выручки (если весь топ старше десяти лет, новичку не пробиться) и скорость набора отзывов у новичков. Всё на бесплатных источниках Apple, без Sensor Tower.
// signal-history.jsonl · последняя запись { "board": "top-paid Lifestyle", "rank": 38, "name": "BingBang: Daily Companion", "rel": "2026-08-26", "first_seen": "2026-08-27 18:30" } // niche-window · медианный возраст чарта и доля моложе двух лет // niche-scan · отзывы в день у новичков через iTunes Lookup
Что проверено живьём, а что нет
Каждый прогон заканчивается report.md. Что сделано, что проверено на симуляторе глазами, какие баги поймала самопроверка, что ушло в ASC и что ждёт тебя. Агент не выдаёт неготовое за отправленное, это правило отказа в PIPELINE.md, а не пожелание.
# report.md · MoneyRewind · ночь 2026-07-17 Проверено живьём UI-тесты 2/2 · все экраны отсмотрены · данные сверены Баги самопроверки func внутри ViewBuilder · чипы в 2 строки · цифра на скрине Блокер APP_DATA_USAGES_REQUIRED · анкету App Privacy API не умеет Два шага руками App Privacy → Publish · подписки в review submission Дальше скажи «сабмить», доложу версию и отправлю
Файлы, гайд, кейсы, чат.
Всё, чем фабрика пользуется каждое утро, кроме моих ключей. Пути и Team ID вынесены в config.example.json, заполняешь один раз.
После оплаты в течение дня приходит доступ в Notion и архив с инструментами. Обновления туда же, бесплатно, весь год после покупки. Фабрика работает каждое утро, так что им есть откуда браться.
Скиллы копируются в папку скиллов твоего агента, скрипты лежат рядом с проектом, конфиг заполняется за пять минут. «Первый запуск за 30 минут» ведёт по шагам до первого list-apps.
Шесть вещей, без которых не запустится.
Это фильтр, а не мелкий шрифт. Если чего-то из списка нет, конвейер не поможет, и мне не нужны деньги за то, что не заведётся.
Mac с Xcode 26
Сборка, подпись и симулятор живут только там. Всё остальное работает где угодно.
Apple Developer
99 долларов в год. Из России нужна зарубежная карта, как это сделать, в гайде.
Ключ App Store Connect API
Создаёшь сам в ASC за две минуты. Фабрика работает на твоём ключе и публикует от твоего имени.
Claude Code
В нём конвейер прогоняется каждое утро. Codex и Cursor читают формат скиллов, но полный прогон там я пока не делал.
python3 и xcodegen
Ставятся через brew за пять минут, список в «первом запуске».
GitHub
Для страниц privacy и support на github-pages. Бесплатно.
«Хочу довести до стора»
Код ты и так пишешь с агентом. Не хватает всего остального, от ниши с деньгами до подписок на 175 территорий и ответа ревьюеру. Это и есть конвейер, ставится за вечер.
«Хочу выпускать чаще»
Знаешь цикл наизусть и тратишь на него неделю. Здесь он прогоняется за день, а твои правила ложатся в скиллы поверх моих. Реестр механик не даст наплодить клонов.
Всё сразу или по инструментам.
Разовая покупка, год обновлений входит, подписки нет. Купил инструмент, потом захотел всё, доплачиваешь разницу.
- →Все шесть инструментов и двенадцать частей выше
- →Гайд в Notion на 11 разделов, включая «как выложить приложение из России»
- →Кейсы моих реджектов с текстом Apple и починкой
- →Закрытый чат покупателей
- →Обновления в течение года
Скилл разведки, aso.py, сканеры чартов, реестр механик, формат концепта.
КупитьСкилл сборки, шаблон project.yml, new-app.sh, правила онбординга, пейволла и иконки.
Купитьrender.js, HTML-кадры под локали, техника 3D-телефона, правила иконок.
КупитьПравила метадаты, пул ключей США, конфиг локалей, aso_apply.py.
Купитьasc.py на 40 команд, страницы privacy и support, чеклист первой отправки.
КупитьСкилл разбора реджектов, вотчер ревью, кейсы моих реджектов с починкой.
КупитьРазбор твоей ниши и идеи, стратегия запуска и монетизации, настройка фабрики под твой случай. Запись остаётся у тебя.
ЗаписатьсяВеду проект целиком, от идеи до публикации на твоём аккаунте, сопровождаю до одобрения. Цена после короткого разговора.
ОбсудитьОплата картой любой страны через lava.top, российской картой по запросу в Telegram. Доступ приходит в течение дня. Для публикации нужен свой Apple Developer и ключ ASC, фабрика работает на твоих ключах и публикует от твоего имени.
Вопросы, которые задают до покупки.
Восемь приложений в сторе. Девятое может быть твоим.
Конвейер, гайд, кейсы и чат. Разово, с обновлениями на год.