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


Ход работы:
Первая версия — терминал в браузере. Сначала я собрал её на готовых библиотеках, потом ушёл в собственную реализацию: чужие решения упирались в потолок ровно там, где начиналось интересное. В мае 2026 переписал всё на Laravel и Vue — эта версия прожила неделю в параллель со старой, на одном сервере, чтобы можно было сравнить и откатиться.
Дальше понадобился командный контур. Инструмент, который я делал под себя, оказался нужен не только мне. С этого момента терминал перестал быть продуктом и стал одной из частей платформы.
Терминал здесь не самоцель. Вся работа идёт через CLI-агентов: у нас взято за дисциплину разворачивать под проект нормальную агентскую систему — с ролями, регламентом проверки и собственным каноном. Живёт такая система в командной строке, а значит терминалов много, они долгие и их надо где-то держать. Отсюда и сессии, и сплиты, и всё остальное вокруг них.
Сессии вместо терминала. Рабочая сессия живёт в отдельном контейнере на уровне операционной системы: своя файловая система, свои процессы, свои лимиты памяти и диска. Не папка с проектом, а самостоятельная машина. Сосед не дотянется, даже если захочет.




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






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





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


Отдельно про проверку, потому что это главное в такой работе. Беда генерации не в поломанном коде — поломанный код видно сразу. Беда в правдоподобном результате с выдуманным обоснованием. Поэтому проверка здесь не добрая воля исполнителя, а обязательный этап.
Один раз пришлось всё восстанавливать. В июне умер диск сервера. Платформа поднялась из бэкапов за сутки.
Результат:
Платформа в работе с июня 2026 года. Сейчас на ней шесть команд — разработка, продакты и смежные отделы. У каждой свой контур, плюс личные среды, которые запускаются и гасятся по мере надобности.
Внутри: сессии в изолированных окружениях, файлы, редактор, доски задач, автоматизация, бэкапы, квоты. Снаружи — одна ссылка в браузере. Телефон подходит.
Исходная задача, с которой всё начиналось, решена по дороге: работать можно с любого устройства.
Моя роль:
Проект мой целиком — идея, архитектура, код. Все версии, от первого терминала до нынешней платформы, писал я.
Стек:
Laravel · PHP 8.3 · PostgreSQL 18 · Redis · Vue 3 · TypeScript · Incus · WebSocket