credentials.example.sh
Language Shell4.9 KB98 lines
# Meridian dashboard credentials. Copy these exports into your shell profile.## Not a .env file. This repo has no .env reader, deliberately: a credentials# file in the working tree is readable by every tool and agent that touches the# repo, and a secret that has been read is a secret that has to be rotated.# Keeping them in the shell profile keeps them out of the tree entirely.## Which file:## zsh (macOS default since Catalina) ~/.zshrc interactive shells# ~/.zshenv every shell, incl. cron# bash ~/.bash_profile or ~/.bashrc# tcsh / csh ~/.cshrc uses `setenv NAME value`,# not the `export` syntax below## Check which shell you are actually in: echo $SHELL## If you ever run this from cron or a launchd job, use ~/.zshenv: ~/.zshrc is# only sourced for interactive shells, and a scheduled run would find nothing.## After editing, open a new terminal or `source` the file. Existing terminals# keep the old values, and nothing in the repo can detect that.# --- Ninety (90) -------------------------------------------------------------# Personal Access Token: Ninety > User Settings > Developer Settings.# Must belong to a company Owner or Admin. GET /todos/company returns 403 for# every other role, and that endpoint is the entire company view.# Shown once at generation. Record the expiry date in a calendar.# Generating a new token invalidates the previous one.export NINETY_TOKEN=""# Optional. Only if Ninety changes the base URL.# export NINETY_BASE_URL="https://api.public.ninety.io/v1"# export NINETY_RPS=20# --- Bitrix24 ----------------------------------------------------------------# Inbound webhook URL including the token path segment. Read scopes: crm, task.# https://yourcompany.bitrix24.com/rest/<user-id>/<token>/export BITRIX_WEBHOOK_URL=""# --- Plinth ------------------------------------------------------------------# Read-only Plinth API key. Plinth caps at 10 requests / 10 seconds; the client# throttles rather than failing, so a wide window just runs slower.export PLINTH_API_KEY=""# --- Anthropic (the briefing model) ------------------------------------------# Create in a dedicated Console workspace with its own monthly spend limit.# Workspace-owned keys survive the creator being removed; personal keys do not.# One run a day costs little; set a limit a few times the expected monthly# spend so a runaway loop stops long before it becomes a bill.export ANTHROPIC_API_KEY=""export ANTHROPIC_MODEL="claude-opus-5"export ANTHROPIC_BASE_URL="https://api.anthropic.com/v1"# Point ANTHROPIC_BASE_URL at a local OpenAI-compatible server instead# (LM Studio, mlx_lm.server, Ollama, vLLM) and the transport switches itself:# export ANTHROPIC_BASE_URL="http://127.0.0.1:1234/v1"# export ANTHROPIC_MODEL="qwen3-30b-a3b-instruct"# --- Fathom (meeting commitments) --------------------------------------------# One key per person; Fathom has no org-level key. A key returns its owner's# recordings plus meetings Fathom shares with that user by a mechanism the API# does not describe (`shared_with` reads `no_teams` on all of them), so every# key comes back with more meetings than its owner recorded.## Two consequences, and they pull in opposite directions:## Coverage. The board sees the union of what its keys return, so people who# hold no key still have meetings on the board. Whether all of their# recordings arrive cannot be known from here.## Access. Fathom's own permissions do not gate this board. Everything a key# can see lands in the snapshot, and the board's own participant filter is the# only thing keeping a meeting off a non-attendee's page. Do not add a key# that was not deliberately handed over for this purpose.## Create at Fathom > Settings > API. Which names are read is decided by# config/fathom-keys.ts, not by this file: exporting FATHOM_KEY_ROSA with no# line in that config does nothing.## Also needed in the Worker. The 6:00 AM CT cron runs in Cloudflare, which# cannot see your shell. Each key goes in twice:# cd apps/worker && npx wrangler secret put FATHOM_KEY_INESexport FATHOM_KEY_SAM=""export FATHOM_KEY_INES=""export FATHOM_KEY_THEO=""# --- Gmail, for the consolidated inbox tab -----------------------------------# Nothing goes here. The inbox's Gmail credentials live only in Worker# secrets: per-mailbox refresh tokens (GMAIL_REFRESH_*, minted by# `pnpm inbox:auth`, which pipes them straight into `wrangler secret put`) or a# service-account key (GMAIL_SA_EMAIL and GMAIL_SA_KEY).## Those open other people's mailboxes, so they are deliberately not something# the repo, this file, or your shell profile ever holds.# --- misc --------------------------------------------------------------------# export DEBUG=true # logs every request path to stderr. Noisy.