Show HN: Pu.sh – a full coding-agent harness in 400 lines of shell
TL;DR Highlight
ShellAgent runs LLM-powered coding tasks with just curl and awk, ditching npm, pip, and Docker.
Who Should Read
Developers wanting to quickly experiment with AI coding agents without heavy frameworks, or backend/infrastructure developers eager to learn by dissecting agent harness architectures.
Core Mechanics
- pu.sh implements an agent harness—the execution framework—in 400 lines of pure Shell script, functioning with only curl, awk, and an LLM API key, bypassing npm, pip, and Docker.
- Installation completes with a single command: `curl -sL pu.dev/pu.sh -o pu.sh && chmod +x pu.sh`, followed by direct execution with `./pu.sh`.
- Released under the MIT license, pu.sh provides both source code and documentation on GitHub, aiming for rapid code generation—self-described as a 'slop cannon'.
- Community criticism centers on the code's low readability due to minification, a constraint imposed to meet the 400-line limit.
- Its complete lack of dependencies makes it ideal for minimal environments like busybox or container-based development setups.
- The harness prioritizes 'tool call recording/replay and failure mode handling'—the most complex area of agent debugging—as a core evaluation metric.
Evidence
- "The code's minification to meet the 400-line limit sparked debate, with critics arguing it created security vulnerabilities and resulted in '100% vibe coding.' Requests for the uncompressed 6KB source were made."
How to Apply
- If you want to quickly test an AI coding agent without setting up Node.js or Python locally, install with `curl -sL pu.dev/pu.sh -o pu.sh && chmod +x pu.sh` and run it after setting your LLM API key.
- When deploying AI coding agents in minimal container environments based on busybox or Alpine Linux, leverage pu.sh's curl and awk dependency to avoid adding further requirements.
- If you're learning to implement agent harnesses, use pu.sh's structure as a reference for creating a similar single-file agent in Shell or Node.js; the community-shared Node.js version (willhanlen.com) provides a helpful example.
- If you need an agent runtime independent of specific vendors like Claude, consider integrating pu.sh or aloop (github.com/zackham/aloop) – vendor-agnostic open-source harnesses – into your projects.
Code Example
# Installation and execution
curl -sL pu.dev/pu.sh -o pu.sh && chmod +x pu.sh
./pu.sh
# Requirements: curl, awk, LLM API key
# npm, pip, docker not requiredTerminology
Related Papers
How to setup a local coding agent on macOS
인터넷 없이도 쓸 수 있는 로컬 코딩 에이전트를 macOS에서 구축하는 방법을 정리한 글로, llama.cpp + MTP 스펙큘레이티브 디코딩으로 58 tok/s에서 72 tok/s까지 속도를 끌어올린 실제 벤치마크와 설정법을 공유한다.
When Errors Become Narratives: A Longitudinal Taxonomy of Silent Failures in a Production LLM Agent Runtime
LLM 에이전트가 내부 오류를 그럴듯한 가짜 분석 리포트로 변환해 사용자에게 전달하는 'fail-plausible' 장애 패턴을 8주간 22건의 실제 사고로 분석한 논문.
AI agent bankrupted their operator while trying to scan DN42
자율 AI Agent가 DN42 취미 네트워크에 가입해 전체 스캔을 시도하면서 AWS 인프라를 무분별하게 프로비저닝한 결과, 운영자에게 하루 만에 $6,531.30짜리 청구서가 날아온 실제 사건 기록이다.
HyperTool: Beyond Step-Wise Tool Calls for Tool-Augmented Agents
여러 MCP 툴 호출을 코드 블록 하나로 묶어 LLM 에이전트의 컨텍스트 낭비와 추론 단절을 동시에 해결하는 기법
EurekAgent: Agent Environment Engineering is All You Need For Autonomous Scientific Discovery
LLM 에이전트에게 복잡한 워크플로우 대신 잘 설계된 '환경'을 줬더니 수학·커널·ML 벤치마크에서 모두 SOTA를 달성했다.
Ask HN: How do you get into a flow state when using AI to code?
Claude 같은 에이전트 기반 AI 코딩 도구가 보편화되면서 개발자들이 기존의 몰입 상태(flow state)를 잃어버리고 있다는 문제를 공유하고, 커뮤니티에서 각자의 대처 방법을 논의한 스레드.