-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
77 lines (59 loc) · 4.31 KB
/
Copy path.env.example
File metadata and controls
77 lines (59 loc) · 4.31 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# .env.example — copy to .env.local and fill in values
# Run `pnpm init` (or `npx devnotion init`) for an interactive guided setup.
# ─── GitHub ──────────────────────────────────────────────────────────────────
# Personal Access Token — scopes: read:user, repo, read:org
# Create at: https://github.com/settings/tokens
GITHUB_TOKEN=ghp_your_token_here
GITHUB_USERNAME=your_github_username
# ─── LLM Provider ────────────────────────────────────────────────────────────
# Choose one provider. Default: gemini (free tier available)
LLM_PROVIDER=gemini # gemini | openai | anthropic
# Google Gemini — comma-separated keys for round-robin rate limit distribution
# Free keys at: https://aistudio.google.com (create multiple projects for higher quota)
GOOGLE_API_KEYS=AIzaSy_key1,AIzaSy_key2,AIzaSy_key3
# OpenAI — required when LLM_PROVIDER=openai
# OPENAI_API_KEY=sk-proj-your_openai_key
# Anthropic — required when LLM_PROVIDER=anthropic
# ANTHROPIC_API_KEY=sk-ant-your_anthropic_key
# Optional: override the default model for the selected provider
# Defaults: gemini -> gemini-3-flash-preview | openai -> gpt-4o-mini | anthropic -> claude-3-5-haiku
# LLM_MODEL=gemini-3-flash-preview # override model (default per provider)
# Max output tokens for narration (Gemini 3 is a thinking model — keep generous)
# NARRATION_MAX_TOKENS=8192
# ─── Notion ──────────────────────────────────────────────────────────────────
# Internal Integration Token — create at: https://notion.so/my-integrations
# Share your parent page with the integration (Share → Invite → select integration)
NOTION_TOKEN=ntn_your_token_here
NOTION_PARENT_PAGE_ID=your_notion_page_uuid_or_url
# ─── Publishing ──────────────────────────────────────────────────────────────
# Comma-separated list of platforms to publish to
# Options: notion, devto, hashnode
PUBLISH_TARGETS=notion
# auto = publish immediately | draft = save as drafts for review
PUBLISH_MODE=auto
# DEV.to — required when devto is in PUBLISH_TARGETS
# Get your API key at: https://dev.to/settings/extensions
# DEVTO_API_KEY=your_devto_api_key
# Hashnode — required when hashnode is in PUBLISH_TARGETS
# Get token at: https://hashnode.com/settings/developer
# Publication ID is in your blog dashboard settings
# HASHNODE_TOKEN=your_hashnode_pat
# HASHNODE_PUBLICATION_ID=your_publication_id
# ─── Narration ───────────────────────────────────────────────────────────────
# Blog writing tone
BLOG_TONE=casual # professional | casual | technical | storytelling
# Optional: focus areas the narrator should emphasize (comma-separated)
# FOCUS_AREAS=TypeScript performance,open source,API design
# Optional: override default models (for Gemini-based Mastra agent)
# NARRATOR_MODEL=gemini-3-flash-preview
# UTILITY_MODEL=gemini-3-flash-preview
# ─── Behavior ────────────────────────────────────────────────────────────────
# LOG_LEVEL=info # debug | info | warn | error
# ─── Dashboard ───────────────────────────────────────────────────────────────
# Port for the web dashboard (pnpm dashboard)
DASHBOARD_PORT=3000
# Optional: password to protect the dashboard (leave blank = no auth).
# Plaintext is hashed (scrypt) at startup; login issues a 10-minute session.
# DASHBOARD_PASSWORD=your-strong-password
# Or store a pre-computed salt:hash so the plaintext never lives in a file:
# DASHBOARD_PASSWORD_HASH=salt:derivedKeyHex