This document describes the current structure.
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
#routes/*resolves tosrc/features/*.#shared/*resolves tosrc/shared/*.#templates/*resolves tosrc/ui/templates/*.#static/*resolves tosrc/ui/static/*.#jsx/*resolves tosrc/shared/jsx/*.
- Client bundle inputs live in
src/ui/clientand outputs are emitted tosrc/ui/static. - Runtime entrypoints are
src/index.tsandsrc/edge.ts. - Static file route handlers read from
src/ui/static.
- 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.