We launched dif on Sep 5 and the most-asked question in the comments was some version of what does the agent part actually do? So here is a bit more context:
dif init writes a managed block into AGENTS.md, CLAUDE.md, and .cursorrules. The block tells the agent where flag files live, the frontmatter schema, the dif("flag-id") call at the render site, and to run dif validate before opening a PR. It also installs three Claude Code skills into .claude/skills/: one proposes the surfaces in your app, one drafts a flag or test, one concludes it and writes the learning back to the repo.
Every dif build refreshes dif/context.json, so the next session starts knowing what is live and what already got killed.
Pick what you want with --agents claude, --agents cursor, --agents general, or --agents none.
One command, no account is probably the strongest part for me. Makes it way easier for coding agents to actually finish setup without hitting a signup wall.
dif.sh
@victor_coleman Yeah, we think it's the best option for agents that are setting up the first flags or a/b tests in a codebase. From there it's easy to extend it with dif cloud or a custom analysis provider.
Bababot
I have used separate tools for A/B tests before so keeping the experiment inside the repo feels interesting.
dif.sh
@adams_parker In the past we worked in the same way. Working with dif has been such a nice change.
This feels nicely aligned with how coding agents actually work. No separate dashboard or account to set things up is a pretty refreshing approach.
dif.sh
@johnnie_kuvalis Yeah, compared to MCPs which are pretty hit or miss, dif works much better with agents.
The PR review flow is what caught my attention here. Treating feature flag changes like normal code changes should make the whole process feel much more familiar.
dif.sh
@leo_henry6 I think it catches issues more often than one person setting everything up in a dashboard!
I like the idea of keeping feature flags right inside the repo. Having the reason and decision in the same markdown file makes changes much easier to understand later.