Назад к списку кейсов

Dev Platform

Внутренняя среда отдела разработки: рабочие сессии в изолированных окружениях, доски задач с учётом времени и полноценная работа с любого устройства.

Введение:

Началось всё с бытового неудобства. Я не хотел таскать с собой громоздкий ноутбук и искал способ писать код с телефона.

Пробовал эмуляции линукса на Android, ставил code-server. Работать в браузере получалось, но это был не полный цикл: без плагинов и половины возможностей настоящего редактора дальше правки пары файлов дело не шло.

Параллельно менялась сама разработка — всё больше работы уходило в генерацию под моим контролем. А потом у меня появился собственный сервер. И вопрос сложился окончательно: как работать с любого устройства, ничего на него не устанавливая.


Ход работы:

Первая версия — терминал в браузере. Сначала я собрал её на готовых библиотеках, потом ушёл в собственную реализацию: чужие решения упирались в потолок ровно там, где начиналось интересное. В мае 2026 переписал всё на Laravel и Vue — эта версия прожила неделю в параллель со старой, на одном сервере, чтобы можно было сравнить и откатиться.

Дальше понадобился командный контур. Инструмент, который я делал под себя, оказался нужен не только мне. С этого момента терминал перестал быть продуктом и стал одной из частей платформы.

Терминал здесь не самоцель. Вся работа идёт через CLI-агентов: у нас взято за дисциплину разворачивать под проект нормальную агентскую систему — с ролями, регламентом проверки и собственным каноном. Живёт такая система в командной строке, а значит терминалов много, они долгие и их надо где-то держать. Отсюда и сессии, и сплиты, и всё остальное вокруг них.

Сессии вместо терминала. Рабочая сессия живёт в отдельном контейнере на уровне операционной системы: своя файловая система, свои процессы, свои лимиты памяти и диска. Не папка с проектом, а самостоятельная машина. Сосед не дотянется, даже если захочет.

Рабочие сессии Dev Platform: окружение, проект, владелец и последняя активность
Личные и командные окружения: статусы, точки входа, последняя активность.
Живая сессия Dev Platform: агент работает, вывод идёт в реальном времени
Живая сессия: агент работает, вывод идёт в реальном времени.

Работа с файлами. Дерево проекта, редактор, поиск. Вместе с сессиями это и закрыло исходную задачу — сейчас связка файлов и терминала заменяет редактор с плагинами, причём в более широком виде. До этого проект дорос не сразу.

Редактор кода Dev Platform: дерево файлов, вкладки и подсветка синтаксиса
Дерево файлов, вкладки открытых файлов и редактор с подсветкой.
Режим сплита в Dev Platform: два файла открыты рядом
Сплит: два файла рядом в одном окне.
Markdown-редактор Dev Platform: слева исходник, справа рендер
Markdown: слева исходник, справа рендер — правки видно сразу.
Карта связей проекта в Dev Platform: граф узлов базы, бэкенда и фронтенда
Карта связей проекта: 500 узлов графа из 2123 в кадре.
Схема проекта в Dev Platform: список таблиц и панель выбранного узла
Листинг схемы: таблицы базы, справа — миграции и модель выбранной.
Поиск по индексу проекта в Dev Platform: миграции, модели и контроллеры в одном списке
Поиск по индексу: миграции, методы и контроллеры в одной выдаче.

Канбан разработки. Доски задач с учётом времени, командные разделы, разграничение доступа. То, без чего инструментом нельзя пользоваться каждый день вдвоём и больше.

Доска задач Dev Platform на телефоне
Доска: колонки прокручиваются по горизонтали, карточка открывается на весь экран.
Раздел задач Dev Platform: доски, сгруппированные по разделам
Доски задач, сгруппированные по разделам команды.
Канбан-доска Dev Platform: колонки по стадиям, карточки с приоритетом и исполнителем
Доска в работе: колонки по стадиям, у карточек приоритет и исполнитель.
Канбан-доска Dev Platform: метка присутствия в карточке, аватары исполнителей, счётчики по колонкам
Присутствие: видно, кто сейчас в карточке и сколько времени на неё ушло.
Аналитика задач Dev Platform: график закрытых задач по дням
Аналитика: закрыто за день и накопительная кривая по всем доскам.

Автоматизация. С августа задачи из канбана подхватывает бот: берёт карточку из нужной колонки, поднимает сессию, кладёт в неё техническое задание и ведёт до результата. Отдельным шагом выносится вердикт готовности — «сделано» не наступает само по себе. К карточке прикладывается снимок состояния, уведомление уходит в мессенджер.

Карточка задачи Dev Platform: колонка, приоритет, исполнитель, чек-лист и вложения
Карточка: описание, чек-листы, вложения, обсуждение — и задание для агента.
Панель бота Devy в Dev Platform: привязка к доске и окружению, журнал событий
Панель бота: привязка к доске и окружению, журнал его шагов по задаче.

Отдельно про проверку, потому что это главное в такой работе. Беда генерации не в поломанном коде — поломанный код видно сразу. Беда в правдоподобном результате с выдуманным обоснованием. Поэтому проверка здесь не добрая воля исполнителя, а обязательный этап.

Один раз пришлось всё восстанавливать. В июне умер диск сервера. Платформа поднялась из бэкапов за сутки.


Результат:

Платформа в работе с июня 2026 года. Сейчас на ней шесть команд — разработка, продакты и смежные отделы. У каждой свой контур, плюс личные среды, которые запускаются и гасятся по мере надобности.

Внутри: сессии в изолированных окружениях, файлы, редактор, доски задач, автоматизация, бэкапы, квоты. Снаружи — одна ссылка в браузере. Телефон подходит.

Исходная задача, с которой всё начиналось, решена по дороге: работать можно с любого устройства.


Моя роль:

Проект мой целиком — идея, архитектура, код. Все версии, от первого терминала до нынешней платформы, писал я.


Стек:

Laravel · PHP 8.3 · PostgreSQL 18 · Redis · Vue 3 · TypeScript · Incus · WebSocket