340 karma · joined February 28, 2025
The project I'm working on:
https://github.com/hmpl-language/hmpl
Social media:
https://github.com/aanthonymax (GitHub Profile)
https://x.com/aanthonymax (Twitter)
https://dev.to/anthonymax (My Blog)
I’ve been working on it since July, and for the most part, I don’t have much time for development and promotion due to work. In any case, I’d like to share this small achievement with you. I think it’s important to talk about it openly when you’re doing something in Open‑Source.
For a long time, I didn’t understand how to make it useful for other people, but I guess I should write to other people about it — those whose projects don’t even have 5 stars.
By the way, what’s noteworthy is that now there are also 10 projects there, which can’t but please the users.
Maybe you can suggest something to do in the issue, or you can create something cool in the code yourself!
→ Multi-model access through one config Access Gemini, Claude, GPT-4, and local models without changing your OpenClaw setup. Switch models at runtime.
→ Automatic failover Provider down? Rate limited? Bifrost routes to your backup automatically. No 3am pages because OpenAI had an outage.
→ Full observability See every request your assistant makes. Token usage, latency, costs—all in one dashboard. Know exactly what your autonomous agent is doing.
→ Cost controls Set budgets. Track spending per use case. Stop runaway token usage before it empties your wallet.
Do you have similar stories about your products?
This is a huge milestone for us, as the project has grown quite significantly over this time. There's more code, it's become better, but most importantly, we've had the opportunity to work with so many great developers!
const templateFn = hmpl.compile( `<div> <button data-action="increment" id="btn">Click!</button> <div>Clicks: {{#request src="/api/clicks" after="click:#btn"}}{{/request}}</div> </div>` );
const controller = new AbortController(); const clicker = templateFn(({ request: { event } }) => ({ body: JSON.stringify({ action: event.target.getAttribute("data-action") }), signal: controller.signal, })).response;
document.querySelector("#app").append(clicker);
Alpine.js, HTMX and HMPL - represent the same idea (if we are talking about the server), but differ in details.
Hope you'll find it interesting to read!