2026-04-11projects/project-setup-tool.mdproject-setup-tool.md

Project Setup Tool: ритуал создания проекта, один раз и навсегда

≈ 1 минута

Каждый новый Python-проект начинается одинаково. Создаёшь папку, инициализируешь git, делаешь virtualenv, скачиваешь .gitignore, создаёшь requirements.txt, настраиваешь VS Code, пишешь ruff.toml. Если это FastAPI: ещё структуру папок, Dockerfile, docker-compose.yml. Если Telegram-бот: другая структура, другие зависимости. Если ML: Jupyter, pandas, mlflow.

Каждый раз одно и то же. Каждый раз немного по-разному, потому что не помнишь, как делал в прошлый раз.

Так появился Project Setup Tool.

Указываешь имя проекта и профиль, инструмент делает остальное. Девять шагов за несколько секунд: директория, virtualenv через uv, .gitignore с Python-шаблона с GitHub, git init, ruff.toml, файлы под конкретный профиль, настройки VS Code, установка зависимостей, открытие редактора.

uv run pst-cli my-api fastapi
uv run pst-cli ml-exp ml
uv run pst-cli my-bot telegram

Или интерактивно: запускаешь без аргументов, выбираешь из списка.

Профилей двадцать: basic, fastapi, fastapi-db, flask, streamlit, django, cli, telegram, discord, grpc, celery, scraper, data, ml, pypi, langchain, llama, mcp, lambda, pytest-plugin. Каждый разворачивает правильную структуру с нужными зависимостями, Dockerfile и README.

Есть и GUI-версия на PyQt5, для тех, кто предпочитает кликать.

uv run pst

Редактор открывается автоматически: VS Code, Cursor, Windsurf, что найдёт первым.

Самый используемый сценарий у меня это AI-профили. Когда нужно быстро попробовать идею с LangChain или поднять MCP-сервер, тратить десять минут на бойлерплейт неохота. Одна команда, и всё готово, можно писать код.

Весь ритуал превратился в одну строчку. Пустяк, но когда начинаешь новый проект раз в неделю, это ощущается.