Деволлим
226 subscribers
92 photos
15 videos
99 links
Привет, я Лёша - стартапер, фулл-стэк разработчик с 15+ годами опыта.

Делюсь тем, что реально помогает - как быстрее делать MVP, как балансировать между качеством, архитектурой и тем, что «работает сейчас».

@devall
Download Telegram
Pwnagotchi: привет из детства

Перед новым годом наткнулся на видео про pwnagotchi. Штука не новая — знал о ней давно, но руки не доходили. А тут внезапно появилось желание собрать и просто поиграться (воспоминания про aircrack лет 13 назад подогревали интерес).

Начал с поиска железа: Raspberry Pi Zero 2 W, e-ink экран, аккумулятор. И довольно быстро понял — ждать долго, а вкладываться в эксперимент, который может надоесть через пару вечеров, не хочется.

Зато в ящике лежал Raspberry Pi 4 из 2020 года — обязательный артефакт любого неугомонного айтишника. Решил использовать его: без дисплея и просто с power bank.

Образ быстро прожегся через Raspberry Pi Imager, но самое интересное началось потом — настройка сети на маке, доступ по SSH, конфигурация, web UI и Bluetooth-tethering, который неожиданно оказался одной из самых удачных частей всей конструкции: Raspberry цепляется к хотспоту телефона, pwnagotchi сам держит соединение, переживает обрывы и ходит в интернет. А я спокойно захожу в веб-интерфейс с телефона и вижу всё то же самое, что обычно выводится на e-ink дисплей.
Плюс установил плагины, которые добавляют функциональности. На все про все меньше часа.

Дальше началась практика:
• за первый же вечер — хэндшейки, не выходя из квартиры (плагином автоматическая выгрузка в wpa-sec для облачного брута) и несколько сетей действительно поддались;
• поездка к друзьям — ещё улов;
• бизнес-центр — рекорд по количеству точек (около сотни за раз, но только у части собрались полноценные хэндшэйки).

И вот что интересно: вся эта история не только про взлом, но и про любопытство и исследование. Про то же чувство, из-за которого когда-то покупались журналы «Хакер», читались мануалы и хотелось «понять, как оно работает».

Кажется, такие штуки — это еще и отличный способ показать детям, что IT — это не только учебники, фреймворки и митинги, а ещё и живой интерес, эксперименты и удовольствие от процесса.

Старые интересы никуда не делись. Просто теперь они запускаются с power bank’а.

(История нелегальна и является фантазией автора)
3
История про ещё одну железку и LLM’ки

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

А у меня с 2018 года пылится набор Arduino Uno (позже еще брал Arduino Nano, ESP8266, Raspberry PI 4B, Jetson Nano - теперь вы знаете как выглядит шопоголизм айтишника). Тогда все попытки закончились быстро: я так и не понял, как быть инженером-электронщиком и при этом ничего не спалить.

В этот раз подход был другой — через ChatGPT.

Я просто:
• сфоткал все свои запчасти,
• написал, что хочу собрать,
• и отправил это в чат.

В ответ получил:
• какие компоненты подойдут,
• как их соединять,
• код прожигаемый через Arduino IDE,
• с чего начать и в каком порядке идти.

И тут снова словил это чувство: мы реально живём в золотое время.

За час у меня уже получился рабочий прототип. Да, есть что улучшать:
• нужен CO₂-датчик уровня Birdie — Sensirion SCD40 (цена 10$),
• вместо шумной SG90 — нормальная бесшумная серва (до сих пор не понял, что у них используется),
• корпус — хочется напечатать на 3D-принтере (нашёл только один похожий проект, но модельки не зашли и нужно ещё много правок, в чем я не силен).

Параллельно возникла мысль:
а что если такие устройства можно было бы делать и продавать?
Birdie стоит ~200$, что, честно говоря, выглядит странно для девайса с логикой «поднять / опустить индикатор при превышении порога >10 минут».

Полез в Perplexity, начал искать патенты (у них на сайте упоминается patent pending — решил проверить). И да — патент реально есть, и он довольно точно описывает дизайн и функциональность. Так что делать прямого конкурента — идея сомнительная.

