frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Daemons – we pivoted from building agents to cleaning up after them

https://charlielabs.ai/
28•rileyt•2h ago
For almost two years, we've been developing Charlie, a coding agent that is autonomous, cloud-based, and focused primarily on TypeScript development. During that time, the explosion in growth and development of LLMs and agents has surpassed even our initially very bullish prognosis. When we started Charlie, we were one of the only teams we knew fully relying on agents to build all of our code. We all know how that has gone — the world has caught up, but working with agents hasn't been all kittens and rainbows, especially for fast moving teams.

The one thing we've noticed over the last 3 months is that the more you use agents, the more work they create. Dozens of pull requests means older code gets out of date quickly. Documentation drifts. Dependencies become stale. Developers are so focused on pushing out new code that this crucial work falls through the cracks. That's why we pivoted away from agents and invented what we think is the necessary next step for AI powered software development.

Today, we're introducing Daemons: a new product category built for teams dealing with operational drag from agent-created output. Named after the familiar background processes from Linux, Daemons are added to your codebase by adding an .md file to your repo, and run in a set-it-and-forget-it way that will make your lives easier and accelerate any project. For teams that use Claude, Codex, Cursor, Cline, or any other agent, we think you'll really enjoy what Daemons bring to the table.

Comments

handfuloflight•1h ago
How does this compare to OpenProse, it looks similar? https://openprose.ai/

Are the two competitive or additive?

rileyt•1h ago
hadn't seen this before, but it looks like the daemon schedules and watch conditions could be helpful for activating openprose contracts.
panosfilianos•1h ago
Why couldn't these just be callable skills?
rybosome•1h ago
Callable skills can’t activate on a schedule or listen for events. Making a daemon which invokes other callable skills is a great use case!

I’m an eng on the team that built this, in full disclosure.

Bootvis•30m ago
I do really like the idea.

But pardon my ignorance, but one could quite easily roll this themselves? Script the hooks and fire off a headless agent with a hook specific prompt.

rybosome•22m ago
Very fair question.

One could build a simple version of this easily - e.g. setup an endpoint that listens for the particular event you are concerned with, and fire off the headless agent with your hook specific prompt - but the amount of work involved to listen for that particular event while filtering out noise and orchestrating the task is actually not trivial.

Plus, that involves writing a lot of code. It's really magical to express all of this in natural language.

For example, this is the YAML frontmatter for a a daemon that keeps a GitHub PR in a mergeable state in the event of CI failures or branch base changes.

  ---
  id: pr-mergeability
  purpose: Keep non-draft pull requests mergeable and CI-green without changing PR intent/scope, while staying anchored to one trigger context per run.
  watch:
    - Branch sync and update events on non-draft PRs.
    - Check-status signals on non-draft PRs for checks that affect mergeability.
  routines:
    - Resolve mechanical merge conflicts when the safe resolution is clear and preserves PR intent/scope.
    - 'Apply low-risk mergeability fixes: snapshot updates, lockfile drift fixes, lint autofix, and flaky-test retries when tied to the trigger context.'
    - Escalate semantic/intention conflicts between base and branch instead of auto-resolving.
  deny:
    - When triggered by a check-status signal, do not fix or comment on unrelated failing checks.
    - Do not open new pull requests or new issues.
    - Do not review, approve, or request changes on pull requests.
    - Do not implement review-comment suggestion patches.
    - Avoid force-push by default; if force is absolutely required, use `--force-with-lease` only after fresh remote verification.
    - Do not make changes beyond mergeability maintenance.
  ---
Note the lack of any code or required knowledge of GitHub webhooks.
briandoll•1h ago
Daemons are autonomous. From the site:

> Daemons are self-initiated — they observe the environment, detect drift, and act without a prompt.

potter098•1h ago
The drift detection angle is interesting. I'd be curious how you handle cases where two daemons touch related files — is there a way to declare ordering constraints in the .md file, or do they run in isolated branches?
rybosome•1h ago
Each daemon runs in its own isolate, but the output is typically shared state; eg multiple daemons contribute to the same PR from separate container runtimes.

It’s possible to make naive daemons that stomp on each other (as with a UNIX daemon), but they’re highly responsive to coordination instructions and generally do very well at additive rather than competitive contribution.

