Reposted by David BlassArkType @arktype.io · 04/03/2026📢ArkType 2.2 is here. This is a big one, and it's long overdue. Validated functions, type-safe regex, bidirectional JSON Schema, and universal schema interop. Here's what's new 🧵 1332
Reposted by David BlassArkType @arktype.io · 22/12/2025all you need to "learn" ArkType syntax: 1️⃣ start with a typescript keyword 2️⃣ .autocomplete to discover constraints 3️⃣ compose if needed with &, |, etc. 2201
Reposted by David BlassArkType @arktype.io · 18/12/2025tools are just introspectable functions... what if you could define them like this?🤔 191
Reposted by David BlassArkType @arktype.io · 17/12/2025wish TS had rust-style pattern matching? (it already does)🪄 2231
Reposted by David BlassArkType @arktype.io · 16/12/2025🚨Standard JSON Schema v1 just dropped🚨 🟢libraries can now accept ArkType wherever they need JSON Schema 🟢100% type-safe with inference built-in 🟢day one support from AI SDK 🟢TanStack AI and MCP SDK support imminent 3333
David Blass @ssalbdivad.dev · 16/12/2025Next steps: ➡️share the announcement ➡️open issues on projects that can use it ➡️read the announcement standardschema.dev/json-schemastandardschema.devStandard JSON SchemaA standardized JSON Schema representation that preserves inferred type information 010
David Blass @ssalbdivad.dev · 16/12/2025Standard JSON Schema is already being adopted by AI SDK, Tanstack AI, and MCP SDK. Shout out to @lgrammel.bsky.social for day 1 support and this clean example featuring @arktype.io 🙌 120
David Blass @ssalbdivad.dev · 16/12/2025🎉Announcing Standard JSON Schema🎉 The next spec in the Standard Schema family is here to bring library-agnostic JSON Schema to TS. Let's make sure everyone sees it🔁 1201
Reposted by David BlassColin McDonnell 💎 Zod @colinhacks.com · 15/12/2025Introducing ✨ Standard JSON Schema ✨ It's a sister spec to Standard Schema that provides a common interface for any entity that can be converted to JSON Schema 3726
David Blass @ssalbdivad.dev · 11/12/2025the typescript ecosystem *desperately* needs type performance tooling. it's not an overstatement to say this is one of the biggest leaps in that area in the history of the language🙇 1222
David Blass @ssalbdivad.dev · 10/12/2025We couldn't be more excited to get it in your hands. Read more/join the waitlist for early access: pullfrog.compullfrog.comPullfrogThe ultimate agentic GitHub bot. Powered by your favorite coding agents. 150
David Blass @ssalbdivad.dev · 10/12/2025Just tag Pullfrog or setup auto-triggers to... 🐸plan, review, or implement PRs 🐸handle chores like issue triage and labeling 🐸address feedback and CI failures on its own PRs and it just gets better as your agents do. 130
David Blass @ssalbdivad.dev · 10/12/2025Pullfrog is the solution. It's a unified entrypoint to the agent of your choice in GitHub, with triggers that work consistently as the ecosystem evolves. 140
David Blass @ssalbdivad.dev · 10/12/2025With agents becoming more and more capable, GitHub is a natural lower bound for friction. Some agents provide their own GitHub actions, but the result is a half-baked, fragmented DX that ends up feeling bad for everyone involved. 140
David Blass @ssalbdivad.dev · 10/12/2025Earlier this year, @colinhacks.com and I teamed up to create a more open TypeScript ecosystem with Standard Schema. We couldn't get enough of each other so we're partnering to do the same for agents on GitHub. 160
David Blass @ssalbdivad.dev · 10/12/2025sounds fake but I'm starting a company with my nemesis Colin P. Zod and our first hire is @AndaristRake and our first product is now in beta 1402
Reposted by David BlassArkType @arktype.io · 08/12/202595% of ArkType syntax is just TypeScript. The other 5% are extensions like this that are... ✅composable ✅consistent across data types ✅100% safe with helpful type-level error messages 1161
Reposted by David BlassArkType @arktype.io · 05/12/2025once you go type("string") you never go z.back() 1162
Reposted by David BlassArkType @arktype.io · 01/12/2025In the next version of ArkType, any Standard Schema is a valid definition. Zod migration is about to get a whole lot easier🚀 3385
David Blass @ssalbdivad.dev · 20/11/2025<3 thanks for the support as always. we'll get there! big stuff in the works 🧑🍳 020
David Blass @ssalbdivad.dev · 19/11/2025agonized for a long time on syntax to return a regex's capture groups rather than just validating the input string... what do you think? 060
Reposted by David BlassArkType @arktype.io · 18/11/2025📈arkregex just hit 100k installs/week📈 if you're still using untyped RegExp() you may as well just write raw .js 1211
Reposted by David BlassArkType @arktype.io · 13/11/2025string validation has never been this easy arktype🤝arkregex 1151
Reposted by David BlassArkType @arktype.io · 12/11/2025problem: your RegExp is beyond human comprehension solution: pnpm i arkregex 162
Reposted by David BlassArkType @arktype.io · 10/11/2025I'll take "meticulously typed regex features you probably didn't know existed" for $500 1322
Reposted by David BlassArkType @arktype.io · 07/11/2025in the latest version of arktype: regex properties and index signatures from arkregex🔒 1101
Reposted by David BlassArkType @arktype.io · 05/11/2025arkregex is ridiculously optimized. even expressions like this are inferred instantly. but what about the most extreme cases?🧵 1282
Reposted by David BlassArkType @arktype.io · 03/11/2025new RegExp(): ❌types 😴tired arkregex: ✅types 🫨wired 2282
David Blass @ssalbdivad.dev · 30/10/2025cursory investigation in checker.ts seems to suggest this problem would not apply since it looks for delimiters first 110
David Blass @ssalbdivad.dev · 30/10/2025it's an interesting analogy to the performance of `.*.*` though I hadn't thought about that. regardless of the perf impact I definitely value visual clarity so if there is a way to remove redundant ${string}s that isn't too expensive I'd do it (as is already the case most of the time) 120
David Blass @ssalbdivad.dev · 30/10/2025Honestly I don't expect this to be used to validate literals very often because it's not a full guarantee the regex will be satisfied anyways. The types are mostly a way to visualize expressions and to provide narrowing via `.test` 200
Reposted by David BlassJosh Goldberg @joshuakgoldberg.com · 30/10/2025I am looking for a full-time job. Being independent in open source for 3.5+ years has been wonderful. I've gotten done most of the high-level goals I wanted to, and miss having people & structure around me. If you know of a role for a staff-level TypeScript+web developer, let me know! 🙂 1021378
David Blass @ssalbdivad.dev · 30/10/2025it can parse very long expressions without much problem but these combinatorial sequences are the way to blow it up if that is your goal 010
David Blass @ssalbdivad.dev · 30/10/2025hmm I'm not sure there are a ton of cases that are simplified by initially not creating `${string}${string}` but it could be worth looking into what the cost of a final pass like that would be. potentially a lot for what is mostly a cosmetic improvement but happy to be proven wrong 100
David Blass @ssalbdivad.dev · 29/10/2025the cases that begin with `${string}${string}` should be avoidable I'm interested to double check why that's going on. unfortunately for a case like this, I tested doing the check that would be necessary to avoid `${string}${string}` an it's a huge performance hit 110
David Blass @ssalbdivad.dev · 29/10/2025yeah generally that is avoided but there are some cases where if you already have `prefix${string}` there's no way to performantly check that appending another `${string}` is a no-op so it's irrelevant 110
David Blass @ssalbdivad.dev · 28/10/2025when I was this I was like "no way it's way too long" but it actually worked instantly 🤯 obviously the inference is going to be less useful for clarity with this number of branches but the capture groups seem like they work? 120
David Blass @ssalbdivad.dev · 28/10/2025😬 would be interesting. I'm pretty confident in the inference (although happy to be proven wrong) but depending on the complexity of the expression it's going to hit a wall at some point. 120
David Blass @ssalbdivad.dev · 28/10/2025my abusive relationship with typescript's type system continues 3471
Reposted by David BlassArkType @arktype.io · 28/10/2025📢Introducing ArkRegex📢 a drop in replacement for new RegExp() with types ⬇️ 317527
David Blass @ssalbdivad.dev · 28/10/2025Unfortunately, the APIs required for that aren't available for that yet (someone in the ArkType Discord was just looking into this a few days ago). Eagerly awaiting support for some of those introspection + instantiation capabilities @typescriptlang.org 🙏 010