Инструменты программиста
12.9K subscribers
1.74K photos
164 videos
4 files
2.17K links
Полезные инструменты для программистов — бесплатные и платные

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Регистрация в перечне РКН: https://tprg.ru/mX0S
Download Telegram
Как настроить Ruff для единых проверок в VS Code и терминале

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. Он помогает выбирать изменения при выполнении jj split: показывает код в цвете, подсвечивает синтаксис и позволяет выделять сразу группы фрагментов.

Инструмент развивает идеи scm-record, встроенного в jj интерфейса для команд split, restore и resolve. oyui стоит попробовать, если при разборе крупных диффов стандартному интерфейсу не хватает наглядности и группового выделения.

Установка: cargo install oyui. В обзоре инструментов для jj также собраны альтернативные редакторы диффов и другие дополнения к Jujutsu.
❤1
Как настроить модель в SolonCode через веб-интерфейс

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 #автоматизация
Read. Write. Edit. Bash.

Это базовый набор операций Pi — агента, на котором построен OpenClaw. Дополнительные возможности появляются через расширения: агент может написать их по запросу пользователя, перезагрузить и проверить в работе.

У такого устройства есть полезные детали:
• состояние расширений хранится в сессии;
• беседу можно разветвить для отладки и вернуться с кратким пересказом;
• инструкции и примеры помогают агенту создавать новые функции.

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

#ии #инструменты
👍1
От чатбота к агентам: опыт Митчелла Хашимото

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

Так он выяснял, какие задачи можно поручать ИИ. Дальше добавлял инструкции в AGENTS.md, файл с правилами проекта, и способы проверить изменения, включая запуск тестов.

В истории освоения ИИ в разработке Хашимото связывает выбор задач с настройкой рабочего окружения. Отдельные чаты при этом остались в его повседневной работе.

#ии #инструменты
❤1☃1
Как найти самые большие файлы в Zsh