jb_hn•1h ago
Looks really interesting -- quick question though: how does this differ from hooks (e.g., https://code.claude.com/docs/en/hooks)?
simonw•53m ago
Looks more similar to routines for me (just launched the other day): https://code.claude.com/docs/en/routines
rileyt•39m ago
simonw is right, daemons are closer to routines.

compared to routines:

- daemons are specified by a DAEMON.md file in the repo (like skills). it's version-controlled and team-owned, not hidden in a dashboard or linked to a single developers account.

- daemons have a specialized event pipeline that joins similar webhooks events into a single daemon activation and can inject late arriving events into a daemon that's already running (this is key to avoid duplicate work and noisy actions).

- the watch conditions are a more powerful activation method because they use semantic matching and can be mixed with cron schedules.

- daemons have access to the logs from their past runs (and soon proper memory) so they can learn from their own mistakes.

newsdeskx•49m ago
the hook model is event-driven - something happens, hook fires. daemons sound like they're proposing a different mental model where you have persistent processes that observe and react. the difference is the same as cron vs a running service. both work but the daemon approach makes sense when you need stateful observation across multiple events rather than just per-action triggers
razvanneculai•33m ago
Looks pretty interesting, will try it out and give you feedback! keep up the good work.
rileyt•33m ago
here are a few more resources:

- example daemon files: https://github.com/charlie-labs/daemons

- reference docs: https://docs.charlielabs.ai/daemons

happy to answer questions. all feedback appreciated.

wolttam•12m ago
The schedule is cute.

"Complete non-determinism for everything except the schedule it runs at."

rdme•11m ago
How would this work? One would connect it's repository to a cloud platform that would then act based on the existing daemons of the repo?
rybosome•3m ago
That's exactly right. Our cloud-based agent Charlie (https://charlielabs.ai/) supports this, and our hope is that other platform providers will offer support in the future as well.

Skills live in the repository, so it felt like a natural complement. It also lets other developers see what the active daemons are and collaborate on them. With proper context, agents are quite good at writing and editing these daemon files too.

Show HN: GoModel – an open-source AI gateway in Go

https://github.com/ENTERPILOT/GOModel/
102•santiago-pl•4h ago•31 comments

Show HN: VidStudio, a browser based video editor that doesn't upload your files

https://vidstudio.app/video-editor
194•kolx•6h ago•76 comments

Show HN: Mediator.ai – Using Nash bargaining and LLMs to systematize fairness

https://mediator.ai/
124•sanity•1d ago•63 comments

Show HN: Ctx – a /resume that works across Claude Code and Codex

https://github.com/dchu917/ctx
17•dchu17•1d ago•6 comments

Show HN: Daemons – we pivoted from building agents to cleaning up after them

https://charlielabs.ai/
28•rileyt•2h ago•18 comments

Show HN: Medievalizer, an extension that rewrites pages into Old English scripts

https://github.com/theletterf/medievalizer
3•theletterf•1h ago•3 comments

Show HN: Four years of my CS degree, typeset in LaTeX (850 pages)

https://starikov.co/academia-notes/
5•iusevim•2h ago•2 comments

Show HN: Verified Deep Learning with Lean 4

https://brettkoonce.github.io/lean4-mlir/blueprint/
3•asparagui•2h ago•0 comments

Show HN: Runner – A Better Claude Cowork

https://runner.now
17•kentf•2h ago•6 comments

Show HN: Zero-allocation embedded security in Rust (fits in 256KB Flash)

https://github.com/craton-co/craton-shield
4•victor-craton•3h ago•0 comments

Show HN: WeTransfer Alternative for Developers

https://dlvr.sh/
17•mariusbolik•10h ago•5 comments

Show HN: Holos – QEMU/KVM with a compose-style YAML, GPUs and health checks

https://github.com/zeroecco/holos
51•zeroecco•21h ago•23 comments

Show HN: Flight Risk: Can you break an AI agent?

https://ctf.demo.lorikeetcx.ai/
3•tetrakai•5h ago•0 comments

Show HN: Prompt-to-Excalidraw demo with Gemma 4 E2B in the browser (3.1GB)

https://teamchong.github.io/turboquant-wasm/draw.html
156•teamchong•2d ago•61 comments

Show HN: Run TRELLIS.2 Image-to-3D generation natively on Apple Silicon

https://github.com/shivampkumar/trellis-mac
198•shivampkumar•1d ago•35 comments

Show HN: Git Push No-Mistakes

https://github.com/kunchenguid/no-mistakes
15•akane8•23h ago•6 comments

Show HN: Shader Lab, like Photoshop but for shaders

https://eng.basement.studio/tools/shader-lab
159•ragojose•5d ago•46 comments

Show HN: Faceoff – A terminal UI for following NHL games

https://www.vincentgregoire.com/faceoff/
128•vcf•2d ago•44 comments

Show HN: MDV – a Markdown superset for docs, dashboards, and slides with data

https://github.com/drasimwagan/mdv
148•drasim•3d ago•53 comments

Show HN: DSS, a new human-readable and plain format for XLS and spreadsheets

https://github.com/Datastripes/DataSheetStandard/
5•vinserello•11h ago•0 comments

Show HN: MCPfinder – An MCP server that finds and installs other MCP servers

https://mcpfinder.dev/
7•coderai•20h ago•0 comments

Show HN: A lightweight way to make agents talk without paying for API usage

https://juanpabloaj.com/2026/04/16/a-lightweight-way-to-make-agents-talk-without-paying-for-api-u...
54•juanpabloaj•1d ago•12 comments

Show HN: Alien – Self-hosting with remote management (written in Rust)

105•alongub•1d ago•45 comments

Show HN: A fake small claims court for petty complaints

https://benlirio.com/petty-small-claims/
5•blirio•14h ago•1 comments

Show HN: I Built SwiftUI but for macOS MDM

https://github.com/photon-hq/Astrolabe
8•RyanZhuuuu•21h ago•0 comments

Show HN: I built an AI that assigns YOU tasks

https://www.pause.build/
3•chaidhat•15h ago•6 comments

Show HN: Palmier – bridge your AI agents and your phone

https://github.com/caihongxu/palmier
5•caihongxu•15h ago•5 comments

Show HN: Smol machines – subsecond coldstart, portable virtual machines

https://github.com/smol-machines/smolvm
493•binsquare•4d ago•147 comments

Show HN: I made a calculator that works over disjoint sets of intervals

https://victorpoughon.github.io/interval-calculator/
312•fouronnes3•3d ago•54 comments

Show HN: PanicLock – Close your MacBook lid disable TouchID –> password unlock

https://github.com/paniclock/paniclock/
260•seanieb•4d ago•114 comments