François Best @francoisbest.com · 25/09/2026Yeah I was gonna say, the Three.js and Blender things Astra and Opus 5.5 are outputting are nuts. But you still need care and refinement, raw output is a different kind of slop. Everything becomes slop when everyone mass-produces the same thing, and we've been given weapons of mass production. 230
François Best @francoisbest.com · 25/09/2026You should publish it, I liked (and related to) the first two chapters. 040
François Best @francoisbest.com · 25/09/2026Uh I can’t message you either 😅 I opened my DMs, try giving it another go from your end. 130
François Best @francoisbest.com · 25/09/2026I'm trying to record my talk for React Advanced, about why OSS isn't dead, but the cognitive dissonance pushes back hard. It's definitely different. I miss the days when we could have discussions as humans on GitHub issues & PRs, now it's just agent-to-agent. 360
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 · 29/07/2026If that applies to staged packages too, that would be a good time to kick off a review phase. But as others mentioned, "who watches the watchmen?" is the concern. I can see a lot of workflows that expect the package to be available after publish breaking on a delay (eg: for integration tests). 120
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
François Best @francoisbest.com · 19/07/2026You can disable the verbs (but no luck bringing the details of what it's doing aside from ctrl+o to expand): github.com/franky47/dot...github.com 120
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 · 15/07/2026You can apply it at either the job or the step level. If a job fails with it, it won’t fail the run (but will still mark the job red). 100
François Best @francoisbest.com · 15/07/2026continue-on-error: true? docs.github.com/en/actions/r...docs.github.comWorkflow syntax for GitHub Actions - GitHub DocsA workflow is a configurable automated process made up of one or more jobs. You must create a YAML file to define your workflow configuration. 100
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/2026Credit where it's due, it's from this library of components: ui.justinlevine.me/docs/compone...ui.justinlevine.mejal-co/uiOpen-source React component library. Polished, composable components for React and Tailwind CSS — distributed via a shadcn-compatible registry. Free forever, never paywalled. 020
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 · 01/07/2026Not yet, my verification flow is based on reproducible builds, to match the integrity SHA512 computed at stage publish time (to detect tampering on the GitHub runner) If that fails, it shows me a diff of the tarball contents for review. 120
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 · 29/06/2026💯 I have the same problem with nuqs, unfortunately for some transforms that the type system cannot represent (eg: positive integers vs `number`), you need runtime verification for the codecs, with fuzzing or property testing (cc @nicolas.dubien.me). 220
François Best @francoisbest.com · 27/06/2026I’d love your opinion on this once I have something to share. 100
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/2026And for those who have the chance of not being glued to a terminal: github.com/sponsors/fra...github.comSponsor @franky47 on GitHub SponsorsI build open-source TypeScript libraries for privacy-first, secure and accessible web apps. 040
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 · 11/06/2026I discovered it from @benv.ca passage in @syntax.fm, your blog post was very useful for adding it to lazygit, thanks! zander.wtf/blog/lazygit...zander.wtfUsing hunk as a diff viewer in lazygit | Zander MartineauA short guide to getting hunk rendering inside lazygit's diff panel on macOS 010
François Best @francoisbest.com · 05/06/2026It was Claude with the NPM package in the GitHub Actions. 🔪 020
François Best @francoisbest.com · 05/06/2026I could submit it but there’s a 100% chance that the content will be 90% different 😅 110
François Best @francoisbest.com · 05/06/2026Yes that’s the “how to capture the audience in the first 10s” intro 😅 140
François Best @francoisbest.com · 05/06/2026At @forkit.community Rouen: www.forkit.community/events/2026-...forkit.communityMaintaining open-source at the age of AI | Rouen, France, 2026Come meet more than 200 people sharing their real professional lives and feedback. No nonsense, no divas, just genuine individuals discussing real problems and solutions. From students eager to learn ... 021
François Best @francoisbest.com · 04/06/2026I would argue the SHA1 is the lockfile, but the discovery system to map it to version bumps (including breaking changes indeed) is what's missing as a first-party (pinact & zizmor have both a way to resolve/verify the SHA1 against a tag). Making tags immutable by default (after a delay) might help. 100
François Best @francoisbest.com · 04/06/2026Yes that becomes the problem. Currently trying this out on a personal action that nobody else uses, so less of an issue, but having to commit the previous SHA1 (because ouroboros) is annoying indeed. bsky.app/profile/fran... 100
François Best @francoisbest.com · 04/06/2026Stong Jurassic Park vibesstatic.klipy.comShocked: It's a UNIX System! I Know This!ALT: Shocked: It's a UNIX System! I Know This! 150