Thursday, April 30, 2026

Show HN: Pu.sh – a full coding-agent harness in 400 lines of shell https://ift.tt/z2oUx7e

Show HN: Pu.sh – a full coding-agent harness in 400 lines of shell I originally was just messing with pi-autoresearch. Gave it a sample task to build the most portable coding agent. First cut was 6 KB of shell. Great for one-shots, unusable interactively. I was shocked it actually worked. Started building up -- adding features — but with a self-imposed rule: no new dependencies, and sub 500 LOC. This thing had to be truly portable. Just sh, curl, awk. System primitives only. Which means I did some genuinely disgusting things in awk, including JSON parsing and the OpenAI Responses tool loop with reasoning items carried across turns. It's now ~400 lines. In the box: Anthropic + OpenAI, 7 tools (bash, read, write, edit, grep, find, ls), REPL, auto-compaction, checkpoint/resume, pipe mode, 90 no-API tests. Not in the box: TUI, streaming, images, OAuth, Windows, dignity. Two honest things: 1. I stole/modified the system prompt and the architecture. Pi/Claude/Codex wrote the awk. I cannot read most of this code. This wasn't possible for me a year ago. 2. Heavily inspired by Pi (pi.dev) — same 7-tool surface, same exact-text edit model. Credit where it's due. Pi is awesome -- you should probably use them. The agent loop itself is tiny. Almost everything else in a "real" agent CLI is DX and hardening. You can probably build your own harness exactly how you like it. Mario Zechner's AI Engineer talk on taking back control of your tools nudged me here. The name is because it's a .sh file. The other thing it sounds like is, regrettably, also accurate. https://pu.dev/ May 1, 2026 at 02:25AM

Show HN: Free no-signup site auditor – secrets, subdomain takeover, CVEs https://ift.tt/wNl3nzC

Show HN: Free no-signup site auditor – secrets, subdomain takeover, CVEs https://ift.tt/2pCzEkF May 1, 2026 at 01:34AM

Show HN: Exploding Hamsters https://ift.tt/DcBNhr8

Show HN: Exploding Hamsters https://ift.tt/k6YQycE May 1, 2026 at 12:20AM

Wednesday, April 29, 2026

Show HN: A Multi User Multi Task Board MCP Server https://ift.tt/xj6XcJA

Show HN: A Multi User Multi Task Board MCP Server I built a simple multi user, multi board, Task/Kanban MCP server. I have been looking for something like this to manage development agents, but I wasn't seeing anything that felt like what I wanted. So I set down and decided to vibe code an alternative. While it was an experiment at first I have been using it daily for my personal development projects and I really think there are others who might be looking for exactly this. It's 100% a WIP, but it is also very usable. I have a demo instance running at https://mootasks.dev . If you find this interesting I'd appreciate a star. This is really the first thing I built that I felt would be of interest to others. The readme explains it, but if you have docker you can get this running in a couple minutes. It's helped my workflow a lot and I plan on continuing to add features / improve it. https://ift.tt/rGbO2Lz April 30, 2026 at 01:11AM

Show HN: Generative UI Library for React https://ift.tt/910Bp5L

Show HN: Generative UI Library for React https://ift.tt/iOy7T05 April 30, 2026 at 12:58AM

Show HN: Send your first Peppol e-invoice in 5 minutes (EU mandate live) https://ift.tt/x1bBUfi

Show HN: Send your first Peppol e-invoice in 5 minutes (EU mandate live) https://getpeppr.dev/ April 29, 2026 at 11:06PM

Tuesday, April 28, 2026

Show HN: Drive any macOS app in the background without stealing the cursor https://ift.tt/8XsMLYD

Show HN: Drive any macOS app in the background without stealing the cursor Hi HN, Francesco from Cua here. I hacked this project together last weekend, inspired by the Codex Computer-Use release and lessons learned from deploying GUI-operating agents for our customers. The main problem: when a UI automation process controls a desktop app today, it usually takes over the human’s session. Your cursor moves, keyboard focus gets stolen, windows jump to the front, and you have to stop working until the agent is done. That is why we have historically avoided encouraging users to run these processes directly on their host machine, instead relying on VMs or GUI containers for concurrency and background execution. But computer-use - the tools we give agents to operate computers like humans - does not scale cleanly that way. As models get smarter, agents need to share hosts safely, run in the background, and avoid collisions with the human or other agents using the same machine. We realized macOS has no first-class API for "drive this app without touching the cursor". CGEventPost routes through the hardware input stream, so it moves your cursor. CGEvent.postToPid avoids the cursor warp, but Chromium treats those events as untrusted and silently drops clicks at the renderer boundary. Activating the target app first raises the window and pulls focus, defeating the point of background execution. Cua Driver is our attempt at a real fix: a background computer-use driver for macOS that lets an agent click, type, scroll, and read native apps while your cursor, frontmost app, and Space stay where they are. The default interface is a CLI, so it is easy to script or call from any coding agent shell. Try it on macOS 14+: /bin/bash -c "$(curl -fsSL https://ift.tt/sZTbtXL... )" The first internal use case was delegated demo recording. We ask Claude Code to drive an app while 'cua-driver recording start' captures the trajectory, screenshots, actions, and click markers. The result is an agent-generated product demo, Screen Studio inspired. Other things we have used it for: - Replacing Vercel’s agent-browser and other browser-use CLIs. With Claude Code and Cua Driver, you do not need Chrome DevTools Protocol at all. - A dev-loop QA agent that reproduces a visual bug, edits code, rebuilds, and verifies the UI while my editor stays frontmost. - Personal-assistant flows that use iMessage from Claude Code, Hermes, or other general-purpose agent CLIs. - Pulling visual context from Chrome, Figma, Preview, or YouTube windows I am not looking at, without relying on their APIs. What made this harder than expected: - CGEventPost warps the cursor because it goes through the HID stream. - CGEvent.postToPid does not warp the cursor, but Chromium drops it at the renderer IPC boundary. - Activating the target first raises the window and can drag you across Spaces. - Electron apps stop keeping useful AX trees alive when windows are occluded without a private remote-aware SPI. The unlock was SkyLight. SLEventPostToPid is a sibling of the public per-PID call, but it travels through a WindowServer channel Chromium accepts as trusted. Pair it with yabai’s focus-without-raise pattern, plus an off-screen primer click at (-1, -1), and the click lands without the window ever raising. One thing we learned: the right addressing mode depends on the app. Native macOS apps usually have rich AX trees, Chromium-family apps often need a hybrid of AX and screenshots, and apps like Blender or CAD tools may expose almost no useful AX surface. The mistake is defaulting to pixels everywhere - or defaulting to AX everywhere. Long technical writeup: https://ift.tt/QKGYmJt... I would like feedback from people building Mac automation, agent harnesses, or accessibility tooling. If it breaks on an macOS app you care about, that is useful data for us. https://ift.tt/TwiLlSt April 28, 2026 at 09:33PM

Show HN: Pu.sh – a full coding-agent harness in 400 lines of shell https://ift.tt/z2oUx7e

Show HN: Pu.sh – a full coding-agent harness in 400 lines of shell I originally was just messing with pi-autoresearch. Gave it a sample task...