Skip to content

Latest commit

 

History

History
61 lines (49 loc) · 1.68 KB

File metadata and controls

61 lines (49 loc) · 1.68 KB

Repository Structure Reference

This document describes the current structure.

src/ layout

src/
  features/
    admin/
    api/
    public/
    tickets/
    wallet/
    ...                    # HTTP routing and route handlers grouped by feature

  shared/                  # reusable/server-side modules
    db/
    rest/
    jsx/
    crypto/
    columns/
    merge/
    wallets/
    ...

  ui/                      # presentation layer
    client/                # browser-side scripts
    static/                # static assets (+ generated bundles)
    templates/             # TSX templates (public/admin/email)

  docs/                    # API/doc endpoint content
  test-utils/              # shared test helpers/factories/mocks
  index.ts                 # local/server bootstrap
  edge.ts                  # Bunny edge bootstrap
  fp.ts                    # functional primitives
  static.d.ts              # static module declarations

Import conventions

  • #routes/* resolves to src/features/*.
  • #shared/* resolves to src/shared/*.
  • #templates/* resolves to src/ui/templates/*.
  • #static/* resolves to src/ui/static/*.
  • #jsx/* resolves to src/shared/jsx/*.

Build/tooling conventions

  • Client bundle inputs live in src/ui/client and outputs are emitted to src/ui/static.
  • Runtime entrypoints are src/index.ts and src/edge.ts.
  • Static file route handlers read from src/ui/static.

Contributor guidance

  • Put new route handlers in the relevant src/features/* module.
  • Put shared server/domain logic in src/shared.
  • Put browser scripts in src/ui/client.
  • Put templates in src/ui/templates.
  • Put static assets in src/ui/static.