Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
1b21ba9
feat: Complete PocketBase integration with comprehensive testing
rainmana Oct 23, 2025
40feff6
docs: Add comprehensive release notes for v1.1.0 PocketBase integration
rainmana Oct 24, 2025
8083c58
feat: Add safe collections version with mock responses
rainmana Oct 24, 2025
e2d8f83
feat: Add gradual real version with mock responses foundation
rainmana Oct 24, 2025
8b53204
docs: Add comprehensive release notes for v1.2.0 gradual real version
rainmana Oct 24, 2025
6d291df
Fix PocketBase field mapping issue with proper schema definitions
rainmana Oct 24, 2025
edc0f05
Complete comprehensive testing and fix list_sessions method
rainmana Oct 24, 2025
286425b
Update README with PocketBase integration details
rainmana Oct 24, 2025
28a65c4
Implement real intelligence feeds for NVD, MITRE ATT&CK, and OWASP
rainmana Oct 24, 2025
698edb8
Complete intelligence feeds documentation and testing
rainmana Oct 24, 2025
5e009e5
✅ COMPLETE: Intelligence Feeds with 100% Test Pass Rate
rainmana Oct 24, 2025
8788a5f
🔧 FIX: Proper error handling and REST API base endpoint
rainmana Oct 24, 2025
349f67d
🚨 HANDOFF: Complete project status and issues documentation
rainmana Oct 24, 2025
0fa20ae
TinyBrain v2.0 Complete - Full Implementation with PocketBase and MCP-Go
rainmana Oct 24, 2025
ff724f1
Fix TinyBrain v2.0 MCP server with proper database initialization
rainmana Oct 24, 2025
831a983
TinyBrain v2.0.0 - Clean repository with PocketBase backend and MCP i…
rainmana Oct 24, 2025
a24ad81
Remove duplicate go.mod.v2 file
rainmana Oct 24, 2025
e180ed4
Fix module path - remove duplicate /v2
rainmana Oct 24, 2025
dd2345b
Fix PocketBase branch: consolidate to single main.go, add comprehensi…
rainmana Nov 26, 2025
b212390
Merge v2.0-pocketbase-clean into main: PocketBase implementation with…
rainmana Nov 26, 2025
7905c29
Refactor handleSearchMemories and handleListSessions to acknowledge l…
rainmana Nov 26, 2025
1ad0353
Remove pocketbase_integration_example.go file
rainmana Nov 26, 2025
ab93df4
Remove pocketbase_integration_example.go file
rainmana Nov 26, 2025
f723b49
Update README and main.go for PocketBase integration and versioning
rainmana Nov 26, 2025
d503e74
refactor: Integrate PocketBase's CLI for server execution and configu…
rainmana Nov 28, 2025
8f18c70
feat: Implement automated releases with GoReleaser and GitHub Actions…
rainmana Nov 28, 2025
5276dc8
test: Update tests for new main() implementation without Start() method
rainmana Nov 28, 2025
3bdfa25
fix: Remove GOVERSION ldflags to fix release build error
rainmana Nov 28, 2025
af51d20
feat: Add simple, user-friendly CLI with helpful --help output
rainmana Nov 28, 2025
9c02d5d
refactor: Remove obsolete files and scripts related to TinyBrain's pr…
rainmana Dec 1, 2025
d15b7a9
refactor: Rename server command and update related documentation for …
rainmana Dec 1, 2025
cd8c6d4
fix: Update GoReleaser config for tinybrain binary name
rainmana Dec 1, 2025
db8033c
fix: Add cmd/tinybrain directory that was ignored by gitignore
rainmana Dec 1, 2025
d99eed3
fix: Update gitignore to not ignore cmd/tinybrain directory
rainmana Dec 1, 2025
79e8f89
Initial plan
Copilot Dec 4, 2025
571d083
Complete Phase 1: Documentation, architecture, and infrastructure con…
Copilot Dec 4, 2025
be1c7d4
Add Phase 2 quick start guide and comprehensive web version summary
Copilot Dec 4, 2025
126cb82
Fix GitHub Actions workflow security: Add explicit permissions to all…
Copilot Dec 4, 2025
8d8c26e
Add comprehensive multi-user MCP architecture documentation with dual…
Copilot Dec 5, 2025
ae5eb33
Address code review feedback: clarify API key examples and add pricin…
Copilot Dec 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
166 changes: 166 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
# TinyBrain Environment Configuration Template
# Copy this file to .env.local for development

# =============================================================================
# SUPABASE CONFIGURATION
# =============================================================================
# Get these from: https://app.supabase.com/project/_/settings/api

# Supabase project URL
SUPABASE_URL=https://xxxxxxxxxxxxx.supabase.co

