latitude-dev/latitude-llm · Archived

env-configuration

Adding or reading env vars, updating .env.example, or validating config at startup with parseEnv / parseEnvOptional.

First seen May 10, 2026

Installation

$ npx skills add latitude-dev/latitude-llm --skill env-configuration

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from latitude-dev/latitude-llm · top by installs.

npx skills add latitude-dev/latitude-llm

Browse all from latitude-dev/latitude-llm

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 4.6K
License LICENSE
Default branch development
Open issues 26
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,242 B
  • docs SUMMARY.md 141 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 6 installs

SKILL.md

Environment configuration

When to use: Adding or reading env vars, updating .env.example, or validating config at startup with parseEnv / parseEnvOptional.

LAT_ prefix convention

All application environment variables must be prefixed with LAT_ so they do not collide with third-party services, Docker, or common names.

Use LAT_ for:

  • Database URLs and pool settings (LATDATABASEURL, LATPGPOOL_MAX, …)
  • Service endpoints the app reads (CLICKHOUSEURL, LATREDIS_HOST, …)
  • App ports (LATAPIPORT, LATWEBPORT, LATINGESTPORT)
  • Auth, email, OAuth, billing, CORS (LATBETTERAUTHSECRET, LATMAILPIT_HOST, …)
  • Any new variable consumed by Latitude application code

Do not use LAT_ for:

  • NODE_ENV
  • Docker-only init variables (POSTGRESUSER, CLICKHOUSEUSER, …)
  • Config read only by container images (Weaviate, Redis in compose, etc.)
  • Browser-exposed Vite vars: use **VITELAT*** (Vite requires the VITE_ prefix)

Reference: .env.example lists Docker “Services” vs “Latitude Application” (LAT_*) variables.

.env.example maintenance

Every new variable must appear in .env.example:

  • Required: uncommented with a sensible local default (e.g. LATAPIPORT=3001)
  • Optional: commented with a placeholder (e.g. # LATSTRIPESECRETKEY=sktest_xxx)

Parsing in code

Always use parseEnv or parseEnvOptional from @platform/env — never process.env.FOO ad hoc or unprefixed names for app config.

// ❌ Bad - unprefixed or direct access
const port = Number(process.env.PORT)

// ✅ Good - pass the variable name string (parseEnv reads process.env internally)
import { parseEnv, parseEnvOptional } from "@platform/env"
import { Effect } from "effect"

const port = Effect.runSync(parseEnv("LAT_API_PORT", "number", 3001))
const dbUrl = Effect.runSync(parseEnv("LAT_DATABASE_URL", "string"))

For where configuration is wired in apps (clients, routes), see [architecture-boundaries](../architecture-boundaries/SKILL.md).