Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ts-template

Bun + TypeScript 7 + Hono + TanStack Query/Router + Clean Architecture template.

Structure

  • packages/domain - Entities (Zod + const object), DomainErrors
  • packages/application - UseCases, Ports
  • packages/infrastructure - Repositories (Drizzle mapper, InMemory)
  • packages/contract - createApp(deps) + DTOs + error mapping (hono/client typed)
  • packages/shared - ServerError, parseOrThrow, zod-helpers
  • packages/config - test.for helper
  • apps/api - Composition root (createApp + Bun.serve)
  • apps/web - Vite + React + TanStack Router/Query + Tailwind

Skills

See skills/*/SKILL.md (source of truth is code, skills describe core ideas).

  • architecture, domain-entity, domain-error, application-usecase, infrastructure-repository, contract, testing

Commands

bun install
cp apps/web/.env.example apps/web/.env
bun run typecheck
bun run test
# terminal 1
bun run --filter @repo/api dev
# terminal 2
bun run --filter @repo/web dev

開発時はapps/web/.env.exampleをapps/web/.envにコピーしてからAPIとWebを起動します。Webの/apiリクエストはVite proxy経由でAPI(localhost:3000)へ転送されます。

Import policy

  • 通常の公開APIは各packageのroot(例: @repo/domain、@repo/application)からimportします。
  • テスト専用のfactoryだけは@repo/domain/testingからimportします。
  • package内部では、公開APIを経由せず同一package内の相対パスを使います。
  • srcへのdeep importはpackage境界を壊すため、exportsに明示したもの以外は使いません。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages