Devlog #12
this cycle was about mostly about closing the loop from “framework that works” to “framework someone else can actually adopt without me hovering nearby”
Most importantly, agents can now understand x
every dev I know, including senior devs, is now asking AI to write code for them. AI doesn’t know x conventions and will confidently write next.js or remix code that looks right but isn’t. So I released @thexjs/mcp - an MCP server for claude code, cursor and other agents that gives them concrete documentation for routing, loaders, server functions, env vars, and a scaffold_file tool that generates files in the right shape rather than the agent making up whatever it wants. This gets automatically added to any new project via .mcp.json / .cursor/mcp.json, and there’s also an llms.txt file on the docs for agents that just browse the site. They’re both generated from the same source so they can’t diverge.
The docs got a much needed love, not just in terms of content
I added the missing @thexjs/mcp docs page, and got it linked into the sidebar/footer/search index (it was in the code but not easy to find). I also fixed some copy that had diverged from the actual implementation, including a docs page that suggested using “use client” directives that the framework doesn’t actually support.
The landing page also got some updates
The hero section is now properly responsive (it broke on real phones, not just narrow desktops). There was a bug where the docs sidebar was supposed to be sticky but wasn’t - fixed that (turns out it was an ancestor issue, not the sticky style itself). Copy was de-genericized a bit, since it was previously very similar to other dev tool landing pages.
Some internal improvements
I fixed a bug in the vercel adapter relating to forwarded-header hostname validation, and made some improvements to the scaffolder (shadcn wasn’t being installed when tailwind was automatically enabled, doctor’s semver range checks were actually checking the ranges, etc).
I’m now using proper feature branches + PRs for everything rather than pushing to main directly. It’s more work but should avoid situations where, say, the docs get updated to disagree with the framework in confusing ways.
If you want more details on any of this, check my repo!!
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.