noego.config.yml
App reads a YAML file from the project root, resolves paths from root, and uses the result to start development services and produce production builds.
root: . # default
outDir: dist # default
app:
boot: src/index.ts
watch:
- src/index.ts
- noego.config.yml
server:
main: src/server/server.ts
controllers: src/server/controller
middleware: src/middleware
openapi: src/server/stitch.yaml
watch:
- src/server/**/*.ts
- src/middleware/**/*.ts
- src/server/stitch.yaml
- src/server/openapi/**/*.yaml
client:
main: src/ui/frontend.ts
shell: src/ui/index.html
openapi: src/ui/stitch.yaml
componentDir: src/ui # default: inferred from client.main
watch:
- src/ui/**/*.ts
- src/ui/**/*.tsx
- src/ui/**/*.svelte
- src/ui/stitch.yaml
- src/ui/openapi/**/*.yaml
- vite.config.js
exclude:
- src/server/**
- src/middleware/**
assets:
- src/ui/resources/**
- migrations/**
dev:
watch: true
splitServe: true
port: 3000 # defaultConfiguration Sections
Each section below has its own page with the YAML shape, the files it points at, and examples of what belongs in those files.
Project Boot
Point App at the project entry file and define changes that restart every service.
app.boot, app.watch
Stitch
Split route definitions into focused files and merge them into the document Dinner or Forge reads.
server.openapi, client.openapi
Backend
Configure the Dinner backend entry, controller lookup, middleware lookup, route definition path, and backend watches.
server.main, controllers, middleware, openapi
Frontend
Configure the Forge frontend service, HTML shell, UI route definitions, component root, and bundle boundary.
client.main, shell, openapi, componentDir
Assets
Copy runtime files such as static resources, migrations, and generated artifacts into builds.
assets
Development
Run coordinated router, frontend, and backend services with targeted restart behavior.
dev.watch, splitServe, port
Hooks
Run project commands when matching files change, such as route definitions or asset generation.
hooks[].watch, command, cwd, debounceMs
Vite
Override browser and SSR Vite builds when the normal project Vite config is not enough.
vite.client, vite.ssr