Полный workflow от идеи до продакшена за 3 минуты — локально собрать, одной командой задеплоить на lendings.xezero.com.
node pipeline/build.js --domain=X --geo=FR --offer=Y → node pipeline/deploy.js --site=X → https://lendings.xezero.com/X/Тебе нужно решить 4 вещи:
| Параметр | Что это | Пример |
|---|---|---|
domain | Имя папки и публичный URL | luckyspin-fr.com |
geo | Гео-таргет | FRAUNZDE |
offer | Бренд-оффер из _shared/offers/ | LuckySpin · PrimaPlay · MafiaCasino |
palette | Цветовая схема | dark-gold · red-black · neon-purple · vegas-neon |
cd D:\claw\landings
node pipeline/build.js \
--domain=luckyspin-fr.com \
--geo=FR \
--offer=LuckySpin \
--palette=dark-gold \
--ref=lucky8fr.fr
→ за миллисекунды появится папка sites/luckyspin-fr.com/ с index.html (~21 КБ), картинками, SEO-обвязкой и отчётом.
cd D:\claw\landings
npm start
# открой http://localhost:3000
# жми «+ Новый лендинг», заполни форму, получи лог сборки в реальном времени
npm run demo:fr # FR LuckySpin dark-gold
npm run demo:au # AU PrimaPlay red-black
npm run demo:nz # NZ MafiaCasino neon-purple
npm run demo:de # DE LuckySpin vegas-neon
npm run demo:all # все 4 подряд
lendings.xezero.comОдин скрипт deploy.js заливает на cPanel-хостинг через Fileman API + ephemeral PHP-распаковщик (он сам себя удаляет после).
npm run deploy:site -- --site=luckyspin-fr.com
→ https://lendings.xezero.com/luckyspin-fr.com/
npm run deploy:all
npm run deploy:hub
→ https://lendings.xezero.com/ (после правки sites/_hub/index.html)
npm run deploy:tz
→ https://lendings.xezero.com/tz.html
npm run deploy:everything
tar)server3.firsthost.lv:2083 с creds из .envunpack.php через Fileman/upload_filesunpack.php?k=<random-secret> — он:
PharData (нативный PHP)Fileman/extract API в этой сборке cPanel не установлен. SSH-22 закрыт. Поэтому деплой через PHP-распаковщик. Работает быстро (~3-5 секунд на лендинг) и безопасно (одноразовый секрет, файл удаляет себя).
Если казино-бренд новый и его ещё нет в _shared/offers/:
cp _shared/offers/_TEMPLATE.json _shared/offers/MyBrand.json
Заполни:
{
"brand": "MyBrand",
"tracking": {
"type": "redirect",
"url": "https://aff.tracker.com/?c=MYBRAND&s={SUBID}"
},
"bonus": {
"main": "100% jusqu'à 500€", // FR
"main_au": "100% up to A$500", // AU
"main_de": "100% bis zu 500€", // DE
"extra": "+200 Free Spins",
"min_deposit": 20,
"currency": "EUR",
"wager": "x35",
"code": "WELCOME"
},
"license": "Curacao 8048/JAZ",
"payments": ["VISA", "Mastercard", "Skrill", "Bitcoin"],
"geos_allowed": ["FR", "AU", "NZ", "DE"],
"geos_restricted": ["US", "UK"],
"min_age": 18,
"year": 2026
}
Дальше используй --offer=MyBrand в build.js.
Без ключа — лендинги собираются с SVG-плейсхолдерами. С ключом GEMINI_API_KEY в .env или env-vars автоматом включается Gemini 3.1 Flash Image:
Стоимость: ~$0.50 за лендинг (12 картинок × $0.04). Кэш — логотипы и иконки переиспользуются между лендингами одного бренда.
npm run build && npm run deploy:site -- --site=<domain>D:\claw\landings\/home/gogetspin/public_html/lendings.xezero.com/gogetspinnpm start → localhost:3000🎰 Lendings Factory · D:\claw\landings · 39-agent crew