Zsh умеет отбирать и сортировать файлы по размеру прямо в шаблоне поиска. Команда du -h **/*(.OL[1,5]) покажет занятое место для пяти самых больших обычных файлов в текущем каталоге и подкаталогах. Точка исключает каталоги, OL сортирует файлы по убыванию размера, а [1,5] оставляет первые пять результатов.

Адам Джонсон на примере репозитория Django разбирает синтаксис этих квалификаторов, то есть правил отбора и сортировки после шаблона. Есть и пример поиска Python-файлов больше 150 КиБ. Такой список поможет выбрать, какие крупные файлы изучить перед очисткой репозитория.

#терминал #инструменты
Поиск и замена кода по структуре с ast-grep

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. Опция --line-range=:500 ограничивает вывод первыми 500 строками, чтобы сократить время загрузки длинных файлов. А --color=always сохраняет цветную подсветку в предпросмотре.

В руководстве bat есть готовая команда для fzf, способы установки и примеры работы с файлами. При передаче вывода другой программе bat автоматически отдаёт чистое содержимое без номеров строк и пометок.

#инструменты #терминал
⚡1❤1
Для нового сервиса нужны репозиторий, ресурсы, сборка, тесты, доступы и мониторинг. Для каждого аспекта нужна была своя заявка и существовала отдельная очередь. В VK всё это свели в одну внутреннюю платформу: разработчик выбирает шаблон, получает ресурсы и сам может провести фичу от кода до запуска. Подготовка типового сервиса теперь занимает часы вместо недель.

В процесс встроены автопроверки, тесты в изолированной среде и фича-флаги. Среда ловит ошибки до релиза, а флаг позволяет включить функцию, например, для 1% пользователей и посмотреть, как она работает на реальных запросах.

Разобрали этот подход на примере ВКонтакте: какие операции автоматизировали, за что отвечает команда и с чего можно начать в своём проекте.
Локальная модель в Bruno: подключение через Ollama и LM Studio

Bruno 4.0.0+ позволяет подключить ИИ на вашем компьютере для генерации проверок ответов API, скриптов и документации. Запросы к модели остаются на машине, помощник работает без интернета. ИИ-функции пока в бете и по умолчанию выключены.

В руководстве по подключению локальных моделей разобраны выбор модели под доступную память, запуск сервера и добавление его адреса и идентификатора модели в настройки Bruno. Ollama запускает сервер автоматически; в LM Studio его нужно включить вручную через графический интерфейс.

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

#инструменты #автоматизация
Как подключить личный GitHub и корпоративные аккаунты к GitButler

GitButler позволяет работать с личными репозиториями GitHub и корпоративными серверами GitHub Enterprise в одном Git-клиенте. Для каждого репозитория он сохраняет свой аккаунт: при переходе между проектами вручную переключать учётные данные не нужно.

В руководстве по подключению аккаунтов показаны вход через код подтверждения в браузере и подключение с токеном доступа. Для Enterprise понадобятся адрес API сервера и токен именно этого сервера.

Отдельно разобрана блокировка корпоративного сервера сетевой политикой GitButler: нужные адреса добавляют в поле extraCsp файла настроек, затем перезапускают клиент. Учётные данные хранятся локально, в зашифрованном виде в системном хранилище ключей.

#git #инструменты
Команды Git для восстановления коммитов и переноса изменений

Git позволяет отменить локальный коммит, найти потерянный и перенести изменения без нового коммита. В подборке команд под рабочие задачи разобраны эти сценарии и управление отложенными изменениями.

git reset --soft HEAD~1 отменяет последний коммит, сохраняя изменения подготовленными к следующему. Для уже отправленных и общих коммитов источник рекомендует git revert. Через git reflog можно найти хеш потерянного коммита и создать от него ветку.

Флаг -n у git cherry-pick переносит изменения без создания коммита, чтобы вы могли их доработать. Для stash, временно сохранённых изменений, показаны именование и выборочное применение с сохранением записи или её удалением.

#git #терминал
💯1
Forwarded from Нейроканал
Showboat и Rodney помогают показать работу ИИ-агента

Саймон Уиллисон собирает демонстрации кода с помощью двух своих инструментов. Showboat выполняет команды и записывает их вывод в документ. Rodney управляет Chrome из командной строки и делает скриншоты интерфейса.

uvx showboat --help

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

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

#ии #инструменты
git range-diff: проверка изменений в коммитах после rebase

Команда git range-diff сравнивает серии коммитов до и после переноса ветки на новую базу. Одинаковые сообщения в git log не гарантируют, что код сохранился: ручное разрешение конфликта становится частью переписанного коммита.

В воспроизводимом упражнении с тремя коммитами при разрешении конфликта намеренно меняют вычитание x.patch - y.patch на y.patch - x.patch. Ошибка оказывается в коммите про оформление кода.

Разбор показывает, как сохранить исходную ветку командой git branch before-rebase и прочитать результат сравнения: знак = отмечает совпавшие изменения, ! указывает на различия. Два уровня знаков в выводе помогают найти случайную правку внутри изменённого коммита.

#git #инструменты
Forwarded from Типичный программист
🧑‍💻 Какие навыки помогают вам в разработке в 2026 году?

Что вы чаще используете в работе? В каких задачах помогает ИИ, а где проще справиться самостоятельно?

Мы решили собрать портрет современного разработчика — и приглашаем вас поделиться своим опытом. Расскажите, какие навыки вам пригодились и как вы используете ИИ. Если обходите его стороной, нам тоже интересно узнать почему.

Опрос анонимный и займёт около 5 минут. Результаты опубликуем в общем большом исследовании.

👉 Пройти опрос
Шпаргалка по GitHub Copilot CLI: история диалога, каталоги и экспорт сессий

GitHub Copilot CLI позволяет управлять работой ИИ-помощника в терминале командами с префиксом /. Для очистки истории или смены рабочего каталога не нужно каждый раз писать запрос обычным текстом.

Если Copilot ссылается на прошлую задачу, /clear удалит историю текущего диалога. Команда /cwd покажет рабочий каталог, а с указанным путём сменит его. Через /list-dirs можно проверить, к каким директориям у помощника есть доступ.

В шпаргалке с примерами команд и их вывода есть и экспорт: /share file сохраняет историю сессии в Markdown-файл, чтобы передать коллеге ход работы или приложить его к обсуждению задачи.

#cli #инструменты
👍1