Assets
Horn uses the standard Vite asset model.
public/
Use public/ for files that should be served as-is:
favicon.ico- social images
robots.txtif you do not want to generate it fromserver/routes
Files in public/ are copied to the built client output without import processing.
app/assets/
Use app/assets/ for files that should go through Vite:
- images imported by Vue components
- fonts referenced from CSS
- icons used inside route components
import logoUrl from '../assets/logo.svg'
Use public/ when you need a stable public URL. Use app/assets/ when you want bundling, hashing, and import semantics.