Работа с Ferret
Проекты и URL
Проект — это папка (обычно корень репозитория). У каждого проекта свои сохранённые URL, поэтому между локальной, dev- и продакшен-средой — один щелчок.
#Добавление проекта
- Файл → Открыть папку проекта… (⌘O / CtrlO), Добавить проект на боковой панели или Добавить проект… в меню проекта в заголовке окна.
- Выберите, откуда взять проект:
- На этом компьютере: выберите папку.
- Клонировать с GitHub / GitLab: выберите один из своих репозиториев (список берётся через ваш вход в
ghилиglab) или вставьте URL, укажите родительскую папку, и Ferret склонирует и откроет его. - Открыть по SSH: выберите хост из
~/.ssh/config. Терминал и агенты работают на удалённой машине, а ревью остаются на этом компьютере.
По умолчанию имя проекта совпадает с именем папки. Если добавить уже зарегистрированную папку, она просто откроется (на macOS и Windows пути сравниваются без учёта регистра). В меню на боковой панели проект можно Переименовать или Убрать из списка. Удаление из списка никогда не удаляет саму папку.
Терминалы открываются в папке проекта, а ревью сохраняются в <project>/.ferret/.
#Сохранение URL
- Откройте страницу во встроенном браузере.
- Нажмите + (Сохранить текущий URL) на панели браузера. Текущий URL подставится автоматически.
- Введите Название и нажмите Сохранить.
У каждого сохранённого URL есть тип в поле Что проверяем: Приложение (приложение, которое вы разрабатываете), Дизайн (Figma, Penpot, Canva, прототип) или Документ / спецификация (Google Docs, Notion, Confluence, спецификация в Markdown на GitHub, PDF). Тип определяется по URL, и его можно изменить. См. Ревью дизайна и документов, а не только кода.
Принимаются только URL http:// и https://. Для URL приложения, если оставить предложенное название, оно определяется по хосту:
| Хост | Название |
|---|---|
localhost, 127.*, ::1, 0.0.0.0, *.localhost | local |
содержит dev, develop, development | dev |
содержит stg, stage, staging | stg |
| всё остальное | prd |

#Панель целей ревью
В режиме фидбэка панель Цели ревью справа показывает всё, что можно проверить в текущем проекте. Переключение целей не останавливает запись. Показать или скрыть панель можно через Вид → Цели ревью (⌘⇧K / CtrlShiftK) или кнопкой Скрыть панель.
- Цели: сохранённые URL проекта. Под каждым — дерево страниц, которые вы посетили на этом сайте. Посещённые сайты, которые не сохранены, выводятся отдельными группами.
- Файлы: папка проекта. Файл открывается в предпросмотре (Markdown и Mermaid отображаются, прочий текст — только для чтения), так что проверять можно и документацию. Карандаш (Открыть в редакторе) открывает файл в редакторе.
Фильтр целей фильтрует цели, страницы и файлы одновременно, с тем же нечётким поиском, что и Перейти к файлу…. В списке цели переключаются клавишами ↑ ↓ Enter или 1–9. Открыть URL… открывает разовый URL, а Сохранить в URL проекта сохраняет его.
Цели берутся из projects[].urls в settings.json (см. пример). Каждой записи нужен url, launchCommand (запускается в терминале, например чтобы открыть настольное приложение) или windowMatch (окно для записи), а также может иметь purpose (app, design или doc). Выбор цели-окна делает его источником записи, поэтому во время записи это невозможно. Посещённые страницы запоминаются для каждого проекта, только на этом компьютере (не более 200).
#Открытие и переключение сред
Щёлкните сохранённый URL, чтобы открыть его. Если текущая страница относится к другому сохранённому URL, Ferret сохраняет путь, параметры запроса и хеш и меняет только origin. Например, на странице http://localhost:3000/pricing?plan=pro щелчок по prd откроет https://example.com/pricing?plan=pro.
Подсвечивается чип, соответствующий текущей странице (по самому длинному префиксу). Чтобы изменить чип или Удалить его, щёлкните по нему правой кнопкой мыши или нажмите значок карандаша. Если при открытии проекта предыдущего URL нет, загружается первый сохранённый URL.
Чипы сгруппированы по типу: сначала URL приложения, затем дизайн, затем документы, с разделителем и значком для каждого типа. При переключении на дизайн или документ (или с них) сохранённый URL открывается как есть, без переноса пути.
#Ревью дизайна и документов, а не только кода
Фидбэк не обязательно касается кода. Всё, что открывается во встроенном браузере, можно так же записать и разметить пером: дизайн в Figma или Penpot, прототип, спецификацию в Google Docs или Notion, проектный документ на GitHub, PDF. Сохраните эти URL в проекте перед ревью, рядом с local и dev.
- Откройте Изменить проект… из меню боковой панели (или нажмите + на панели браузера) и нажмите Добавить цель.
- Вставьте URL. Ссылка на
figma.comполучает тип Дизайн, а ссылка наdocs.google.comилиnotion.so— тип Документ / спецификация, с названиемFigmaилиSpec. Если тип определён неверно (например, для прототипа на вашем собственном сервере), измените его в поле Что проверяем. - Откройте цель и, если сайт этого требует, один раз войдите во встроенном браузере. Браузер сохраняет cookie между запусками, поэтому вход сохраняется.
- Записывайте как обычно: говорите, показывайте, рисуйте на дизайне или документе.
Замечания, записанные на дизайне или документе, помечаются этим типом в списке замечаний и в feedback.md, и инструкция для агента сообщает об этом. Тогда агент меняет дизайн или документ, а не код:
- Если документ находится в проекте (спецификация в Markdown, ADR), агент редактирует этот файл.
- Если отредактировать его нельзя (файл Figma, Google Doc), агент помечает замечание как Вопрос агента и указывает точное изменение, чтобы вы могли внести его сами или передать дальше.
Пример: читая спецификацию цен в Google Docs, вы обводите таблицу тарифов и говорите «тариф Pro теперь стоит 9 800 иен, а не 8 800». feedback.md указывает замечание под целью Spec с Kind: document, и агент отвечает исправленной фразой для спецификации, не трогая код страницы с ценами. Запишите спецификацию и работающее приложение в одной записи — замечания разделятся по целям, и агент сможет сначала обновить спецификацию, а затем код, который её реализует.
Несохранённые страницы на figma.com, docs.google.com, notion.so и похожих хостах тоже распознаются. Файлы в папке проекта (Markdown, Mermaid) проверяются из списка Файлы на панели Цели ревью.
Помочь с переводом этой страницы на GitHub (откроется в новой вкладке)