The joining page, DEPLOY and the laptop sync default moved to development in the commit before this one. This finishes the move and closes what a fresh clone's friend test found. - landing-preconditions diffs against origin/development when no landing branch is exported, instead of main. - CLOUD-DEVELOPMENT-ENVIRONMENT, the plugin-designer skill (SKILL.md, workflow, glossary) and the shared dev server's notes land on and follow development; the skill says never to push to main. - The sync fetches with the laptop's own credentials. git runs with prompts off, so on a clone with no credential helper it failed every interval with a bare "fetch-failed / remote: Unauthorized", which read as a broken server. That case is now its own state, needs-credentials: the log (once, not every tick) and /api/dev-sync say "dev-sync needs git credentials for <remote>". The joining page and .env.example say so, and that a fresh clone starts on main and must switch to development before the sync can fast-forward it. Measured in scratch repos: the private remote with no helper gives needs-credentials and one warning over two ticks; a local remote with no DX_SYNC_BRANCH follows development and fast-forwards; a missing remote stays fetch-failed.
42 lines
3.3 KiB
Text
42 lines
3.3 KiB
Text
# .env.example — every local setting, each shown with its DEFAULT.
|
|
# A fresh clone needs NONE of this: `bun run dev` works with no .env at all. To change something, copy
|
|
# this file to .env (or .env.local, which wins; both are gitignored) and edit only the lines you need.
|
|
# An empty value means "use the default".
|
|
|
|
# ── Maps ─────────────────────────────────────────────────────────────────────────────────────────
|
|
# A Mapbox public token (starts with pk.) for the map backgrounds. Empty = no Mapbox background; set
|
|
# "provider": "maplibre" on a plugin (or ?provider=maplibre on a page) to draw with MapLibre, no key.
|
|
# Production hosts pass the token through profile-config.tk; never bake it into a bundle.
|
|
VITE_MAPBOX_TOKEN=
|
|
# The data API the maps read when a plugin's profile does not name one (profile apiBaseUrl and a host
|
|
# page's window.MAP_APP_API_URL come first). This is the value the maps are built against.
|
|
VITE_API_BASE_URL=https://pray.doxa.life
|
|
|
|
# ── Hot reload from a shared branch (internal/dev-sync-plugin.mjs) ───────────────────────────────
|
|
# Empty = OFF: the dev server hot-reloads YOUR local edits only (the default).
|
|
# Set to a remote name (origin) or a repo URL (https://…/repo.git) and `bun run dev` fetches every few
|
|
# seconds and fast-forwards when this checkout is on that branch with no local edits or commits; otherwise
|
|
# it only reports "development is N commits ahead" (in the log and at /api/dev-sync). It never merges over your work.
|
|
# Following needs read access to the repo (a git credential helper, or an SSH remote); without it the log says so.
|
|
DX_SYNC_REMOTE=
|
|
# The branch to follow. Empty = development (the shared table; main is production).
|
|
DX_SYNC_BRANCH=
|
|
# Seconds between checks. Empty = 5 (minimum 2).
|
|
DX_SYNC_INTERVAL=
|
|
|
|
# ── PocketBase, the backend for plugins (internal/backend-dev-plugin.mjs) ────────────────────────
|
|
# Empty = a LOCAL PocketBase: `bun run dev` downloads the pinned binary once (checksum-verified) and
|
|
# serves it at /api/pb, admin UI /api/pb/_/, data in .pb/dev (gitignored). Nothing leaves this computer.
|
|
# Set to a PocketBase root (e.g. https://<your team's dev server>/pb) to use a shared team one instead.
|
|
DX_PB_URL=
|
|
# The local PocketBase's port. Empty = 8090 (change it only if the log says the port is in use).
|
|
DX_PB_PORT=
|
|
|
|
# ── Rudder, voice to text (backend/rudder-engine) ────────────────────────────────────────────────
|
|
# These are read from the SHELL ENVIRONMENT, not from this file (e.g. `RUDDER_PORT=6193 bun run dev`).
|
|
# Rudder runs when its engine is built: install Go 1.22+ and run `bash backend/rudder-engine/setup-runtime.sh`.
|
|
# RUDDER_ENGINE 0 = never start the engine here (default: start it if it is built)
|
|
# RUDDER_PORT the engine's port (default 5193)
|
|
# RUDDER_NEMO_PORT the speech server's port (default 5194)
|
|
# RUDDER_HOME where the runtime and model live (default ~/.local/share/rudder)
|
|
# RUDDER_LANG the default language (default en-US)
|