A fresh clone's first bun run dev line says Rudder is optional and needs Go 1.22+

The dev server's first line on a fresh clone was a warning that rudder-engine is
not built, with a go build command and no word that it is optional or needs Go.
A backend can now carry an optional note, printed as information instead; Rudder's
says it is desktop voice-to-text, fine to skip for the maps, needs Go 1.22+, and
points at the desktop HOWTO.
This commit is contained in:
Doxa Maps 2026-09-28 07:23:17 +00:00
parent 22a1561d2f
commit 79296f87fb

View file

@ -44,6 +44,8 @@ export function devBackends(env = process.env) {
name: 'rudder-engine',
bin: 'backend/bin/rudder-engine',
build: 'cd backend/rudder-engine && go build -o ../bin/rudder-engine .',
// What a fresh clone is told at startup when this backend is not built: it is OPTIONAL (desktop voice).
optional: 'optional: Rudder (desktop voice-to-text) is not built, which is fine for the maps. It needs Go 1.22+; see documentation/HOWTO-build-the-desktop-app.md.',
route: '/api/rudder',
port: Number(process.env.RUDDER_PORT || 5193),
env: { RUDDER_PORT: String(process.env.RUDDER_PORT || 5193), RUDDER_NEMO_PORT: String(process.env.RUDDER_NEMO_PORT || 5194) },
@ -238,7 +240,11 @@ export function backendDevPlugin(root, env = process.env) {
b.fetch(root, logger).then((ok) => { REG.fetching.delete(b.name); if (ok) launch() })
continue
}
logger.warn(`[backend] ${b.name} not built — its plugin will show "engine offline". Build: ${b.build}`)
// An OPTIONAL backend is a note, not a warning: a stranger's first `bun run dev` line said
// "rudder-engine not built … go build …" with no word that it is optional or needs Go (upg100's
// fresh-clone run). A backend without that note keeps the build instruction.
if (b.optional) logger.info(`[backend] ${b.optional}`)
else logger.warn(`[backend] ${b.name} not built — its plugin will show "engine offline". Build: ${b.build}`)
continue
}
launch()