HN user

gidellav

555 karma
Posts52
Comments33
View on HN
kittine.com 1d ago

Kittine, a custom language for Rust-powered web apps

gidellav
3pts0
github.com 7d ago

Zerostack – An agent that's less sloppy than Elon's attempts

gidellav
2pts0
rocketup.pages.dev 10d ago

The European Oligarchy

gidellav
24pts3
www.npmjs.com 10d ago

Actojs – Bringing Elixir's Actors to TypeScript

gidellav
3pts0
crates.io 18d ago

Speck v1.0 – AI spec-driven agents, inspired by compilers and build tools

gidellav
2pts0
github.com 18d ago

Speck – AI spec-driven agents, inspired by compilers and build tools

gidellav
5pts0
github.com 18d ago

Getting started with zerostack, a Unix-like lightweight coding agent

gidellav
3pts0
github.com 24d ago

Show HN: Use-zerostack – delegate any task to a lightweight coding agent

gidellav
4pts0
crates.io 1mo ago

Multistack 1.0 – Lightweight TUI for orchestrating coding agents

gidellav
2pts0
crates.io 1mo ago

Zerostack 1.5 – Lightweight Unix-inspired coding agent

gidellav
2pts0
claude-code-is-dead.vercel.app 1mo ago

Claude Code Is Dead

gidellav
2pts1
crates.io 1mo ago

Zerostack v1.5 – A Unix-inspired coding agent written in pure Rust

gidellav
2pts0
claude-code-is-dead.vercel.app 1mo ago

Claude Code is dead, the future is open

gidellav
4pts0
claude-code-is-dead.vercel.app 1mo ago

Claude Code Is Dead

gidellav
4pts0
github.com 1mo ago

Multistack – Lightweight TUI for orchestrating coding agents

gidellav
2pts0
github.com 1mo ago

Zerostack v1.5 – Lightweight Unix-inspired coding agent

gidellav
3pts0
rocketup.pages.dev 1mo ago

Custom Prompts: a minimal, customizable alternative to Skills

gidellav
1pts0
gi-dellav.github.io 1mo ago

Show HN: Zerostack, an open coding agent optimized for memory footprint

gidellav
3pts0
rocketup.pages.dev 1mo ago

Simple memory design for AI agents (from zerostack's dev)

gidellav
2pts0
rocketup.pages.dev 1mo ago

What we built in 2 weeks zerostack – the lightweight coding agent

gidellav
4pts0
crates.io 1mo ago

Zerostack v1.3.4 released – Lightweight Unix-inspired coding agent

gidellav
13pts3
github.com 1mo ago

Zerostack v1.3.4 released – Lightweight Unix-like coding agent

gidellav
6pts0
github.com 1mo ago

Zerostack v1.3.2 Released

gidellav
2pts0
crates.io 2mo ago

Zerostack – A Unix-inspired coding agent written in pure Rust

gidellav
575pts308
github.com 2mo ago

Zerostack – Tiny Rust Coding Agent in 8MB of RAM

gidellav
3pts0
rocketup.pages.dev 6mo ago

Analysis of LLM advancement: impactful LLMs in Q3 2027

gidellav
1pts0
github.com 6mo ago

Show HN: rv, a non-invasive open source AI code review for any type of workflow

gidellav
2pts0
arxiv.org 8mo ago

Humains-Junior: A 3.8B Language Model Achieving GPT-4o-Level Factual Accuracy

gidellav
2pts0
arxiv.org 8mo ago

Watermarking for Generative AI

gidellav
17pts0
arxiv.org 8mo ago

Reconfigurable Analog Computers

gidellav
27pts9

What a bunch of slop: 182 top-level external dependencies (so, without considering nested dependencies) and 1318853 lines of code in Rust.

Building efficient agents is doable (I did it myself, github.com/gi-dellav/zerostack), companies just want to tokenmaxx, and as a by-product, produce and publish slop.

Check what tools we already implemented, check your "slow" accusation, check the prompt system, check the provider integration (via Rig, so caching is already enabled), check the MCP support and other integrations that you don't even find on some major agents (git worktrees + loops).

For 3 years, your Lovable clone is something that Claude Code could make in a couple of days, but good luck shitting on other project I guess.

Well... for the most part, you use it like skills, but instead of "commands" you can think of "environments": so '/prompt debug', which is one of the integrated prompts, allows for a debug-focused agent, you can then talk to it as a normal agent, and then '/prompt code' to go back to the standard coding agent.

About subagents: as of right now, the entire agent runs on one context buffer, so it doesn't support subagents in order to keep it lean; but there is a great chance that subagents will be added, as explore-heavy tasks often bloat the context window

1. I will add some screenshots tomorrow

2. As said before, there are no benchmarks right now, but it is good enough for me, so I hope it's good enough for y'all :)

3. Transfering settings from other agents is out-of-scope for a minimalstic coding agent, but the idea is that, apart from MCP server, the rest might just force you to learn how zerostack works, because of design choices such as not having Skills or having certain specialized tools integrated (worktrees and loops).

