François Best @francoisbest.com · 25/09/2026Haven't been active much here, sorry, AI-in-OSS burnout is real. How do you care when nobody else does? When nobody engages? When all the human connection is gone? When all you read is AI slop? I want to go back to coding for fun. Because whatever this is, it's very much _not_ fun. 1611111
Reposted by François BestReact Advanced London @reactadvanced.gitnation.org · 19/09/2026"Maintaining Open-Source at the Age of AI." That's the talk @francoisbest.com is bringing to React Advanced, on what it takes to keep open-source projects healthy as AI reshapes how code gets written. Can't wait to see you 🎟️ reactadvanced.com 032
Reposted by François Bestnuqs @nuqs.dev · 20/08/2026📦 nuqs@2.10.0 is out! 🚀 The React SPA adapter is now SSR-compatible for @astro.build, Inertia.js, @fastify.dev etc. Feed it the `serverSearch` prop to avoid a flash of defaults on island hydration. Changelog: nuqs.dev/changelog#v2... Try it out: pnpm add nuqs@latest 081
Reposted by François Bestnuqs @nuqs.dev · 17/08/2026📦 nuqs@2.9.6 is out! 🚀 It fixes an issue with pending URL updates not resetting on Back navigation in Next.js pages router & TanStack Router, when no useQueryState(s) hooks were mounted. Also minor correctness fixes for parsers. nuqs.dev/docs/changel...nuqs.devChangelog | nuqsType-safe search params state management for React. Like useState, but stored in the URL query string. 081
Reposted by François Bestnuqs @nuqs.dev · 05/08/2026📦 nuqs@2.9.5 is out! 🚀 It adds SSR support to the community Inertia adapter, and fixes 6 minor edge-case bugs. Full changelog: nuqs.dev/changelog#v2... Try it out: pnpm add nuqs@latestnuqs.devChangelog | nuqsType-safe search params state management for React. Like useState, but stored in the URL query string. 061
Reposted by François Bestnuqs @nuqs.dev · 29/07/2026📦 nuqs@2.9.3 is out! 🚀 It fixes a bug where state updates would blink/replay when pending state updates done in startTransition were rebased on top of other priority updates. Concurrent React is fun. Try it out: pnpm add nuqs@latest 083
François Best @francoisbest.com · 24/07/2026🗣️ I'll be speaking at @reactadvanced.gitnation.org London again this year! 🇬🇧 My "Maintaining open-source at the age of AI" talk is a fun one, with deep & important discussions about our OSS ecosystem. See you all on October 23rd/26th! Grab your ticket or register for the livestream via my badge:gitnation.comCheck out my badge & claim your free React Advanced 2026 remote ticket!Join 5k engineers worldwide at React Advanced 2026 and meet 40+ top speakers at October 23 - 26, 2026 080
Reposted by François Bestnuqs @nuqs.dev · 24/07/2026📦 nuqs@2.9.2 is out! 🚀 It fixes a React concurrency issue where a discarded render could leave query state stuck out of sync with the URL. Try it out: pnpm add nuqs@latest 091
François Best @francoisbest.com · 21/07/2026If Doom was made in the EU 🍪 The HTM-in-canvas API is really fun to play with. Play it here: doom-c15t.vercel.app 041
Reposted by François Bestnuqs @nuqs.dev · 19/07/2026📦 nuqs@2.9.1 is out! 🚀 It includes many bug fixes, a few found by @shadcn.com's /improve skill 🫶, and also: - Better monorepo & MFE compatibility - Fixed startTransition support in @reactrouter.com v7+ (while loaders run) Also, we have a changelog page now: nuqs.dev/changelognuqs.devChangelog | nuqsType-safe search params state management for React. Like useState, but stored in the URL query string. 091
François Best @francoisbest.com · 09/07/2026The replay of my @forkit.community talk is out: youtu.be/slbSwQo8Xqc?...youtu.beMaintaining open-source at the age of AI - François BestYouTube video by Fork it! Community 1113
François Best @francoisbest.com · 08/07/2026/goal go through all my repos and upgrade them to typescript@^7 Congrats to the team! 🎉 0160
Reposted by François BestNeciu Dan @neciudan.dev · 06/07/2026"The state of your application, instead of living in memory, lives in the URL." New Señors at Scale episode with @francoisbest.com, creator of nuqs: URL state internals, npm supply chain attacks, and AI agents in open source. 🎥 youtu.be/b3AYuuRdyf4 #React #nuqs 1155
François Best @francoisbest.com · 04/07/2026✍️ New blog post: how I refactored the @nuqs.dev release pipeline for npm staged publishing. nuqs.dev/blog/staged-... Also some relevant supply-chain security advice for GitHub Actions & npm package consumers. (words written by hand, with some LLM assistance for supporting diagrams)nuqs.devStaged publishing for supply-chain security | nuqsHow we hardened the nuqs release pipeline against supply-chain attacks. 2327
François Best @francoisbest.com · 02/07/2026I'm live on Twitch for a couple of hours to talk about npm supply-chain security and GitHub Actions. But first, we gotta record some 8bit heavy metal 🤘😈 www.twitch.tv/francoisbesttwitch.tvfrancoisbest - TwitchDon't get pwned + it might get loud 052
François Best @francoisbest.com · 02/07/2026When people say that "@nuqs.dev just works": this is why. app.principal-ade.com/47ng/nuqs 2283
François Best @francoisbest.com · 30/06/2026This is the first GA release that went through our new npm staged publishing pipeline 🙌 Blog post explaining how it works in progress ✍️ 120
François Best @francoisbest.com · 27/06/2026Weekend project: drafting a spec RFC for StandardCodec, a StandardSchema inspired-and-compatible way to bidirectionally convert between two arbitrary data types in TypeScript. Zod codecs, Effect Schema, nuqs parsers, and now Waku codecs are all implementations of this. We need a standard. 4120
François Best @francoisbest.com · 26/06/2026Your company should sponsor Artem if it mocks its HTTP/API layer with mswjs.io. (and if it does not yet, it should) $ npx cashcn npm://msw 100/mmswjs.ioMock Service WorkerAPI mocking library for browser and Node.js 170
François Best @francoisbest.com · 26/06/2026A huge thank you to all my sponsors 💖 Y'all are the reason I can dedicate more time to open-source, my dream being able to do this full-time and still pay the bills and sustain my family while working in the open. Join these wonderful folks, it's one command away: $ npx cashcn franky47 100/m 🫶 4181
François Best @francoisbest.com · 21/06/2026New silly weekend project: `cashcn`, the fastest way to sponsor OSS maintainers. $ npx cashcn franky47 100 Supports: - GitHub repos: 47ng/nuqs - OpenCollective: oc://antfu - NPM packages: npm://msw - recurring: 100/m Redirects to GitHub sponsors pre-filled (URL state FTW) Go sponsor maintainers!github.comGitHub - franky47/cashcn: Sponsor OSS maintainers via the CLISponsor OSS maintainers via the CLI. Contribute to franky47/cashcn development by creating an account on GitHub. 33411
François Best @francoisbest.com · 04/06/2026🌶️ I’m dropping Git tags from my GitHub Actions. I’m updating some of the GitHub Actions I made a while back, and I won’t be releasing them under a Git tag (that allows consuming it as @1.2.3). Those are mutable, and SHA1 pinning is recommended and enforceable anyway. 4170
François Best @francoisbest.com · 29/05/2026🟣 I'm live on Twitch, chill birthday stream 🥳 Playing with local AI models & working on OSS, come say hi! www.twitch.tv/francoisbesttwitch.tvfrancoisbest - TwitchChill birthday stream 🥳 · OSS & local AI 011
François Best @francoisbest.com · 29/05/2026After messing around way too much with tmux + mosh + Ghostty settings to make them play nice, it's good to see projects that wrap this nicely. herdr.devherdr.devHerdr — one terminal for the whole herdTerminal-native agent runtime and multiplexer. Detach, reattach, SSH in, and keep every agent visible. 0330
François Best @francoisbest.com · 28/05/2026Lots of cool folks there 👋 ticker.bskyshelf.space/report/franc... @thibaultleouay.dev @tkdodo.eu @kettanaito.com @tyler.fun @patak.cat @sebastienlorber.com @antfu.me 1161
François Best @francoisbest.com · 28/05/2026Thank you so much upstash.com for sponsoring me! 💖 A lovely early birthday present 🥳 0180
Reposted by François Bestnpmx @npmx.dev · 27/05/2026console.log("happy birthday, @nodejs.org!") 312013
François Best @francoisbest.com · 26/05/2026I did not have the Pope quoting Gandalf about AI on my bingo card today 😳 0152
François Best @francoisbest.com · 25/05/2026The new reality of open-source at the age of AI: - 📈 Downloads going up (3M weekly for @nuqs.dev) - 📉 Human engagement (visit to the docs, stars, issues & discussions) going down. I’ll be talking about this in my talk next week at @forkit.community 4508
François Best @francoisbest.com · 21/05/2026Something awesome about Bluesky: 1. I see a post I'd like to load in my agent. 2. "wouldn't it be nice if I could give it the atproto link?" 3. Wait, markdown would be better, let's try renaming the domain to bsky.md on the off-chance… 4. It works 🤯bsky.mdbsky.md — Bluesky as MarkdownFetch any public Bluesky content as clean, portable Markdown. No auth, no API key. 1422746
François Best @francoisbest.com · 21/05/2026Playing with staged publishing: - You can reject then re-stage the same package. Useful if a workflow botched a release: cancel, reject, and try again. - You can't stage the same package twice (409 Conflict), makes sense. - Is there a timeout on staged packages? We'll see… ⏱️ 1111
François Best @francoisbest.com · 21/05/2026Staged publishing TL;DR 1. You replace `npm publish` with `npm stage publish` 2. It puts the tarball in a staging area for review 3. You approve it via the CLI or web It will land in npm@^11.15.0. I've already turned off non-staged publishing in @nuqs.dev (in the Trusted Publishing settings). 3494
François Best @francoisbest.com · 18/05/2026🟣 I'll be live today on Twitch to talk about the security of GitHub Actions (or lack thereof): - What you can change in your workflows today to avoid being pwned - What you can setup to make sure it stays "secure" over time Gonna be fun, come hang out at 10am CEST: www.twitch.tv/francoisbesttwitch.tvfrancoisbest - TwitchFreelance web developer, open-sourcerer, speaker. Building nuqs, a type-safe search params state manager for React (Next.js, Remix, React Router, React SPA etc) 0112
Reposted by François Bestpatak @patak.cat · 16/05/2026Heartbreaking. And a wake-up call. It is no longer about being difficult to find a way to sustain yourself through your work online. It is no longer sustainable to keep a website up now. Axel has done so much for the web and all of us. Buy one of his books if you can. We've learned so much from him. 431084
François Best @francoisbest.com · 14/05/2026Takeaway from the TanStack vuln: people don't read reports. The number of replies "they should have checked before merging"... 😓 The PR that kicked it off **wasn't** merged. It didn't need to be, and the vuln vector (cache poisoning) was invisible to maintainers. 1180
François Best @francoisbest.com · 14/05/2026Hackers behind Shai-Hulud are now offering crypto bounties to their mates for the trophy of highest vuln on OSS packages. I’m tired boss 😓socket.devTeamPCP and BreachForums Launch $1,000 Contest for Supply Ch...TeamPCP and BreachForums are promoting a Shai-Hulud supply chain attack contest with a $1,000 prize for the biggest package compromise. 2130
François Best @francoisbest.com · 13/05/2026Maintainers with @github.com sponsors: have you received your April payout? Asking as a few of us haven't 🤔 320
François Best @francoisbest.com · 12/05/2026Writing this made me feel sad, angry, borderline sick, but better be safe than sorry. nuqs currently stands at 2.5M weekly downloads, it only takes one angle I haven't seen and defended against to pwn projects that I care about. I have ideas I want to try, stay tuned. We'll be back. 🫶 2240
François Best @francoisbest.com · 09/05/2026Weekend project: making a cricket set for my wife’s birthday 🏏 It’s good to take a break from tokens and to make things with your hands from time to time. 🪚 4100
François Best @francoisbest.com · 06/05/2026Talk prep: - Next week: lightning talk on fast & deterministic tools I use for agentic loop validation (tsgo oxc knip bun:test) - 5th of June: "Maintaining Open Source At The Age Of AI" at @forkit.community in Rouen 🇫🇷: how the job of maintainers is evolving and how/where AI can (and can’t) help. 281
Reposted by François BestNeal Agarwal @neal.fun · 29/04/2026Introducing Cursor Camp, a website to hang out with other cursors. Out now :) > neal.fun/cursor-camp/ 331432456
François Best @francoisbest.com · 28/04/2026Brooks is capturing exactly my feelings on AI at the moment. One minute very excited about what we can now do, head spinning with ideas, and the next speedrunning through the stages of grief for our industry, software craftsmanship and product quality. 0170
Reposted by François BestDominik 🔮 @tkdodo.eu · 22/04/2026On the @sentry.io codebase: - tsc is 56s - tsgo is 9s Use it, NOW 🔥 51287
Reposted by François BestFeross @feross.bsky.social · 23/04/2026🚨 Bitwarden CLI compromised in active supply chain attack. @bitwarden/cli version 2026.4.0 contains malicious code in bw1.js, published after attackers compromised a GitHub Action in Bitwarden's CI/CD pipeline. Developing story... 3104