Как обновлять Go-код с ИИ без устаревших приёмов
JetBrains go-modern-guidelines подбирает рекомендации под версию Go в проекте. Благодаря этому ИИ-агент не предложит API, которого ещё нет в вашей сборке.
Команда
В проверке на main.go объёмом 1039 строк инструмент помог заметить самописный поиск подстроки, который заменяется на
#инструменты
JetBrains go-modern-guidelines подбирает рекомендации под версию Go в проекте. Благодаря этому ИИ-агент не предложит API, которого ещё нет в вашей сборке.
Команда
list находит версию в go.mod или go.work и выдаёт краткий список доступных правил. Затем explain раскрывает выбранные пункты с примерами до и после. Такой порядок экономит контекст: для Go 1.24 автор получил 45 рекомендаций, но подробно запросил только шесть.В проверке на main.go объёмом 1039 строк инструмент помог заметить самописный поиск подстроки, который заменяется на
strings.Contains. Заодно правила предупреждают о нюансах: например, cmp.Or вычисляет все аргументы, поэтому дорогие функции в него лучше не передавать без проверки.#инструменты
❤1
Как проверить чужую ветку через Git worktree
Git worktree создаёт для ветки отдельный рабочий каталог. Можно запустить тесты и изучить изменения коллеги, не пряча свои незавершённые правки в stash, не переключая текущую ветку и не клонируя репозиторий заново.
Сначала обновите ссылки на удалённые ветки, затем создайте каталог для ревью:
Такой каталог откроется с detached HEAD: он подходит для чтения кода и тестов, но новые коммиты не будут привязаны к ветке. Если проверка переросла в доработку, выполните
После ревью удалите каталог командой
Git worktree создаёт для ветки отдельный рабочий каталог. Можно запустить тесты и изучить изменения коллеги, не пряча свои незавершённые правки в stash, не переключая текущую ветку и не клонируя репозиторий заново.
Сначала обновите ссылки на удалённые ветки, затем создайте каталог для ревью:
git fetch origin
git worktree add ../review-123 origin/feature/some-branch
Такой каталог откроется с detached HEAD: он подходит для чтения кода и тестов, но новые коммиты не будут привязаны к ветке. Если проверка переросла в доработку, выполните
git switch -c review/fix-123.После ревью удалите каталог командой
git worktree remove ../review-123. Практический разбор Git worktree также объясняет создание рабочих веток, обновление через rebase или merge и безопасную очистку каталогов.Как сохранить работу при обрыве SSH с помощью tmux
tmux сохраняет терминальную сессию на сервере и делит одно окно на несколько панелей. Запустите именованную сессию командой
Чтобы отключиться, нажмите
Панели создаются сочетаниями
Готовая конфигурация и команды tmux также охватывают работу с окнами, прокрутку вывода, мышь и запуск заранее собранных раскладок.
tmux сохраняет терминальную сессию на сервере и делит одно окно на несколько панелей. Запустите именованную сессию командой
tmux new -s work: даже после разрыва SSH запущенная в ней задача продолжит выполняться.Чтобы отключиться, нажмите
Ctrl+b, отпустите клавиши и нажмите d. Вернуться можно командой tmux attach -t work. Список активных сессий покажет tmux ls.Панели создаются сочетаниями
Ctrl+b % для деления слева направо и Ctrl+b " для деления сверху вниз. Так в одном рабочем пространстве помещаются основная команда, логи и системный мониторинг.Готовая конфигурация и команды tmux также охватывают работу с окнами, прокрутку вывода, мышь и запуск заранее собранных раскладок.
⚡1
Nebula ArchRules: общие архитектурные проверки для JVM-проектов
Nebula ArchRules переносит правила ArchUnit из JUnit-тестов одного репозитория в любое число Gradle-проектов. Это пригодится командам, которым нужно одинаково отслеживать запрещённые зависимости и неправильное использование API.
ArchUnit анализирует скомпилированный байткод, поэтому одно правило работает для Java, Kotlin и Scala. Правила пишутся на Java через типобезопасный API, собираются в отдельный JAR-файл и могут поставляться вместе с библиотекой. Тогда плагин запускает их только для тех наборов исходников, где эта библиотека подключена.
Разбор устройства Nebula ArchRules показывает и практический сценарий Netflix: искать обращения к устаревшим, экспериментальным и внутренним API во множестве репозиториев. Результаты выводятся в консоль или JSON, а порог ошибки сборки можно настроить по приоритету нарушения.
Nebula ArchRules переносит правила ArchUnit из JUnit-тестов одного репозитория в любое число Gradle-проектов. Это пригодится командам, которым нужно одинаково отслеживать запрещённые зависимости и неправильное использование API.
ArchUnit анализирует скомпилированный байткод, поэтому одно правило работает для Java, Kotlin и Scala. Правила пишутся на Java через типобезопасный API, собираются в отдельный JAR-файл и могут поставляться вместе с библиотекой. Тогда плагин запускает их только для тех наборов исходников, где эта библиотека подключена.
Разбор устройства Nebula ArchRules показывает и практический сценарий Netflix: искать обращения к устаревшим, экспериментальным и внутренним API во множестве репозиториев. Результаты выводятся в консоль или JSON, а порог ошибки сборки можно настроить по приоритету нарушения.
Delta и fzf: Git-диффы с посимвольной подсветкой и меню файлов
Delta оформляет вывод
Скрипт
В настройке Delta и готовом скрипте gd есть конфигурация Git и важная оговорка: при переносе скрипта без авторских dotfiles к fzf нужно добавить флаг
Delta оформляет вывод
git diff, git show, git add -p и git blame: изменения внутри строк выделяются двумя оттенками, поэтому при ревью легче заметить отдельные исправленные символы.Скрипт
gd добавляет меню fzf для переключения между изменёнными файлами. Аргументы передаются напрямую в git diff: gd --staged показывает подготовленные к коммиту изменения, gd main.. сравнивает текущую ветку с main, а флаг --side включает просмотр бок о бок.В настройке Delta и готовом скрипте gd есть конфигурация Git и важная оговорка: при переносе скрипта без авторских dotfiles к fzf нужно добавить флаг
--ansi.❤1🫡1
Как фильтровать JSON в терминале с jq
jq — утилита командной строки для фильтрации и преобразования JSON. Она принимает файл или вывод другой команды, поэтому ответ API можно обработать прямо в конвейере shell-скрипта.
Фильтр
Флаг
jq — утилита командной строки для фильтрации и преобразования JSON. Она принимает файл или вывод другой команды, поэтому ответ API можно обработать прямо в конвейере shell-скрипта.
Фильтр
.servers[] перебирает объекты массива, select(...) оставляет подходящие, а {hostname: .hostname} собирает новый объект из нужных полей. Шаги соединяются оператором |, поэтому цепочку можно проверять по частям.Флаг
-r выводит строки без кавычек, чтобы сразу передать их другой команде. Примеры фильтрации и преобразования JSON также охватывают сортировку, группировку, переменные и обработку отсутствующих полей.Как найти источник расхода памяти в живом Python-процессе с Memray
Memray подключается к запущенному Python-процессу без перезапуска приложения и записывает выделения памяти, включая операции в расширениях на C и нативных библиотеках. Установка:
В контейнере найдите PID процесса и запустите
Для подключения нужен Python 3.7 или новее. В Kubernetes контейнеру также может потребоваться разрешение
Memray подключается к запущенному Python-процессу без перезапуска приложения и записывает выделения памяти, включая операции в расширениях на C и нативных библиотеках. Установка:
pip install memray.В контейнере найдите PID процесса и запустите
memray attach <PID>. Через несколько минут остановите запись и посмотрите, какие функции расходуют больше всего памяти: memray summary даст таблицу, memray flamegraph построит граф вызовов, а memray stats покажет общую статистику.Для подключения нужен Python 3.7 или новее. В Kubernetes контейнеру также может потребоваться разрешение
SYS_PTRACE. Такой профиль помогает найти крупные выделения памяти под реальной нагрузкой, когда проблема не воспроизводится локально.✍1
Как настроить Ruff для единых проверок в VS Code и терминале
Ruff форматирует Python-код, проверяет его по правилам и сортирует импорты. Это разные операции:
Правила храните в
Последовательная настройка Ruff связывает сохранение файла с теми же командами, которые запускаются в терминале:
Ruff форматирует Python-код, проверяет его по правилам и сортирует импорты. Это разные операции:
ruff format меняет оформление, а ruff check находит нарушения, включая неиспользуемые импорты. Проверку типов при этом можно оставить Pylance.Правила храните в
pyproject.toml, а расширению charliermarsh.ruff укажите исполняемый файл из проектного окружения через ruff.path. Для macOS, Linux и WSL это .venv/bin/ruff, для Windows: .venv/Scripts/ruff.exe. Конфликтующие действия Black и isort при сохранении стоит отключить.Последовательная настройка Ruff связывает сохранение файла с теми же командами, которые запускаются в терминале:
uv run --locked ruff format, ruff check и ruff check --fix. Так редактор и командная строка используют одну версию Ruff и один набор правил.❤1✍1
oyui: выбираем фрагменты диффа при jj split с подсветкой
oyui — терминальный редактор диффов для Jujutsu. Он помогает выбирать изменения при выполнении
Инструмент развивает идеи scm-record, встроенного в jj интерфейса для команд
Установка:
oyui — терминальный редактор диффов для Jujutsu. Он помогает выбирать изменения при выполнении
jj split: показывает код в цвете, подсвечивает синтаксис и позволяет выделять сразу группы фрагментов.Инструмент развивает идеи scm-record, встроенного в jj интерфейса для команд
split, restore и resolve. oyui стоит попробовать, если при разборе крупных диффов стандартному интерфейсу не хватает наглядности и группового выделения.Установка:
cargo install oyui. В обзоре инструментов для jj также собраны альтернативные редакторы диффов и другие дополнения к Jujutsu.André.Arko.net
Beyond jj: config & tools ecosystem
This post was originally given as a talk at JJ Con 2026. The slides are also available.
Hello! Welcome to “beyond jj”, where we’re going to take a look at the jj ecosystem: commands, configurations, and tools made to work with jj. It’s partly a follow-up…
Hello! Welcome to “beyond jj”, where we’re going to take a look at the jj ecosystem: commands, configurations, and tools made to work with jj. It’s partly a follow-up…
❤1
Как настроить модель в SolonCode через веб-интерфейс
SolonCode подключает модель к агенту без ручного редактирования
В разделе Models укажите адрес API, ключ, модель, размер контекста и тайм-аут. Перед сохранением запустите Test Connection, чтобы проверить ключ, адрес и прокси. После сохранения модель появится в чате без перезапуска.
Настройки можно сохранить для всех проектов или локально в
SolonCode подключает модель к агенту без ручного редактирования
settings.json. Запустите soloncode web 0 из каталога проекта: инструмент откроет браузер и сделает этот каталог рабочей областью.В разделе Models укажите адрес API, ключ, модель, размер контекста и тайм-аут. Перед сохранением запустите Test Connection, чтобы проверить ключ, адрес и прокси. После сохранения модель появится в чате без перезапуска.
Настройки можно сохранить для всех проектов или локально в
.soloncode/settings.json. API-ключ в репозиторий добавлять нельзя. Полный путь от установки до первой задачи❤1
git-cliff: как собрать список изменений из истории Git
git-cliff генерирует файл со списком изменений по истории Git. Для разбора сообщений коммитов он поддерживает Conventional Commits, соглашение об их формате, и собственные правила на основе регулярных выражений, которые находят заданные текстовые шаблоны.
Например, для проекта можно настроить формат списка изменений через конфигурационный файл: шаблон определяет, как будут выглядеть записи. Это позволяет подготовить CHANGELOG в нужном оформлении.
В репозитории git-cliff описаны способы разбора коммитов и настройки шаблона, а также собраны ссылки на документацию по установке, использованию и конфигурации.
#git #автоматизация
git-cliff генерирует файл со списком изменений по истории Git. Для разбора сообщений коммитов он поддерживает Conventional Commits, соглашение об их формате, и собственные правила на основе регулярных выражений, которые находят заданные текстовые шаблоны.
Например, для проекта можно настроить формат списка изменений через конфигурационный файл: шаблон определяет, как будут выглядеть записи. Это позволяет подготовить CHANGELOG в нужном оформлении.
В репозитории git-cliff описаны способы разбора коммитов и настройки шаблона, а также собраны ссылки на документацию по установке, использованию и конфигурации.
#git #автоматизация
Read. Write. Edit. Bash.
Это базовый набор операций Pi — агента, на котором построен OpenClaw. Дополнительные возможности появляются через расширения: агент может написать их по запросу пользователя, перезагрузить и проверить в работе.
У такого устройства есть полезные детали:
• состояние расширений хранится в сессии;
• беседу можно разветвить для отладки и вернуться с кратким пересказом;
• инструкции и примеры помогают агенту создавать новые функции.
Армин Ронахер разбирает Pi на собственных примерах: среди расширений, созданных по его запросам, есть список задач и ревью изменений кода. Получается взгляд на выбор ИИ-инструмента через то, что пользователь может настроить в нём под свою работу.
#ии #инструменты
Это базовый набор операций Pi — агента, на котором построен OpenClaw. Дополнительные возможности появляются через расширения: агент может написать их по запросу пользователя, перезагрузить и проверить в работе.
У такого устройства есть полезные детали:
• состояние расширений хранится в сессии;
• беседу можно разветвить для отладки и вернуться с кратким пересказом;
• инструкции и примеры помогают агенту создавать новые функции.
Армин Ронахер разбирает Pi на собственных примерах: среди расширений, созданных по его запросам, есть список задач и ревью изменений кода. Получается взгляд на выбор ИИ-инструмента через то, что пользователь может настроить в нём под свою работу.
#ии #инструменты
👍1
Инструменты программиста
Read. Write. Edit. Bash. Это базовый набор операций Pi — агента, на котором построен OpenClaw. Дополнительные возможности появляются через расширения: агент может написать их по запросу пользователя, перезагрузить и проверить в работе. У такого устройства…
Какими ИИ-ассистентами и агентами вы пользуетесь? Можно выбрать несколько
Anonymous Poll
8%
GitHub Copilot
1%
Codeium
46%
Claude Code
23%
Gemini
48%
ChatGPT
4%
GigaCode (Сбер)
2%
Yandex Code Assistant
29%
DeepSeek
5%
Hermes Agent
12%
Другое (напишу в комментариях)
От чатбота к агентам: опыт Митчелла Хашимото
Для работы с кодом Хашимото перешёл от отдельного чата к агенту, который читает файлы проекта и запускает программы. После этого начал повторять собственную работу: сначала решал задачу сам, затем давал её агенту без готового решения.
Так он выяснял, какие задачи можно поручать ИИ. Дальше добавлял инструкции в AGENTS.md, файл с правилами проекта, и способы проверить изменения, включая запуск тестов.
В истории освоения ИИ в разработке Хашимото связывает выбор задач с настройкой рабочего окружения. Отдельные чаты при этом остались в его повседневной работе.
#ии #инструменты
Для работы с кодом Хашимото перешёл от отдельного чата к агенту, который читает файлы проекта и запускает программы. После этого начал повторять собственную работу: сначала решал задачу сам, затем давал её агенту без готового решения.
Так он выяснял, какие задачи можно поручать ИИ. Дальше добавлял инструкции в AGENTS.md, файл с правилами проекта, и способы проверить изменения, включая запуск тестов.
В истории освоения ИИ в разработке Хашимото связывает выбор задач с настройкой рабочего окружения. Отдельные чаты при этом остались в его повседневной работе.
#ии #инструменты
❤1☃1
Инструменты программиста
От чатбота к агентам: опыт Митчелла Хашимото Для работы с кодом Хашимото перешёл от отдельного чата к агенту, который читает файлы проекта и запускает программы. После этого начал повторять собственную работу: сначала решал задачу сам, затем давал её агенту…
Где вы чаще всего работаете с ИИ-инструментом?
Anonymous Poll
33%
В отдельном окне чата или веб-версии
21%
Прямо в редакторе кода
26%
В терминале
2%
Через корпоративные сервисы или платформы
18%
По-разному, зависит от того, что нужно сделать
Как найти самые большие файлы в Zsh
Zsh умеет отбирать и сортировать файлы по размеру прямо в шаблоне поиска. Команда
Адам Джонсон на примере репозитория Django разбирает синтаксис этих квалификаторов, то есть правил отбора и сортировки после шаблона. Есть и пример поиска Python-файлов больше 150 КиБ. Такой список поможет выбрать, какие крупные файлы изучить перед очисткой репозитория.
#терминал #инструменты
Zsh умеет отбирать и сортировать файлы по размеру прямо в шаблоне поиска. Команда
du -h **/*(.OL[1,5]) покажет занятое место для пяти самых больших обычных файлов в текущем каталоге и подкаталогах. Точка исключает каталоги, OL сортирует файлы по убыванию размера, а [1,5] оставляет первые пять результатов.Адам Джонсон на примере репозитория Django разбирает синтаксис этих квалификаторов, то есть правил отбора и сортировки после шаблона. Есть и пример поиска Python-файлов больше 150 КиБ. Такой список поможет выбрать, какие крупные файлы изучить перед очисткой репозитория.
#терминал #инструменты
Поиск и замена кода по структуре с ast-grep
ast-grep ищет код по синтаксической структуре: вместо совпадений текста, как у grep, сопоставляет узлы дерева, представляющего устройство кода. Шаблон выглядит как обычный код, а метапеременная
Например, можно найти в TypeScript проверку значения перед его вызовом. Пробелы и переносы строк не мешают совпадению:
В Linux имя sg может быть занято системной командой; тогда используйте ast-grep вместо sg.
В README есть установка, примеры поиска и замены кода, а также описание собственных правил проверки в YAML. Это пригодится, если нужно находить повторяющиеся конструкции или менять код при обновлении библиотеки.
#инструменты #cli
ast-grep ищет код по синтаксической структуре: вместо совпадений текста, как у grep, сопоставляет узлы дерева, представляющего устройство кода. Шаблон выглядит как обычный код, а метапеременная
$A обозначает один узел этого дерева.Например, можно найти в TypeScript проверку значения перед его вызовом. Пробелы и переносы строк не мешают совпадению:
sg run -p '$A && $A()' -l ts
В Linux имя sg может быть занято системной командой; тогда используйте ast-grep вместо sg.
В README есть установка, примеры поиска и замены кода, а также описание собственных правил проверки в YAML. Это пригодится, если нужно находить повторяющиеся конструкции или менять код при обновлении библиотеки.
#инструменты #cli
👍1🐳1
bat: просмотр кода в терминале с подсветкой синтаксиса
bat выводит содержимое файлов с подсветкой синтаксиса, номерами строк и пометками изменений относительно индекса Git, то есть версии, подготовленной к коммиту. Если текст не помещается на экран, утилита по умолчанию открывает его в программе для постраничного просмотра.
Конкретный сценарий: предпросмотр файлов при поиске через fzf. Опция
В руководстве bat есть готовая команда для fzf, способы установки и примеры работы с файлами. При передаче вывода другой программе bat автоматически отдаёт чистое содержимое без номеров строк и пометок.
#инструменты #терминал
bat выводит содержимое файлов с подсветкой синтаксиса, номерами строк и пометками изменений относительно индекса Git, то есть версии, подготовленной к коммиту. Если текст не помещается на экран, утилита по умолчанию открывает его в программе для постраничного просмотра.
Конкретный сценарий: предпросмотр файлов при поиске через fzf. Опция
--line-range=:500 ограничивает вывод первыми 500 строками, чтобы сократить время загрузки длинных файлов. А --color=always сохраняет цветную подсветку в предпросмотре.В руководстве bat есть готовая команда для fzf, способы установки и примеры работы с файлами. При передаче вывода другой программе bat автоматически отдаёт чистое содержимое без номеров строк и пометок.
#инструменты #терминал
⚡1❤1
Для нового сервиса нужны репозиторий, ресурсы, сборка, тесты, доступы и мониторинг. Для каждого аспекта нужна была своя заявка и существовала отдельная очередь. В VK всё это свели в одну внутреннюю платформу: разработчик выбирает шаблон, получает ресурсы и сам может провести фичу от кода до запуска. Подготовка типового сервиса теперь занимает часы вместо недель.
В процесс встроены автопроверки, тесты в изолированной среде и фича-флаги. Среда ловит ошибки до релиза, а флаг позволяет включить функцию, например, для 1% пользователей и посмотреть, как она работает на реальных запросах.
Разобрали этот подход на примере ВКонтакте: какие операции автоматизировали, за что отвечает команда и с чего можно начать в своём проекте.
В процесс встроены автопроверки, тесты в изолированной среде и фича-флаги. Среда ловит ошибки до релиза, а флаг позволяет включить функцию, например, для 1% пользователей и посмотреть, как она работает на реальных запросах.
Разобрали этот подход на примере ВКонтакте: какие операции автоматизировали, за что отвечает команда и с чего можно начать в своём проекте.
Локальная модель в Bruno: подключение через Ollama и LM Studio
Bruno 4.0.0+ позволяет подключить ИИ на вашем компьютере для генерации проверок ответов API, скриптов и документации. Запросы к модели остаются на машине, помощник работает без интернета. ИИ-функции пока в бете и по умолчанию выключены.
В руководстве по подключению локальных моделей разобраны выбор модели под доступную память, запуск сервера и добавление его адреса и идентификатора модели в настройки Bruno. Ollama запускает сервер автоматически; в LM Studio его нужно включить вручную через графический интерфейс.
Для проверки подключения показаны команды, которые запрашивают список моделей у локального сервера. Небольшие модели подходят для типовых проверок, но уступают ведущим облачным моделям в сложных рассуждениях.
#инструменты #автоматизация
Bruno 4.0.0+ позволяет подключить ИИ на вашем компьютере для генерации проверок ответов API, скриптов и документации. Запросы к модели остаются на машине, помощник работает без интернета. ИИ-функции пока в бете и по умолчанию выключены.
В руководстве по подключению локальных моделей разобраны выбор модели под доступную память, запуск сервера и добавление его адреса и идентификатора модели в настройки Bruno. Ollama запускает сервер автоматически; в LM Studio его нужно включить вручную через графический интерфейс.
Для проверки подключения показаны команды, которые запрашивают список моделей у локального сервера. Небольшие модели подходят для типовых проверок, но уступают ведущим облачным моделям в сложных рассуждениях.
#инструменты #автоматизация