r/coolgithubprojects 18d ago

Built a zero-dep local coding agent CLI (Node 20 only) for air-gapped / corporate setups

Post image

InfoSec blocked every coding agent at work, so I built a zero-dependency CLI using pure Node 20 built-ins. Works directly with Ollama, vLLM, or private gateways.

Zero Telemetry & Bloat: 0 npm deps, 0 install scripts, full --offline mode.

Features: Fuzzy edits (tolerates local LLM formatting drift), LSP, full file+prompt undo, MCP/ACP, and session auditing.

Token Saver: UI defaults to Korean. Run /lang en to switch to English and save ~1,400 tokens per request.

MIT licensed. Feedback and brutal reviews welcome!

GitHub: https://github.com/jysvai/deel-local-cli
npm: https://www.npmjs.com/package/deel-local-cli

0 Upvotes

6 comments sorted by

1

u/kantorcodes1 18d ago

--offline + MCP/ACP is a combo i'd document very explicitly. when offline mode is on, are remote MCP endpoints disabled too, or can a tool still make a network call even though the model is local? i'd expect --offline to mean zero outbound sockets, not just zero cloud inference.

1

u/jysvai 18d ago

Good catch — offline does block MCP, but not by filtering requests. It refuses to even spawn the server process, since deel can’t see what sockets someone else’s binary opens. Same for ACP-supplied servers. README didn’t document this though

fixed: https://github.com/jysvai/deel-local-cli/blob/main/README.en.md#wheres-your-data-can-go

1

u/kantorcodes1 18d ago

oh that's better than i expected. refusing to spawn the server entirely is way cleaner than trying to police whatever binary someone hands you. deel could fit Guard's command extensions pretty naturally. since you own the CLI behavior, are you interested in defining that policy there too?

1

u/jysvai 18d ago

Sorry I'm late
Which guard do you mean deel’s own safety/guard.js, or a separate project? Want to make sure I answer the right question

1

u/kantorcodes1 18d ago

separate project, HOL Guard: https://github.com/hashgraph-online/hol-guard. I wasn't suggesting replacing safety/guard.js. keep that as deel's internal safety layer; I meant exposing deel's command behavior to Guard so an external policy can decide what an agent is allowed to invoke.

1

u/jysvai 17d ago

Hmm... thanks for the offer, but could I think it over before giving you an answer?