Проекты
Дайте Code папку. Он читает, редактирует и запускает команды только там.
Проект — это одна папка, в которой работает Code. Каждый путь разрешается с учётом символических ссылок и затем проверяется относительно этой папки, поэтому ни .., ни ссылка за пределы дерева никуда не ведут.

Что всё равно запрещено#
- Папки вроде
.ssh,.aws,.gnupg,.kube - Файлы вроде
.env,id_rsa,.pem,.npmrc,credentials - Всё, что больше 2 МБ
Любое изменение можно отменить#
Шаг, который изменил файл, показывает diff и кнопку Undo. Прежнее содержимое хранится в собственной папке Draggy, поэтому отмена работает и в папке, которая не является репозиторием. Удалённый файл отправляется в системную корзину.
Холст#
Щёлкните файл в дереве, и он откроется рядом с диалогом: файл кода в режиме редактирования или Markdown с переключателем Edit и Preview. Правки модели в том же файле попадают в него по мере их появления.
Files в боковой панели показывает то же дерево на весь экран, с переименованием, открытием в проводнике и удалением рядом с редактором.
Git#
В репозитории под деревом находится полоса, которая показывает ветку, неотправленные коммиты и изменения, с кнопкой Diff у каждого файла. В панели Diff есть вкладки History и Branches, чтобы просматривать коммиты и переключать локальные ветки, не выходя из приложения. Модель читает данные через git_status, git_diff, git_log и git_branches, а добавлять в индекс, убирать из индекса и коммитить может через git_stage, git_unstage и git_commit. Эти действия, как и переключение веток, спрашивают разрешение. Инструменты чтения никогда не делают коммит или fetch и работают с отключёнными фильтрами, внешними программами для diff и fsmonitor. Команда, которую модель запускает через run_command, всё же может выполнить git commit или git fetch, если вы её одобрили.
Сводка работы#
Когда задача из нескольких шагов завершена, Draggy показывает блок со сводкой: количество созданных, изменённых и удалённых файлов.
Память проекта#
AGENTS.md или DRAGGY.md в корне проекта читается перед каждым ответом. Запишите туда то, что понадобится новому человеку: как запускать тесты, что не трогать, стиль проекта. /init составляет такой файл черновиком.