Back to templates

Template details

Turborepo + Hono Starter

A Turborepo monorepo starter pairing a Hono API app with a Next.js web app and shared TypeScript, ESLint, and Prettier configs.

About this template

Turborepo + Hono starter is a Vercel-published monorepo boilerplate that combines a Hono API application with a Next.js web app and wires up shared TypeScript, ESLint, and Prettier configuration across every workspace package.

What is the Turborepo + Hono starter?

It is a Turborepo workspace template containing two apps and three shared packages. The api app is built with the Hono web framework and the web app is built with Next.js; @repo/ui is a stub React component library shared by the web and docs applications, @repo/eslint-config bundles lint configurations including eslint-config-next and eslint-config-prettier, and @repo/typescript-config holds the tsconfig.json files reused throughout the monorepo. Every package and app in the repository is written in 100% TypeScript, and the starter is distributed as part of Vercel's curated examples collection.

What makes it stand out?

  • Hono API app — the api workspace ships a Hono server package, so backend routes live in the same repository as the frontend instead of in a separate service.
  • Next.js web app — the web workspace is a Next.js application that consumes the shared UI package.
  • @repo/ui component library — a stub React component library shared by the web and docs apps, giving a single place to add reusable components.
  • @repo/eslint-config — one linting package that already includes eslint-config-next and eslint-config-prettier.
  • @repo/typescript-config — centralized tsconfig.json files used across all packages and apps.
  • Task filtering — commands such as turbo build --filter=docs or turbo dev --filter=web build or run a single workspace.
  • Package-manager agnostic — documented commands cover npm (npx), yarn (dlx and exec), and pnpm (exec), with or without a global turbo install.
  • Remote Caching on Vercel — turbo login and turbo link connect the repository to Vercel Remote Cache, which the page states is free for all Vercel plans.

Who is it for?

Full-stack TypeScript developers: start a new project with a Hono backend and Next.js frontend already sharing lint, type, and component packages. Teams standardizing tooling: replace per-repo ESLint and tsconfig setup with the shared @repo/eslint-config and @repo/typescript-config packages. Vercel users: use vc link --repo to connect the repository and turn on Remote Caching for build artifacts. Monorepo beginners: use the included examples as a working reference for filters, tasks, and caching.

What can you do with the Turborepo + Hono starter?

  • Ship a typed API and frontend together: add Hono routes in the api workspace and call them from the Next.js web app, with both sides in one TypeScript codebase.
  • Reuse components across apps: put shared React components in @repo/ui so the web and docs apps render the same UI.
  • Speed up CI: authenticate with turbo login and link the repo with turbo link to share build caches across machines and pipelines.
  • Run a single workspace: use filters like turbo dev --filter=web to start only the app you are working on.

How does it work?

  1. Enter the project directory and, optionally, connect it to Vercel with vc link --repo.
  2. Run turbo build or turbo dev (or the npx, yarn dlx, and pnpm exec equivalents if turbo is not installed globally).
  3. Add --filter=<package> to target a single app or package.
  4. For shared caches, run turbo login to authenticate with a Vercel account, then turbo link from the repository root. Without this, Turborepo caches locally by default.

Pros and cons

  • Pros: two runtimes in one workspace, all-TypeScript codebase, shared lint and tsconfig packages, documented filter syntax, free Remote Caching on Vercel.
  • Cons: shared Remote Caching requires a Vercel account, and @repo/ui ships as a stub rather than a populated component library.

Pricing

The starter is a free example repository. The page notes that Vercel Remote Cache is free for all Vercel plans; without linking a Vercel account, Turborepo falls back to local caching.

Alternatives

Nx, which centers on its own plugin ecosystem and code generators for monorepo workspaces.

FAQ

What is the Turborepo + Hono starter?

It is a Turborepo monorepo template with a Hono API app, a Next.js web app, a shared React UI package, and shared ESLint and TypeScript configuration packages, all written in TypeScript and published among Vercel's examples.

Does this starter work without a global turbo install?

Yes. The documentation lists package-manager alternatives: npx turbo, yarn dlx or yarn exec turbo, and pnpm exec turbo all run the same build and dev tasks without installing turbo globally.

Can I build just one app in the monorepo?

Yes. Turborepo filters let you target a single workspace, for example turbo build --filter=docs for a build or turbo dev --filter=web to start only the Next.js app.

Do I need a Vercel account to use the starter?

No. Turborepo caches locally by default. A Vercel account is only needed if you want Remote Caching, which is enabled by running turbo login and then turbo link from the repository root.

What tooling is included out of the box?

TypeScript for static type checking, ESLint for linting through the shared @repo/eslint-config package, and Prettier for code formatting, plus remote caching support built into the Turborepo CLI.