Skip to content

Как планировать проект перед кодом

Вайб-кодеры часто начинают кодить сразу — и через час ИИ уже не понимает что происходит. Правильная подготовка занимает 10–20 минут и экономит часы путаницы.

Почему нельзя просто сказать «сделай мне проект»

ИИ не знает:

  • Какую проблему решаешь
  • Какой стек использовать
  • Что уже есть
  • Какие ограничения (платный API / бесплатный тариф)

Без этого — он угадывает. Угадывает неправильно. Ты правишь. Снова неправильно. Повторяешь 10 раз.

Решение: потратить 10 минут на план — и ИИ будет работать точно с первого раза.

Три вещи перед стартом

1. Сформулируй задачу одним абзацем

Ответь на вопросы:

  • Что делает проект? (одно предложение)
  • Кто использует? (ты сам / один клиент / много пользователей)
  • Какой главный результат? (уведомление в Telegram / таблица с данными / сайт с формой)

Пример плохой постановки:

«Сделай мне бота»

Пример хорошей:

«Telegram-бот для отслеживания задач. Я один пользователь. Бот принимает задачи командой /add, хранит в SQLite, показывает список командой /list, помечает выполненными через /done. Напоминания не нужны.»

2. Выбери стек заранее

Сообщи ИИ что использовать — иначе он выберет сам (и выберет то что знает, но не то что нужно тебе).

Для типичных задач:

  • Telegram-бот → Python + aiogram 3 + SQLite (aiosqlite)
  • Веб-сайт → VitePress (документация) / Next.js (приложение) / FastAPI + HTML
  • Скрипт/автоматизация → Python + requests/httpx
  • API-интеграция → Python с конкретной библиотекой или requests

Если не знаешь — спроси ИИ отдельным сообщением: «Какой стек выбрать для [задача]? Я уже умею Python, у меня VPS».

3. Создай CLAUDE.md

CLAUDE.md — файл в корне проекта. Это инструкция для ИИ специфичная к твоему проекту. Загружается автоматически при открытии папки в Claude Code.

Минимальный шаблон:

markdown
# Project Name

## Что это
Одно предложение что делает проект.

## Стек
- Python 3.11
- aiogram 3.x (Telegram-бот)
- SQLite + aiosqlite
- systemd для деплоя

## Структура
- bot.py — точка входа
- handlers/ — обработчики команд
- db.py — работа с базой данных
- .env — токены (не трогать, не коммитить)

## Команды
- `python bot.py` — запустить
- `systemctl status my-bot` — статус на сервере

После создания скажи ИИ: «Прочитай CLAUDE.md и работай в соответствии с ним».

Структура папок с самого начала

Хаотичная структура = ИИ теряется. Договорись о структуре в начале.

Telegram-бот

my-bot/
├── CLAUDE.md
├── .env              # токены (в .gitignore)
├── .gitignore
├── requirements.txt
├── bot.py            # точка входа
├── config.py         # настройки из .env
├── handlers/
│   ├── __init__.py
│   ├── start.py      # /start
│   └── tasks.py      # /add, /list, /done
├── db.py             # база данных
└── data/
    └── .gitkeep      # папка для SQLite-файла

Python-скрипт / автоматизация

my-script/
├── CLAUDE.md
├── .env
├── .gitignore
├── requirements.txt
├── main.py
├── data/             # входные/выходные данные
└── logs/             # логи

Веб-приложение (FastAPI)

my-app/
├── CLAUDE.md
├── .env
├── .gitignore
├── requirements.txt
├── main.py           # FastAPI app
├── models.py         # схемы данных
├── database.py       # подключение к БД
├── routers/          # группы эндпоинтов
├── templates/        # HTML (если есть)
└── static/           # CSS, JS, картинки

Попроси ИИ создать структуру:

Создай структуру папок для [тип проекта].
Стек: [стек].
Создай пустые файлы и папки, добавь минимальный CLAUDE.md.

README: зачем и как

README.md — файл который видит любой кто откроет репозиторий (включая тебя через 3 месяца).

Минимум что должно быть:

  1. Что делает проект (1-2 предложения)
  2. Как запустить локально
  3. Как задеплоить на сервер
  4. Переменные окружения

Попроси ИИ написать после того как проект готов:

Напиши README.md для проекта.
Что делает: [описание]
Стек: [стек]
Как запустить: [команды из нашей работы]
Переменные .env: [список]

Итеративный подход: MVP → улучшения

Не делай всё сразу. Три фазы:

Фаза 1 — MVP (работает):

  • Только главная функция
  • Без красоты и оптимизации
  • Тестируешь сам

Фаза 2 — Продакшн (надёжно):

  • Обработка ошибок
  • Логирование
  • Деплой на сервер

Фаза 3 — Улучшения (удобно):

  • Дополнительные фичи
  • Оптимизация
  • Документация

Для каждой фазы — отдельный разговор с ИИ или ветка в git.

Чеклист перед стартом

  • [ ] Одним абзацем описана задача
  • [ ] Выбран стек
  • [ ] Создан CLAUDE.md в корне проекта
  • [ ] Создана базовая структура папок
  • [ ] .gitignore с .env, __pycache__, *.pyc, .venv, node_modules
  • [ ] Репозиторий создан на GitHub (или хотя бы git init)

После этого — начинаешь кодить. ИИ сразу понимает контекст и работает точнее.

Пример: полный старт нового бота за 15 минут

1. Создай папку my-task-bot и открой в Claude Code:
   mkdir my-task-bot && cd my-task-bot && claude

2. Скажи ИИ:
   «Создай структуру для Telegram-бота управления задачами.
   Стек: Python 3.11, aiogram 3, SQLite (aiosqlite).
   Команды: /add <задача>, /list, /done <номер>.
   Я один пользователь. Создай CLAUDE.md, структуру папок,
   .gitignore, requirements.txt с нужными пакетами.»

3. ИИ создаёт структуру. Проверяешь. Ок.

4. Скажи:
   «Теперь напиши минимальный рабочий бот.
   Токен из .env переменной BOT_TOKEN.
   Команда /start — приветствие.
   Пока без остальных команд — просто чтобы бот отвечал.»

5. Тестируешь. Работает. Коммит:
   git add -A && git commit -m "init: bot structure"

6. Продолжаешь итеративно добавлять команды.

Связанные материалы