doxa-maps/.env.example
Doxa Maps 1ca78d6d5d A laptop that follows the table says when it needs credentials, and the last main defaults say development
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.
2026-09-29 00:59:14 +00:00

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)