Но.

Самое важное открытие здесь даже не в железке и не в бизнесе.
А в том, что вещи, которые 7 лет назад казались для меня недоступными, сегодня решаются за час — через обычный диалог с LLM.

В разработке и быту я это ощущаю уже давно — ускорение заметное и знакомое.

Но в железе эффект совсем другой.
Когда ты можешь сфоткать то, что у тебя есть, показать процесс сборки и получить понятные подсказки по ходу — это наглядно показывает, какие возможности раньше были фактически закрыты и стали доступны сейчас.

Время ими пользоваться.
🔥42
В ютубе всё чаще появляются видео про offline AI на Raspberry Pi — от максимально слабых конфигураций (но не совсем offline) до последнего Raspberry 5 с отдельным акселератором под инференс.

Примеры:
• Raspberry Pi Zero 2W (openai ключ)
https://www.youtube.com/watch?v=Nwu2DruSuyI
• Raspberry Pi 5 + LLM8850 (offline)
https://www.youtube.com/watch?v=IuTD5OMaVVU

И это выглядит как начало очень интересного года для DIY-энтузиастов.

Модели всё меньше, железо доступнее, без облаков и подписок (а если хочется можно и канал к своему компу через tailscale).

Я давно жду момент, когда LLM станут таким же бытовым слоем, как роутер или NAS — тихо работающим в фоне дома.
Массово это ещё не доехало, но направление очевидно.

А пока — смотрим/собираем сами.
🔥2
Cursor и Agent Skills

В Cursor (nightly-сборка) уже есть полноценная поддержка agent skills и rules — совместимых с экосистемами Claude, Codex, а также собственных cursor-skills.

И это важно понимать правильно: речь не про шаблоны промптов.

Agent skill — это:
- именованный контекстный модуль,
- с чётко описанным назначением,
- условиями применения,
- ограничениями,
- и ожидаемым поведением агента.

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

Агент сам выбирает, когда и какой skill активировать.
В результате вы не пересобираете поведение в каждом диалоге — вы один раз описываете роль или workflow,
а дальше агент использует его как инструмент.

Что это меняет на практике:
- длинные system-промпты уходят,
- поведение становится воспроизводимым,
- агент действует по заранее заданной логике, а не «по наитию»,
- skills можно накапливать, версионировать и переиспользовать между проектами.

И ключевой момент:
если вы работаете только в Cursor, внешние репозитории со skills теперь полностью применимы.
Это не «чужие SDK», а готовые контекстные блоки, которые Cursor умеет подключать нативно.

Полезные репозитории со skills:
- Anthropic https://github.com/anthropics/skills/tree/main/skills
- OpenAI https://github.com/openai/skills/tree/main/skills
- Vercel https://github.com/vercel-labs/agent-skills/tree/main/skills

Cursor постепенно перестаёт быть просто IDE с чатиком.
Это уже среда, где агенту задают архитектуру поведения,
а не объясняют задачу заново при каждом запросе.

Самый легкий старт от vercel:

npx add-skill vercel-labs/agent-skills
🔥2
Tailwindcss и воровство UI

Самый большой подарок и одновременно самое большое наказание, которое можно сделать своему проекту — это Tailwind CSS.

Подарок, потому что:
• у тебя мгновенно открывается доступ к огромной экосистеме готовых UI-блоков и компонентов
shadcn, 21st.dev и десятки каталогов вокруг → https://www.shadcn.io/awesome
бонусом выделю:
- https://www.launchuicomponents.com/
- https://inspira-ui.com/
- https://blocks.so/
- https://tailark.com/
- https://www.kibo-ui.com/
- https://reactbits.dev/
• отличный DX
• и, что важно в 2025/26, LLM’ки очень хорошо умеют в Tailwind и собирают интерфейсы почти без ошибок

Наказание, потому что:
• чтобы украсть твой UI, достаточно Ctrl+C → Ctrl+V в чат Cursor
• классы Tailwind — это уже финальная форма дизайна, как правило без дополнительного слоя абстракции