# Supabase anonymous/public key (safe to expose in frontend)
SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

# Supabase service role key (keep secret! server-side only)
SUPABASE_SERVICE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

# =============================================================================
# DATABASE CONFIGURATION
# =============================================================================
# Direct PostgreSQL connection (for migrations, backups, etc.)
# Get from: https://app.supabase.com/project/_/settings/database

DATABASE_URL=postgresql://postgres:[PASSWORD]@db.xxxxxxxxxxxxx.supabase.co:5432/postgres

# Connection pool settings
DB_MAX_CONNECTIONS=20
DB_IDLE_CONNECTIONS=5
DB_MAX_LIFETIME=300s

# =============================================================================
# SERVER CONFIGURATION
# =============================================================================

# HTTP server bind address
# Local: 127.0.0.1:8090
# Railway: 0.0.0.0:$PORT (Railway sets PORT automatically)
TINYBRAIN_HTTP=127.0.0.1:8090

# Environment (development, staging, production)
TINYBRAIN_ENV=development

# Log level (debug, info, warn, error)
LOG_LEVEL=info

# =============================================================================
# AUTHENTICATION & SECURITY
# =============================================================================

# JWT secret for additional API tokens (min 32 characters)
# Generate with: openssl rand -base64 32
JWT_SECRET=your-super-secret-jwt-key-min-32-chars-please-change-this

# CORS allowed origins (comma-separated)
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:8090

# API rate limiting (requests per minute)
RATE_LIMIT_RPM=100

# Session duration (hours)
SESSION_DURATION=24

# =============================================================================
# FEATURE FLAGS
# =============================================================================

# Enable real-time features
ENABLE_REAL_TIME=true

# Enable MCP protocol adapter (for backward compatibility)
ENABLE_MCP_ADAPTER=true

# Enable semantic search (requires embedding generation)
ENABLE_SEMANTIC_SEARCH=false

# Enable file attachments
ENABLE_FILE_UPLOADS=true

# Enable team features
ENABLE_TEAMS=true

# =============================================================================
# EXTERNAL SERVICES (OPTIONAL)
# =============================================================================

# OpenAI API key (for embeddings and semantic search)
OPENAI_API_KEY=sk-...

# OpenAI model for embeddings
OPENAI_EMBEDDING_MODEL=text-embedding-3-small

# Redis URL (for caching and rate limiting)
# REDIS_URL=redis://localhost:6379

# Sentry DSN (for error tracking)
# SENTRY_DSN=https://...

# =============================================================================
# SECURITY DATA SOURCES (OPTIONAL)
# =============================================================================

# NVD API key (for vulnerability data updates)
# Get from: https://nvd.nist.gov/developers/request-an-api-key
# NVD_API_KEY=your-nvd-api-key

# =============================================================================
# CLOUDFLARE (FOR FRONTEND)
# =============================================================================

# These are used by the frontend (web app)
# Prefix with NEXT_PUBLIC_ for Next.js

# API endpoint (Railway backend URL)
NEXT_PUBLIC_API_URL=http://localhost:8090

# Supabase (same as above, but for client-side)
NEXT_PUBLIC_SUPABASE_URL=https://xxxxxxxxxxxxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

# Feature flags for frontend
NEXT_PUBLIC_ENABLE_REAL_TIME=true
NEXT_PUBLIC_ENABLE_ANALYTICS=false

# =============================================================================
# DEVELOPMENT TOOLS
# =============================================================================

# Enable development mode features
DEV_MODE=true

# Enable debug logging
DEBUG=false

# Enable profiling endpoints
ENABLE_PROFILING=false

# =============================================================================
# RAILWAY SPECIFIC (SET IN RAILWAY DASHBOARD)
# =============================================================================
# These are set automatically by Railway or configured in dashboard:
# - PORT (set by Railway)
# - RAILWAY_ENVIRONMENT (production, staging, etc.)
# - RAILWAY_SERVICE_NAME
# - RAILWAY_DEPLOYMENT_ID

# =============================================================================
# NOTES
# =============================================================================
#
# Development Setup:
# 1. Copy this file to .env.local
# 2. Update Supabase credentials from your project
# 3. Update JWT_SECRET with a secure random string
# 4. Adjust CORS_ALLOWED_ORIGINS for your local frontend
#
# Production Setup:
# 1. Set all variables in Railway dashboard
# 2. Use strong, unique secrets for JWT_SECRET
# 3. Configure appropriate CORS origins
# 4. Enable monitoring and error tracking (Sentry)
#
# Security:
# - NEVER commit .env.local to git
# - Rotate secrets regularly
# - Use different secrets for each environment
# - Keep SUPABASE_SERVICE_KEY strictly server-side
Loading