-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
31 lines (29 loc) · 1.5 KB
/
Copy path.env.example
File metadata and controls
31 lines (29 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Blacksmith — template for `.env`. This file is the ONLY committed env file
# (docs/standards/guardrails.md "Secrets, keys, tokens"). It carries variable
# NAMES and never a value. Copy it: `cp .env.example .env`, then fill `.env`.
#
# The CLI loads this file's sibling `.env` at start (D-270,
# factory/orchestrator/src/dotenv.ts) — no dotenv dependency, no script to
# source. It sets only names the environment does not already hold, so an
# exported key always beats the file:
#
# DEEPSEEK_API_KEY=... smith judge preflight # wins over .env
#
# Anything that is not the CLI — a shell, a test runner, a tool of your own —
# still reads process.env at call time, so load it yourself there:
#
# node --env-file=.env factory/orchestrator/dist/cli.js <ns> <action> ...
# set -a; source .env; set +a
#
# Every variable below is OPTIONAL. Blacksmith's default single-provider
# (Claude) path needs none of them.
# Phase 8 cross-provider judge — DeepSeek API transport.
# Declared by name in factory/policies/crosscheck.yml (deepseek.api_key_env).
# That file ships `deepseek.enabled: auto`, which resolves against this key:
# set it and the provider is on, leave it empty and the provider is silently
# off. It ships `mode: shadow`, so it is called and recorded and does not vote
# until an operator promotes it.
# docs/runbooks/providers.md §1.
DEEPSEEK_API_KEY=
# Codex (the other Phase 8 provider) needs NO key here — it uses the `codex`
# CLI's own ChatGPT-subscription session established once by `codex login`.