Show HN: Axe – A 12MB binary that replaces your AI framework
Axe is positioned as a lightweight, composable, and Unix-like alternative to traditional, monolithic AI frameworks that are often expensive, slow, and focused on chatbot-like, long-lived sessions. It aims to replace these frameworks by treating LLM agents as small, focused programs that can be chained together and integrated into existing development workflows.
View Origin LinkProduct Positioning & Context
Developers will care deeply about Axe's minimal footprint (12MB binary, no Python/Docker dependencies by default), its CLI-first approach, and its seamless integration into existing development workflows via stdin piping, git hooks, and CI. This drastically lowers the barrier to entry for incorporating AI into specific, automated tasks like code review, log analysis, or commit message generation, without the overhead of a full-blown AI framework. The inclusion of features like sub-agent delegation, persistent memory, multi-provider support, and path-sandboxed file operations further enhances its utility and security for enterprise adoption.
This trend signifies a maturation of the AI tools landscape. It moves beyond the initial hype of general-purpose chatbots towards practical, efficient, and integrated AI components that can augment existing software systems. Axe is not just an alternative; it's a philosophical statement advocating for lean, composable AI infrastructure that respects traditional software engineering principles, making AI more accessible, controllable, and cost-effective for targeted automation within the B2B SaaS ecosystem.
Community Voice & Feedback
In the README you say the agents memory persists across runs, would that solve said problem?Also, I had to do several refactorings of my agent's constructs and found out that one of them was reinventing stuff producing a plethora of function duplications: e.g. DB connection pools(i had at least four of them simultaneously).Would AXE require shared state between chained agents? Could it do it if required?
- i have a bunch of tiny scripts, each script is an agent but it only does one tiny task
- scripts can be composed in a unix pipeline
For example: $ git diff --staged | ai-commit-msg | git commit -F -
Where ai-commit-msg is a tiny agent: #!/usr/bin/env bash
# ai-commit-msg: stdin=git diff, stdout=conventional commit message
# Usage: git diff --staged | ai-commit-msg
set -euo pipefail
source "${AGENTS_DIR:-$HOME/.agents}/lib/agent-lib.sh"
SYSTEM=$(load_skills \
core/unix-output.md \
core/be-concise.md \
domain/git.md \
output/plain-text.md)
SYSTEM+=$'\n\nTask: Given a git diff on stdin, output a single conventional commit message. One line only.'
run_agent "$SYSTEM"
And you can see to keep the agents themselves tiny, they rely on a little lib to load the various skills and optionally apply some guard / post-exec validator. Those validators are usually simple grep or whatever to make sure there were no writes outside a given dir but sometimes they can be to enforce output correctness (always jq in my examples so far...). In theory the guard could be another claude -p call if i needed a semantic instruction.
Related Early-Stage Discoveries
Discovery Source
Hacker News Aggregated via automated community intelligence tracking.
Tech Stack Dependencies
No direct open-source NPM package mentions detected in the product documentation.
Media Tractions & Mentions
No mainstream media stories specifically mentioning this product name have been intercepted yet.
Deep Research & Science
No direct peer-reviewed scientific literature matched with this product's architecture.
Market Trends