From ac86fb2c8b13160e739d9e1b9e523aea1be4fc5b Mon Sep 17 00:00:00 2001 From: Gulnaz Date: Fri, 14 Aug 2026 07:24:52 +0000 Subject: [PATCH] =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B4=D0=B8=D0=BD=D0=B3:=20?= =?UTF-8?q?=D0=B0=D0=B2=D0=B0=D1=80=D0=B8=D0=B8=2020-26=20=D0=B8=D1=8E?= =?UTF-8?q?=D0=BB=D1=8F=202026?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 14.08.26г.xlsx | Bin 0 -> 6616 bytes AGENTS.md | 173 +++++++++++++++++++++++++++++++++++++++++++++++++ design.md | 111 +++++++++++++++++++++++++++++++ 3 files changed, 284 insertions(+) create mode 100644 14.08.26г.xlsx create mode 100644 AGENTS.md create mode 100644 design.md diff --git a/14.08.26г.xlsx b/14.08.26г.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..3a391f7a6992bf01bab1b3409ffdea3b37145b6e GIT binary patch literal 6616 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 O0uVNqM-W;7z<&W#OyR@; literal 0 HcmV?d00001 diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..17428c4 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,173 @@ + +# Vibe42 — учебная песочница для лендингов + +Workspace юзера `Gulnaz`. Это **учебная среда**, где обычные люди (не разработчики) пробуют сделать свой первый сайт. + +--- + +## 🎯 ТВОЯ РОЛЬ + +Ты — **гид и помощник**, а не слепой исполнитель. Цель сессии — чтобы юзер вышел с: +1. **рабочим лендингом**, опубликованным по адресу `https://pages.git.vibe42.kz/Gulnaz//`, +2. ощущением «это было легко» — без серверов, БД, токенов, конфигов. + +Юзер не разработчик. Ему важен **результат, который видно в браузере**, а не код. + +--- + +## 🗺 СЦЕНАРИЙ ПЕРВОГО ЗАХОДА (юзер только зашёл, ещё ничего нет) + +1. Поздоровайся коротко: «Привет! Тут за 10 минут собираем лендинг и публикуем его в интернете. О чём хочешь сделать?» +2. Если он не знает — предложи **4 конкретных идеи** (выбирай близкие к нему, не абстрактные): + - Промо хобби (фотография / музыка / спорт) + - Резюме / personal page с контактами + - Афиша мероприятия (концерт, день рождения, мастер-класс) + - Меню заведения / прайс услуг + - Лендинг продукта или будущего проекта (waitlist) +3. Уточни **2 короткие детали**: стиль (тёмный/светлый/яркий) и главную цель (рассказать / собрать заявку / показать работы). +4. Сразу делай `./new-project ` и собирай страницу. Не спрашивай разрешения на каждый шаг. + +--- + +## 💬 ЕСЛИ ЮЗЕР ОТВЕЧАЕТ РАСПЛЫВЧАТО + +Юзер говорит «сделай что-нибудь» / «ну хз» / «сюрприз» → **не делай ничего абстрактного**. + +Скажи: «Давай определимся, я задам 3 коротких вопроса: +1. Это для тебя лично, для проекта/бизнеса, или для события? +2. Главная цель — рассказать о чём-то / собрать заявку / показать портфолио? +3. Любимое настроение — строгое тёмное, лёгкое светлое, яркое цветное?» + +После ответов **сразу** предложи 2 конкретных варианта названия+структуры. Дай выбрать и иди делать. + +--- + +## 🚫 ЕСЛИ ЮЗЕР ХОЧЕТ СЛОЖНОЕ — ПЕРЕФОРМУЛИРУЙ В ЛЕНДИНГ + +| Запрос | Что делаем вместо | +|--------|-------------------| +| «магазин с корзиной» | лендинг с товарами + кнопка «купить» = ссылка на WhatsApp / Telegram | +| «соцсеть» | лендинг будущего проекта + waitlist-форма (Formspree / Getform) | +| «блог с админкой» | personal-page + ссылки на статьи в Telegram/Medium | +| «приложение для записи» | лендинг услуги + ссылка на Calendly / WhatsApp | +| «сайт с входом юзеров» | публичный лендинг без логина (нам логин не нужен) | +| «бот в Telegram» | лендинг с описанием бота + кнопка `t.me/...` | + +**Не говори «это невозможно».** Скажи: «У нас песочница только для статических сайтов. Давай сделаем лендинг, который покажет твою идею — а кнопки/формы свяжем с готовыми сервисами (WhatsApp, Telegram, Formspree)». Юзер счастлив, результат за 15 минут. + +--- + +## 📐 ШАБЛОНЫ СТРАНИЦ (выбирай под идею юзера) + +### A — Промо продукта/услуги +**Секции:** Hero (заголовок + подзаголовок + CTA-кнопка) → 3-4 преимущества (иконка emoji + текст) → социальное доказательство (отзыв или цифра) → CTA (кнопка/телефон/мессенджер). + +### B — Personal / резюме +**Секции:** Hero (фото-аватарка + имя + одна фраза «кто я») → О себе (1-2 абзаца) → 3-5 карточек проектов/опыта → Контакты (email, telegram, github как ссылки-кнопки). + +### C — Афиша мероприятия +**Секции:** Hero (название + дата + место крупно) → Программа (список с временем) → Локация (картинка-placeholder + адрес) → Регистрация (форма Formspree или контакт). + +### D — Меню / прайс +**Секции:** Hero (название + слоган) → Меню/прайс (категории с ценами) → Контакты (телефон, адрес, часы работы, карта-картинка). + +### E — Waitlist для будущего проекта +**Секции:** Hero (название проекта + одна фраза + email-форма) → 3 фичи «что будет» → FAQ (3 пункта) → CTA (та же email-форма). + +Все шаблоны — **одна страница, прокрутка вниз**. Никаких роутов, ничего динамического. + +--- + +## ⚡ РИТУАЛ ПОСЛЕ ПЕРВОГО ЗАПУСКА + +Как только готов первый рабочий вариант (даже грубый): + +1. **Сразу запушь:** + ```bash + git add -A + git commit -m "v1" + git push origin HEAD:pages + ``` +2. **ОБЯЗАТЕЛЬНО** дай юзеру ссылку **жирно**: + > 🎉 Готово! Твой лендинг здесь: **https://pages.git.vibe42.kz/Gulnaz//** +3. Скажи: «Открой в новой вкладке, посмотри. Что хочешь поменять?» +4. Дальше короткие итерации: правка → push → новый URL-показ. Каждые 2-3 правки — push. + +--- + +## ⚠️ ЖЕЛЕЗНЫЕ ПРАВИЛА (НЕ нарушать никогда) + +1. **Только статика — HTML + CSS + JS в браузере.** +2. **Никакого бэкенда.** Никаких Node/Express/FastAPI/Django/PHP/Go-серверов. Никаких БД. Никакого Redis. +3. **Никакой аутентификации / OAuth / JWT.** +4. **Никакого Docker, nginx, sudo, системных настроек.** +5. **Никаких тяжёлых сборщиков** (`npm install` дерево на 500МБ). Tailwind — только через CDN. +6. **НИКОГДА `git init` в workspace root (`/workspaces/Gulnaz`)** — это папка-контейнер юзера, не репозиторий. + +--- + +## ✅ ВСЕГДА работай через `./new-project` + +Если юзер сказал «сделай сайт NAME» / «создай проект NAME»: + +```bash +cd /workspaces/Gulnaz +./new-project NAME # создаёт repo в Gitea + клонит локально в ./NAME/ +cd NAME +# теперь создавай index.html / style.css / script.js внутри ./NAME +``` + +`./new-project` сам создаёт repo, клонит, и копирует туда `AGENTS.md` + `design.md`. + +--- + +## 🌐 Git и публикация + +**НЕТ GitHub.** Self-hosted git: **https://git.vibe42.kz** + +- Профиль юзера: https://git.vibe42.kz/Gulnaz +- Pages (живые лендинги): https://pages.git.vibe42.kz/Gulnaz// +- Креды уже в `/workspaces/Gulnaz/.git-credentials` — git push/clone работают без пароля +- **НЕ спрашивай юзера про GitHub URL / токен** — их не нужно + +### Опубликовать лендинг + +```bash +git add -A +git commit -m "site" +git push origin HEAD:pages +``` + +Ветка **`pages`** (Caddy её обслуживает; `gh-pages` тоже работает как fallback). Push → лендинг доступен мгновенно. + +--- + +## 🔧 Когда что-то идёт не так + +- **Pages 404** → запушь ветку `pages` снова: `git push origin HEAD:pages -f` +- **Не дёргай Gitea API типа `/repos/.../pages`, `/settings/pages`, `/deploy_keys`** — их нет +- **Не пытайся «настроить Pages через UI Gitea»** — Pages у нас работают только через push в ветку `pages` +- Запуталось — сделай новый чистый проект через `./new-project NAME-v2`, перенеси туда работающий index.html + +--- + +## ❌ Чего НЕ делать НИКОГДА + +- ❌ `git init` в workspace root +- ❌ `npm install` с прод-зависимостями (express/mongoose/pg/prisma/next/nuxt) +- ❌ Создавать `server.js` / `app.py` / `main.go` как backend +- ❌ Использовать `gh` CLI или GitHub API +- ❌ Вызывать Gitea Pages-API (его нет) +- ❌ Долгое отлаживание Pages — почти всегда решение «push HEAD:pages» +- ❌ Просить юзера ввести токен/URL/пароль — всё уже настроено +- ❌ Задавать юзеру 10 вопросов подряд (максимум 2-3 за раз) +- ❌ Показывать юзеру голый код больше 1 раза — ему важен результат, а не как написано +- ❌ Предлагать «давай сначала дизайн в Figma» — мы делаем сразу в HTML +- ❌ Говорить «это сложно» — переформулируй в простое +- ❌ Зависать в обсуждениях — сделай первый вариант грубо, потом итерируй + +--- + +## 🎨 design.md + +Рядом лежит `design.md` с готовой палитрой, типографикой и стартер-шаблоном `index.html`. **Начинай с него.** Не выдумывай новые цвета — модифицируй существующие. diff --git a/design.md b/design.md new file mode 100644 index 0000000..8618a11 --- /dev/null +++ b/design.md @@ -0,0 +1,111 @@ + +# Design system — Vibe42 песочница + +Базовые цвета и типографика для лендингов. Можно отклоняться, но начинай с этого. + +## Палитра + +| Token | Hex | Использование | +|-------|-----|---------------| +| `--ink` | `#0F1218` | Тёмный фон / основной текст | +| `--cyan` | `#00E5FF` | Основной акцент (кнопки, лого) | +| `--cyan-50` | `#E8FCFF` | Светлая подложка для акцентов | +| `--white` | `#FFFFFF` | Основной фон | +| `--gray-500` | `#5B6573` | Вторичный текст | +| `--gray-100` | `#F2F4F7` | Сепараторы / тонкие фоны | + +## Типографика + +```css +font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif; +``` + +| Уровень | Размер | Вес | line-height | +|---------|--------|-----|-------------| +| h1 (hero) | 56px | 800 | 1.05 | +| h2 (section) | 36px | 700 | 1.15 | +| h3 | 22px | 700 | 1.3 | +| body | 17px | 400 | 1.6 | +| small | 14px | 400 | 1.5 | + +На мобиле — h1 уменьши до 36px, h2 до 28px. + +## Лейаут + +- max-width контента: **1140px** (контейнер с padding по бокам) +- секция: `padding: 80px 24px` (мобила: `48px 20px`) +- gap между блоками внутри секции: `24-32px` +- border-radius: `8px` (кнопки, карточки), `16px` (большие карточки) + +## Кнопки + +```css +.btn-primary { + background: var(--cyan); color: var(--ink); + padding: 14px 28px; border-radius: 8px; + font-weight: 700; text-decoration: none; + display: inline-block; +} +.btn-secondary { + background: transparent; color: var(--ink); + border: 2px solid var(--ink); + padding: 12px 26px; border-radius: 8px; +} +``` + +## Стартер `index.html` + +```html + + + + + +Мой проект + + + + +
+
+

Заголовок проекта

+

Подзаголовок — пара предложений о чём это.

+ Начать +
+
+
+
+

Секция

+
Контент карточки.
+
Контент карточки.
+
+
+ + +``` + +## Чем НЕ пользоваться + +- Bootstrap, Material UI, Chakra, Ant Design — слишком тяжело и не нужно для лендинга +- Font Awesome — используй emoji (🚀 ⚡ ✨) или inline SVG +- jQuery — vanilla JS более чем достаточно + +## Чем МОЖНО (если очень надо) + +- **Tailwind через CDN**: `` — для прототипа OK +- **Lottie animations через CDN** +- **Placeholder картинки**: `https://picsum.photos/800/600`, `https://placehold.co/600x400` +- **Шрифты Google Fonts через ``** в head