@hkjels
> Are there any performance gains?
Not sure about performance - I've never measured it. But re-frame itself was always pretty much irrelevant to performance. (In the browser usually everything is dominated by rendering)
> less of a surface to the API’s
re-frame2's API is substantially bigger. (re-frame's original API was pretty small)
> other reasons to upgrade?
re-frame2 is better on every dimension other than simplicity. And often dramatically better.
1. It has a bunch of built-in capabilities you might like
a. state machines - (which I love so much)
b. managed HTTP - everyone always does a terrible job at this with their hand rolled solutions.
c. proper data driven routes
d. SSR
e. First class schemas
2. The tooling is dramatically better:
a. xray (see screenshot below)
b. story (still a work in progress)
3. The AI support is much better (see re-frame2-pair and the associated MCP in particular for live debugging) because everything about the running app is traced. Everything. Which means an AI can stare deep into the working app which is very useful for debugging.
4. The multi-frame ability means your unit and integration tests are way, way better. It is night and day.
5. Potential for working with Uix and Helix (not very tested by me yet)
Although not fully backwards compatible (it is called re-frame2 for a reason), I worked hard to make v1 re-frame applications mechanically upgradeable (via AI). This theory is not fully tested.
I'm not in a rush to do official releases, just yet. The API is pretty solid these days, but there are still occasional wrinkles that use exposes and I want to stay flexible. And it is still a mono-repo with a lot going on within it, and I like it that way while I'm iterating.
So, use at your own risk :-)
Also ... there's been about 3000 PRs across the last 4 weeks, and I haven't written a single line of code myself, which may also scare you away (some completely lose their minds over this - to the point of hostility). It has been 16 hours a day, 7 days a week of effort from me using 3 different 20x max plans from Anthropic. Yeah, I know, get a life, right?
How do you feed those agents with tasks? Do you have some self-correcting loop? A backlog and agents take tasks autonomously?
My method is evolving. But I wrote something up a few weeks ago ... and it is still 80% true now. https://github.com/day8/re-frame2/tree/main/docs/the-mayor-method
Beads are a very important part of it. At one point in the chaos, I think I had 600 open beads.
I figure there is about 10 man years of effort in it, using the old money.
Which means - before AI, this would never have happened. For me, it has been an exhausting but exhilarating labour of love. And if it turns out to be useful, excellent.
Finally, if, despite the warnings, you do want to experiment (not recommended):
1. because there are no published artifacts, you'll have to check out https://github.com/day8/re-frame2/tree/main and use it via a :local/root dependency.
2. pull regularly, and rebuild MCPs regularly. (there's often about 100 PRs a day)
3. please have a go at upgrading an existing re-frame v1 app using the re-frame-migration skill and give me an experience report. Or file issues. It might take 60 mins. I've put a lot of effort into this path, but there might be bumps, maybe. Unsure.
4. Be sure to attach xray to your upgraded app. How does it go?
5. use the https://github.com/day8/re-frame2/tree/main/skills and then re-frame-implementor to build something.