Skip to main content

Profile files

Vitruvian setup creates:
  • .env.Vitruvian (active profile pointer)
  • .env.Vitruvian.<profile> (profile-specific values)
Supported profiles:
  • dev
  • personal
  • team
  • prod

Essential variables

VariableRequiredPurpose
VITRUVIAN_PROFILERecommendedSelects active profile file
VITRUVIAN_MODEL_PROVIDERYesopenai, anthropic, gemini
OPENAI_API_KEY / ANTHROPIC_API_KEY / GEMINI_API_KEYConditionalProvider credentials
VITRUVIAN_MODEL_NAMENoOverride provider default model
VITRUVIAN_WORKING_DIRECTORYNoBase workspace for file operations
VITRUVIAN_MEMORY_CONNECTION_STRINGNoDurable memory and audit storage

Deployment-mode variables

ModeRequired variables
Local CLInone beyond provider config
DiscordDISCORD_BOT_TOKEN, DISCORD_CHANNEL_ID
WebSocketVITRUVIAN_WEBSOCKET_URL
Optional WebSocket helpers:
  • VITRUVIAN_WEBSOCKET_PUBLIC_URL
  • VITRUVIAN_WEBSOCKET_DOMAIN

Non-interactive profile switching

./scripts/install.sh dev
./scripts/install.sh team

Gotchas

  • Use lowercase provider values (openai, anthropic, gemini) when following the installation flow in this documentation.
  • Do not mix old variable prefixes with new ones in the same profile.
  • If setup prompts for keys repeatedly, make sure your profile file is writable.
Next: read Running Vitruvian day to day.