Здесь и возникает ключевая проблема:
UI перестаёт быть активом.
Он становится полностью воспроизводимым артефактом.

И это не то, чего можно аккуратно избежать, если ты хочешь:
• пользоваться готовыми компонентами
• оставаться внутри экосистемы Tailwind
• сохранять скорость разработки

Можно отказаться от готовых компонентов и начать использовать tailwindcss с css-modules + @apply, но тогда все руками и это уже бьёт по перформансу (и Tailwind об этом пишет)

В итоге имеем трейдофф мира умнеющих LLM:
• скорость, DX, экосистема и поддержка LLM
vs
• уникальность и «защищённость» UI от копирования LLM
🔥2
Сделал полезный хук для Cursor ⚡️

Поймал себя на привычке:
пока Cursor что-то думает/генерит — я улетаю читать сайты, телегу, делаю ещё что-нибудь.
А когда он заканчивает работу — возвращаюсь не сразу.

В итоге теряется фокус. И мой, и его 🙂

Сделал кроссплатформенный hook, который возвращает фокус окну Cursor, когда агент закончил работу.

Мелочь, а реально помогает не выпадать из рабочего флоу.

👉 https://github.com/beautyfree/cursor-activate-hook
или сразу

npx cursor-hook install beautyfree/cursor-activate-hook


P.S. требует ваших звезд на гитхабе и распространения среди пользователей Cursor
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥4❤‍🔥1
🚀 cursor-hook — CLI для установки Cursor Hooks из Git репозиториев

Теперь можно устанавливать хуки одной командой прямо из GitHub!

По мотивам проблем с которыми столкнулся в прошлом посте (установка под ненавистную винду отвратительна) создал инструмент, который упрощает разработку и распространение хуков для Cursor IDE.

Что это:
- TypeScript CLI пакет для установки Cursor hooks
- Поддержка GitHub, GitLab и локальных путей
- Кроссплатформенная работа (Windows/Linux/macOS)
• Мерж с существующими хуками
- Автоматическая установка зависимостей
- Выбор между глобальной и проектной установкой

Пример использования:

npx cursor-hook install beautyfree/cursor-window-activate-hook


Для разработчиков:
Создайте свой репозиторий с хуком, добавьте cursor-hook.config.json с конфигурацией, и пользователи смогут установить его одной командой.
Поддерживаются платформо-специфичные команды установки зависимостей.

Ссылки:
🔗 CLI: https://github.com/beautyfree/cursor-hook
🔗 Пример хука: https://github.com/beautyfree/cursor-window-activate-hook
🔥2
🚀 Context7 сделали Skills

— 24 000 навыков из 65 000 GitHub-реп
— Tailwind, React, Better-Auth и др.
— Установка одной CLI-командой
— Работает с Cursor, Claude Code и другими

https://context7.com/?tab=skills

👇 В видео наглядно
Media is too big
VIEW IN TELEGRAM
🔥3
Vibe Kanban + Cursor Agent

Удивительно, как давно vibe-kanban завирусился и показал себя миру, и как редко я вижу, чтобы его упоминали и использовали в моем окружении.

При этом он спокойно работает не только с Claude и Codex, но и с cursor-agent!

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

Вот вам и интересный вектор для проектов - проектов на базе cursor-agent.
2🔥1
Cursor становится все умнее и умнее

- Прекрасно переходит в режим планирования со слов

- Субагенты это новый инструмент в арсенале для ускорения работы (попробуйте попросить в своем проекте “сделай IEEE 42010 субагентами”), а бывает и единственный способ добиться своего (если файл очень большой можно попросить, чтобы субагенты взяли свою часть файла)

- Про скилы уже было выше

• А дебаг режим вообще золото

Да и вообще, заметили что уже и на Auto режиме можно получить нужный результат?

