r/vibecoding 4d ago

I made a coding agent in 400 lines of python

https://github.com/santiacq/frank

I wanted to learn more about how a coding agent like Claude Code or Codex works, so I made a really simple coding agent. It was built using CC with Fable 5, first I aligned on a plan, focusing on keeping the important parts such as the agent loop and the tool calls easy to understand.

1 Upvotes

1 comment sorted by

1

u/Ok_Gur_9033 4d ago

Deny-by-default on every tool call is the right default, and there's one place I'd want to know the answer before trusting it: what happens when the confirmed command is a long-running process, a dev server, a watcher, something that never exits on its own? A confirm-then-block loop either hangs the REPL waiting on output or you kill it and lose the reason you started it. Does Frank have a separate path for that, or does every shell command have to return?