---
title: "Projects | Stijn Van Hulle"
description: "Open-source projects by Stijn Van Hulle, including Kubb and a TypeScript monorepo starter."
canonical_url: "https://stijnvanhulle.be/projects"
meta:
  author: "Stijn Van Hulle"
  "og:description": "Open-source projects by Stijn Van Hulle, including Kubb and a TypeScript monorepo starter."
  "og:image": "https://stijnvanhulle.be/_og/s/o_46b4190a029b07ce.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "Projects | Stijn Van Hulle"
  "twitter:image": "https://stijnvanhulle.be/_og/s/o_46b4190a029b07ce.png"
---

> Index of every page on this site: [llms.txt](https://stijnvanhulle.be/llms.txt)

**\#**

## **Projects**

# **Open-source work, including Kubb and a TypeScript starter.**

[<h3>**Kubb**</h3>Define your API once and Kubb generates TypeScript types, clients, hooks, validators, and mocks from an OpenAPI specification.**#typescript**** #openapi**** #codegen**** #react-query**** #vue-query**** #zod**** #plugins**** #mcp**** #swr**** #axios**](https://stijnvanhulle.be/projects/kubb) [<h3>**Agents**</h3>Shared skills, rules, commands, subagents, and output styles for Claude Code, Cursor, and Codex, installable as a plugin.**#agents**** #claude**** #cursor**** #codex**** #skills**** #typescript**](https://stijnvanhulle.be/projects/agents) [<h3>**Template**</h3>A TypeScript monorepo starter with pnpm workspaces, Turborepo, oxlint, oxfmt, tsdown, Vitest, Changesets, and CI.**#typescript**** #monorepo**** #tooling**** #turbo**** #pnpm**** #vitest**** #changeset**** #github-actions**** #oxlint**** #claude**](https://stijnvanhulle.be/projects/template) [<h3>**Scrum poker**</h3>Planning poker cards for your phone, with rooms that put every vote, the story, and the team's questions on one shared screen.**#vue**** #nuxt**** #pwa**** #scrum**** #webrtc**](https://stijnvanhulle.be/projects/scrum-poker)

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://stijnvanhulle.be/#website","@type":"WebSite","description":"Front-end engineer from Belgium and creator of Kubb, an open-source TypeScript tool for OpenAPI code generation.","inLanguage":"en","name":"Stijn Van Hulle","url":"https://stijnvanhulle.be/","publisher":{"@id":"https://stijnvanhulle.be/#identity"}},{"@id":"https://stijnvanhulle.be/projects#webpage","description":"Open-source projects by Stijn Van Hulle, including Kubb and a TypeScript monorepo starter.","name":"Projects","url":"https://stijnvanhulle.be/projects","@type":["WebPage","CollectionPage"],"breadcrumb":{"@id":"https://stijnvanhulle.be/projects#breadcrumb"},"isPartOf":{"@id":"https://stijnvanhulle.be/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://stijnvanhulle.be/projects"]}]},{"@id":"https://stijnvanhulle.be/#identity","@type":"Person","description":"Stijn Van Hulle is a front-end engineer from Belgium and the creator of Kubb, an open-source TypeScript tool for generating code from OpenAPI specs. He builds product front ends with React, Vue, and Nuxt.","jobTitle":"Senior Front-end Engineer","name":"Stijn Van Hulle","url":"https://stijnvanhulle.be","address":{"@type":"PostalAddress","addressCountry":"BE"},"image":{"@id":"https://stijnvanhulle.be/#/schema/image/1"},"knowsAbout":["TypeScript","JavaScript","React","Next.js","Vue","Nuxt","Node.js","Redux","Zustand","GraphQL","Zod","Sass","OpenAPI","Swagger","Code generation","REST APIs","Front-end architecture","Web development","Docker","AWS","Git","CI/CD","Open source","AI tooling","Large language models","Agile","Scrum"],"sameAs":["https://github.com/stijnvanhulle","https://www.linkedin.com/in/stijnvanhulle","https://x.com/stijnvanhulle","https://instagram.com/stijnvanhulle","https://www.kubb.dev"],"worksFor":[{"@type":"Organization","name":"Whale","url":"https://usewhale.io","logo":"https://stijnvanhulle.be/brands/whale.png","description":"SaaS company in Ghent building an AI platform for documenting processes, sharing knowledge, and training teams.","address":{"@type":"PostalAddress","addressLocality":"Ghent","addressCountry":"BE"},"sameAs":["https://usewhale.io","https://www.linkedin.com/company/usewhale/"]},{"@type":"Organization","name":"Kubb","url":"https://www.kubb.dev","logo":"https://kubb.dev/logo.png","email":"kubb@kubb.dev","description":"Generate types, clients, hooks, validators, and mocks from one OpenAPI specification.","sameAs":["https://github.com/kubb-labs/kubb","https://discord.gg/shfBFeczrm","https://www.linkedin.com/company/kubb-labs"]}]},{"@id":"https://stijnvanhulle.be/projects#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Home","item":"https://stijnvanhulle.be","position":1},{"@type":"ListItem","name":"Projects","item":"https://stijnvanhulle.be/projects","position":2}]},{"@id":"https://stijnvanhulle.be/#/schema/image/1","@type":"ImageObject","contentUrl":"https://stijnvanhulle.be/avatar.png","inLanguage":"en","url":"https://stijnvanhulle.be/avatar.png"}]}
```

## Sitemap

See the full [sitemap](https://stijnvanhulle.be/sitemap.md) for all pages.