P.S. Осталось дождаться, когда завезут ACP - если завезут (а то обвязки типо https://github.com/blowmage/cursor-agent-acp-npm - это прям не серьезно).
🔥2😎2
This media is not supported in your browser
VIEW IN TELEGRAM
Claude Island

Пользователям Claude Code подсвечу тул, который почему-то ещё не получил заслуженной популярности.

Claude Island — это маленький macOS-апп, который живёт прямо в «чёлке» (Dynamic Island) и показывает, что происходит с вашими Claude Code сессиями в реальном времени.

Что умеет:
— показывает статус всех активных Claude Code сессий
— сразу подсвечивает pending permission requests
— позволяет approve / deny tool execution, не переключаясь в окна
— работает с tmux
— обновляется через hooks Claude Code (без костылей)

По сути — минус постоянный alt+tab и проверка «а не ждёт ли агент моего клика».

Open-source, бесплатно, нативно на Swift/SwiftUI.

https://claudeisland.com/
🔥2❤‍🔥1
Деволлим pinned «Сделал полезный хук для Cursor ⚡️ Поймал себя на привычке: пока Cursor что-то думает/генерит — я улетаю читать сайты, телегу, делаю ещё что-нибудь. А когда он заканчивает работу — возвращаюсь не сразу. В итоге теряется фокус. И мой, и его 🙂 Сделал кроссплатформенный…»
Debug-режим в Cursor

Кажется, что в канале и так уже слишком много про Cursor,
но эту штуку всё-таки хочется озвучить.


В Cursor так же появился debug-режим, который работает очень практично:
• выбираешь Debug
• просто пишешь, на чём застрял
• получаешь шаги воспроизведения, которые нужно выполнить

А Cursor:
• сам расставляет код для отправки логов
• поднимает локальный сервер и ждет логи на порту

По факту — это решение очень насущной боли,
когда нужно собрать логи и с клиента, и с бэка,
и при этом не заниматься постоянным копированием и вставкой в чат.

Для решения воспроизводить баг всё равно приходится много раз —
Cursor вносит правки и ждёт, что ты выполнишь шаги.

Но ключевое — ты наконец перестаёшь быть почтальоном для логов.
Cursor берёт на себя самую рутинную часть процесса.

Ждем когда через года computer use будет дешевым и Cursor сам выполнит шаги воспроизведения.
Тогда это будет уже полноценный дебаг-агент 😄
❤‍🔥3🔥1
Пользователям Raycast и Умного дома Яндекса

В пятницу психанул и сделал расширение для Raycast — управление Умным домом Яндекса прямо из командной строки 🚀

👉 https://www.raycast.com/devall/yandex-smart-home

Что умеет:
• включать / выключать устройства
• менять параметры и отображать показания датчиков
• всё через быстрый поиск и команды Raycast

Зачем:
• Raycast и так центр управления системой — умный дом логично туда же
• захотел другой свет в комнате, а под рукой только ноут → шорткат и готово

Фидбек приветствуется 👀

Код написал с Cursor’ом за пол часа и час оформлял под требования для ревью 😄
🔥3
Агент в Cursor перестаёт понимать твой проект?

(Избитая тема которую я уже пытался решить, но в этот раз более технологичный подход)

Чем больше кодовая база — тем чаще агент «не в контексте»: не знает, где что лежит, путает модули, предлагает устаревшие решения. В Cursor нет встроенной механики, которая держит контекст в актуальном состоянии. Я её добавил.

cursor-docs-hook — правило + хук в одном пакете.

Правило говорит агенту: создай и используй docs/INDEX.md и модульные INDEX.md как карту проекта — читай их для обзора структуры, назначения модулей, что где искать. Одна точка входа вместо разрозненных файлов.

Хук запоминает, какие файлы Cursor менял в этом прогоне. Когда Cursor завершает работу и в прогоне были правки — хук в фоне запускает cursor-agent (о котором было в этом посте) и обновляет docs/INDEX.md и INDEX.md в модулях. То, что агент по rules читает и держит в контексте, остаётся в синхронизации с кодом. Агент не теряет ориентировку при росте проекта.

Одна команда — правило и хук ставятся вместе:


npx cursor-hook install beautyfree/cursor-docs-hook


Если используешь Cursor в растущих проектах — попробуй.

👉 https://github.com/beautyfree/cursor-docs-hook

P.S. ваши звезды на гитхабе и распространения среди пользователей Cursor — лучшая благодарность
❤‍🔥4🔥2