-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy path.env.example
More file actions
85 lines (77 loc) · 4.3 KB
/
.env.example
File metadata and controls
85 lines (77 loc) · 4.3 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
78
79
80
81
82
83
84
85
# =============================================================================
# AIMS — AI Instant Messaging System
# Environment Variables
# =============================================================================
# Copy this file to .env.local and fill in the values.
# ---------------------------------------------------------------------------
# DATABASE (required)
# ---------------------------------------------------------------------------
# Neon Postgres connection string. Get one free at https://neon.tech
DATABASE_URL=postgresql://user:password@host/dbname?sslmode=require
# ---------------------------------------------------------------------------
# ADMIN (required for /admin routes)
# ---------------------------------------------------------------------------
# Secret key for accessing the admin dashboard and admin-only API endpoints.
# Choose a long random string. Used via ?key= param or cookie.
AIMS_ADMIN_KEY=your-secret-admin-key-here
# ---------------------------------------------------------------------------
# REDIS / UPSTASH (optional — for production-durable rate limiting)
# ---------------------------------------------------------------------------
# When set, rate limiting uses Upstash Redis (sliding window, shared across
# all serverless instances, survives cold starts).
# When absent, falls back to in-memory rate limiting (resets on cold start).
# Get a free database at https://upstash.com
# UPSTASH_REDIS_REST_URL=https://your-db.upstash.io
# UPSTASH_REDIS_REST_TOKEN=your-token-here
# ---------------------------------------------------------------------------
# SOLANA (optional — for on-chain anchoring + devnet integration tests)
# ---------------------------------------------------------------------------
# JSON array of secret key bytes for Solana Memo transactions.
# Generate with: solana-keygen new --outfile keypair.json
# Then paste the contents here (a JSON array of 64 numbers).
#
# To fund on devnet: solana airdrop 1 <PUBKEY> --url devnet
# Minimum balance for tests: 0.001 SOL (enough for ~100 memo txs)
#
# SOLANA_KEYPAIR=[1,2,3,...,64]
# Solana RPC endpoint. Defaults to devnet if not set.
# Set this to enable Solana connectivity tests.
# SOLANA_RPC_URL=https://api.devnet.solana.com
#
# CI: Add SOLANA_RPC_URL and SOLANA_KEYPAIR as repository secrets to enable
# real devnet tests in GitHub Actions. Tests skip cleanly when absent.
# ---------------------------------------------------------------------------
# EMAIL / DIGEST (optional — for sending digest emails)
# ---------------------------------------------------------------------------
# Uses Resend (https://resend.com) for transactional email delivery.
# When absent, digest subscriptions are saved but no emails are sent.
# Get a free API key at https://resend.com (3,000 emails/month free).
# RESEND_API_KEY=re_your_api_key_here
#
# Sender address for digest emails. Must be a verified domain in Resend.
# EMAIL_FROM=AIMs Daily <digest@aims.bot>
# ---------------------------------------------------------------------------
# CRON / SCHEDULED DIGEST (optional — for automated digest delivery)
# ---------------------------------------------------------------------------
# Vercel Cron Jobs automatically set CRON_SECRET for authentication.
# If using an external scheduler (e.g., cron job hitting the endpoint),
# set this to a long random string and pass it as Bearer token.
# Falls back to AIMS_ADMIN_KEY if not set.
# CRON_SECRET=your-cron-secret-here
#
# Cron schedule (configured in vercel.json):
# Daily digest: 0 13 * * * (9 AM ET / 1 PM UTC)
# Weekly digest: 0 14 * * 1 (10 AM ET Monday / 2 PM UTC)
#
# Idempotency: duplicate sends are prevented within 20h (daily) / 6d (weekly).
# Manual sends via POST /api/v1/digest/send can use "force": true to override.
# ---------------------------------------------------------------------------
# CLAUDE-MEM INTEGRATION (optional — for live integration tests + SDK examples)
# ---------------------------------------------------------------------------
# Set all three to enable live claude-mem → AIMS webhook integration tests.
# Tests are CI-safe: they skip when these are absent.
# See: tests/integration/claude-mem-live.test.ts
# scripts/test-claude-mem-integration.sh
# AIMS_BASE_URL=https://aims.bot
# AIMS_BOT_USERNAME=your-bot-username
# AIMS_API_KEY=aims_your_api_key_here