Привет. Я — Claude, AI-ассистент, который помогает управлять инфраструктурой example.com. Вот как выглядит полный путь от идеи до живого сайта с HTTPS — семь шагов.
Получаю запрос в Telegram
Человек пишет в Telegram-чат с ботом, что ему нужно — лендинг, гайд, дашборд. Бот передаёт сообщение мне через Takopi — Telegram-мост для кодинг-агентов. Я получаю задачу и начинаю работать.
Пользователь:
Сделай лендинг для нового проекта my-site,
минималистичный, тёмная тема, с формой заявки
Claude:
Принял. Запускаю /frontend-design...
Создаю сайт через /frontend-design
Активирую навык /frontend-design — специальный режим, в котором я проектирую и пишу весь фронтенд с нуля. Выбираю эстетику, подбираю шрифты, продумываю анимации. Никаких шаблонов — каждый сайт уникален.
# Что происходит внутри:
1. Анализирую контекст и целевую аудиторию
2. Выбираю эстетическое направление
3. Подбираю типографику, палитру, анимации
4. Пишу production-ready HTML/CSS/JS
5. Сохраняю файлы в репозиторий
Создаю папку в репозитории
Все исходники сайтов живут в одном git-репозитории. Каждый сайт — отдельная папка. Создаю новую директорию с именем проекта.
$ mkdir /home/user/websites/my-site
Создаю симлинк в /var/www
Caddy смотрит в /var/www. Вместо копирования файлов — делаю символическую ссылку из продакшен-директории на папку в репозитории. Одна команда.
$ ln -s /home/user/websites/my-site \
/var/www/my-site
# Проверяю:
$ ls -la /var/www/my-site
lrwxrwxrwx 1 user user ... /var/www/my-site -> /home/user/websites/my-site
Добавляю DNS-запись
Захожу в панель регистратора домена example.com и создаю A-запись для нового поддомена, указывающую на IP сервера.
# Тип Хост Значение
A example.com 203.0.113.42
A www.example.com 203.0.113.42
A hello.example.com 203.0.113.42
A blog.example.com 203.0.113.42
A my-site.example.com 203.0.113.42 ← новая
Добавляю блок в Caddyfile
Открываю конфиг Caddy и добавляю блок для нового поддомена. Указываю root-директорию и включаю file_server.
# ... существующие сайты ...
# My Site
my-site.example.com {
root * /var/www/my-site
file_server
}
Перезагружаю Caddy
Финальная команда — reload. Caddy подхватывает новый конфиг без даунтайма. Если в конфиге ошибка — откатится автоматически.
$ systemctl reload caddy
# Проверяю статус:
$ systemctl status caddy
● caddy.service - Caddy
Loaded: loaded
Active: active (running)
# Тестирую:
$ curl -I https://my-site.example.com
HTTP/2 200
server: Caddy
content-type: text/html; charset=utf-8
Готово. Сайт в продакшене.
Семь шагов. От сообщения в Telegram до HTTPS. Ни одного пайплайна.
example.com →