Hi, nice comment!

1. I had experience not only with wrong versions selected by the agents, but also weird crates (ex. choosing a crate with 10 github stars when a more complete and more supported one was available), reason why now I always choose the dependencies and then I let the agent work.

2. Yes, some of the provider code could be made using macros, I am just lazy... But thanks for the tip! I will save it for later.

3. No telemetry, and it can be checked thanks to the fact that there are no HTTP calls outside of the MCP implementation (via rmcp) and LLM connectors (via rig)

4. Yes, i set panic handler to 'abort', thinking that I would've get a nice size decrease: i yet have to experience a panic on this project, but I will revert it to default behavior if the binary size saving is really so small

5. While it is async, the entire project runs on one thread (as expressed in the main.rs with ```#[tokio::main(flavor = "current_thread")]```), as it allows for a nice ~8MB memory saving (so, 50% off) and no real performance loss, being such a simple tool.

---

P.S. Just switched back to default settings for panic handler

I get you, but when I decided to follow a no-skills approach (as in, no agent's Skills used), I had to decide what:

1. Couldn't be built only using prompts

2. Couldn't be built only using MCP servers

3. Would have improved my UX experience (as i hope, your UX experience).

From those three conditions, I chose integrated git worktrees and loops

I have to be honest and tell you that try to load such an heavy runtime as a scripting layer is not a great idea; at the same time I can tell you that I am working on another Rust project where I also needed scripting, and after three attempts I landed on rhai (https://rhai.rs/) (https://rhai.rs/book).

You might find it nice for pretty much all use cases except for high-performance scripting (so, if you are not try to build the entire logic entirely in rhai, you are going to be fine).

I actually though about this issue, but while Pi can have this script-like environment thanks to the fact that it's based on an interpreted language (TypeScript), Rust has its own limitation as a compiled language.

I decided to allow for customization in a different way:

1. The prompt library (~/.config/hypernova/prompts/) acts as a simpler alternative to Skills, with the built-in prompts that should replace superpowers + Claude's frontend-design

2. Compile-time features; things that might make the agent more bloated can be disabled when you decide to compile zerostack

3. Clean code; code that's short and easy to read, you can just throw zerostack on its own source code in order to build a custom fork if your necessity can't be satisfied. Good features could also be adopted by the main version.

4. Permission mode; as you can see in the README, there was lots of concern around the permission model, and I landed on a 4-mode system that goes from "Restrictive" (no commands) to "YOLO" (whatever the agent wants to do" + custom regex patterns for allow/ask/deny permission on 'bash' calls. In your case, you just need to run `zerostack -R` to force all tools to ask for permission.

(Also, there is a work-in-progress features for programmable agents, but that's yet to be announced)

While I think that the core philosohpy is the same, i'd like to ask: why adding features like Skills and prompt templates?

I personally decided to not implement Skills and instead using a prompt library approach, where certain .md are used to fully replace the system prompt, in order to allow for an approach similar to Skills with ~100 LoC dedicated to this system.

While I agree on the fact that it allows to manage resources efficiently, I don't agree on the fact the efficency derives from it being high-level; from a purely tecnical standpoint, i could skim off 2-3MB from the memory footprint by writing the code in pure C, as there are some unused parts of Rust's std that cannot be removed without recompiling std.

This is obv only a technical talk, as writing an AI TUI in pure C would be rather... ehhh

Hi! While I didn't try any agent benchmark, I already though of this possible issue, and I tried to approach it on two different levels:

1. The tools that are given to the agent are almost the same to the one defined in Opencode, except for Skills and Subagents (both features not implemented in zerostack)

2. Zerostack is prompt-based, so that it ships with a set of .md files, stored in ~/.config/zerostack/prompt, and that can be selected from the TUI in order to activate different 'agents': as you can see from the README, it is designed to contain the most important feautres of superpower + Claude's front-end design + git worktree support and Ralph Wiggum loops (both as integrated features)

Thanks! Funny enough, a good chunk of the coding was done by Deepseek v4 Flash, while I hand-wrote a couple of the TUI logic, as deepseek kept failing on certain cursor-moving logic, and I fully managed the memory optimization process (as you can read on another comment I left, it both a set of compiler optimizations and usage of certain Rust crates in order to leverage more efficient data structures).

Hi, I'm the developer of zerostack! No, the memory footprint is not beacuse of the context window size: on my benchmarks, with a 128k context loaded, and it jumped from 8MB (without any chat/context loaded) to 11MB.

The reasons why the memory footprint of zerostack are:

- Rust, and not JS/Python, so no interpreters/VMs on top

- Load-as-needed, so we only allocate things like LLM connectors when needed

- `smallvec` used for most of the array usage of the tool (up to N items are stored in stack)

- `compactstring` used for most of the string usage of the tool (up to N chars are stored in stack)

- `opt-level=z` to force LLVM to optimize for binary size and not for performance (even tho we still beat both in TTFT and in tool use time opencode)

- heavy usage of [LTO](https://en.wikipedia.org/wiki/Interprocedural_optimization#W...)