βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ββββ ββββββββββββββ βββ βββββββ βββββββββββ βββ
β βββββ ββββββββββββββ βββ βββββββββββββββββββ βββ
β ββββββ βββββββββ βββ ββ βββ βββ βββββββββ βββ βββ
β ββββββββββββββββ ββββββββββ βββ βββββββββ ββββ ββββ
β βββ ββββββββββββββββββββββββ ββββββββββββββββ βββββββ
β βββ βββββββββββββ ββββββββ βββββββ ββββββββ βββββ
β β
β ββββββββββββββββββββββββββββ ββββββββββ β
β ββββββββββββββββββββββββββββ βββββββββββ β
β ββββββββββββββ βββ βββ βββββββββββ β
β ββββββββββββββ βββ βββ ββββββββββ β
β ββββββββββββββββ βββ ββββββββββββ β
β ββββββββββββββββ βββ βββββββ βββ β
β β
β Dynamic Environment Auto-Configuration β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Environment-aware setup system that automatically detects your context (VPS, Codespaces, local dev) and installs only the tools you need.
The setup script automatically detects your environment and configures it appropriately:
| Environment | Auto-Detection | Tools Installed | Tools Skipped |
|---|---|---|---|
| VPS/Production | Hostname pattern, env vars | Tailscale, GitHub CLI, Doppler, AI assistant | None |
| GitHub Codespaces | CODESPACES env var | GitHub CLI, AI assistant, Doppler | Tailscale |
| Local Development | macOS + VS Code | All tools | None |
| CI/CD Pipeline | CI env vars | GitHub CLI | Others |
| Container/Docker | /.dockerenv file | GitHub CLI | Others |
- AI assistant (Codex CLI or Claude Code) - choose the agent that matches your subscription
- GitHub CLI (
gh) - GitHub from the command line - Tailscale - Zero-config VPN for secure networking
- Doppler - SecretOps platform for environment variables
- Vision MCP Server - Z.AI Vision capabilities for image and video analysis (when using Z.ai)
- Web Search MCP Server - Z.AI Search capabilities for real-time web search and information retrieval (when using Z.ai)
- Supabase MCP Server - Official Supabase integration for database management and queries (requires Supabase project)
- GitHub MCP Server - Official GitHub integration for repository intelligence and workflow automation (requires GitHub PAT)
# Clone the Z.ai integration branch
git clone -b feature/zai-integration https://github.com/ebowwa/seed.git
cd node-starter
# Quick setup (handles Doppler auth automatically)
./quick-setup.sh# Clone and run - it auto-detects your environment!
git clone https://github.com/ebowwa/seed.git
cd node-starter
./setup.sh- macOS: Command Line Tools (auto-prompts if missing)
- Linux:
curlandsudoaccess - All platforms: Internet connection
# The quick-setup.sh script handles everything automatically:
# 1. Installs Doppler CLI if needed
# 2. Prompts for Doppler authentication
# 3. Configures the project
# 4. Sets up Claude Code with Z.ai backend
./quick-setup.shAfter setup, you have two options to use Claude Code:
Option 1: Load environment per session
# Load Z.ai configuration from Doppler
eval $(doppler secrets download --config dev --format env --no-file)
# Start Claude Code with Z.ai backend
claudeOption 2: Use Doppler run wrapper
# Start Claude with Doppler environment
doppler run --project seed --config dev -- claudeThe project includes Claude settings templates for easy configuration:
# Install Z.ai-optimized Claude settings
./install-claude-settings.sh
# View settings files
ls .claude/
# .claude/settings.template.json # Settings template
# .claude/settings.local.json # Local project settingsThe setup script automatically installs Claude settings based on your AI assistant preference:
--use-zaiinstalls Z.ai configuration (GLM-4.5 models)--use-claudeinstalls standard Anthropic configuration- The
install-claude-settings.shscript is now dynamic and generates appropriate settings
# Optional: Add your API keys for automated config
cp .env.example .env
nano .env # Add your tokens
# Run setup - auto-detects environment
./setup.sh# VPS/Production nodes
./setup.sh --env vps
# GitHub Codespaces
./setup.sh --env codespaces
# Local development
./setup.sh --env local_dev
# List all environments
./setup.sh --list-envsPick the agent that matches your subscription:
claude(default): Claude Code with Anthropicβs APIzai: Claude Code routed through the Z.ai Model API (GLM-4.5)codex: OpenAI Codex CLI
# Use Codex CLI instead of Claude Code
./setup.sh --assistant codex
# Route Claude Code through Z.aiβs endpoint
./setup.sh --assistant zai
# Shortcut flags
./setup.sh --use-codex
./setup.sh --use-claude
./setup.sh --use-zai
# Persist the preference via environment variable
echo "AI_ASSISTANT=zai" >> .envThe script defaults to Claude Code when no preference is set. At any time you can skip installing the selected assistant with --skip-assistant (aliases: --skip-claude, --skip-zai).
./setup.sh --skip-assistant # Aliases: --skip-claude, --skip-zai
./setup.sh --skip-github
./setup.sh --skip-tailscale
./setup.sh --skip-doppler
./setup.sh --skip-vision # Skip Vision MCP Server
./setup.sh --skip-search # Skip Web Search MCP Server
# Combine options
./setup.sh --env vps --skip-dopplerCreate a .env file with your tokens for automated configuration:
# GitHub Personal Access Token
GITHUB_TOKEN=ghp_xxxxxxxxxxxx
# AI assistant preference (codex, claude, or zai)
AI_ASSISTANT=zai
# Z.ai API Key (required when AI_ASSISTANT=zai and for Vision/Web Search MCP Servers)
ZAI_API_KEY=zai-xxxxxxxxxxxx
# Anthropic API Key (optional when using Anthropic directly)
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxx
# Tailscale Auth Key (for headless setup)
TAILSCALE_AUTH_KEY=tskey-auth-xxxxxxxxxxxx
# Doppler Service Token
DOPPLER_TOKEN=dp.st.xxxxxxxxxxxxEdit situations.yaml:
environments:
my_custom_env:
description: "My special environment"
detect:
- env: "MY_ENV=true"
- hostname_pattern: "custom-*"
tools:
- github-cli
- doppler
skip:
- claude-code
- tailscaleEdit situations.yaml:
tools:
my_tool:
name: "My Tool"
check_command: "mytool"
install_methods:
macos: "brew install mytool"
debian: "apt-get install mytool"
config_env: "MY_TOOL_TOKEN"MACHINE_TYPE=vps ./setup.sh- β Tailscale for secure networking
- β GitHub CLI for deployments
- β Doppler for secrets management
- β Preferred AI assistant (Codex, Claude, or Z.ai) for AI help
Automatically detected and configured:
- β Preferred AI assistant (Codex, Claude, or Z.ai) for AI assistance
- β GitHub CLI (essential)
- β Doppler for dev secrets
- β Tailscale (not needed)
Full setup for your workstation:
- β All tools installed
- β Complete configuration
# Anthropic users
claude auth login
# Z.ai users
claude /status # Confirms the GLM-4.5 endpoint is activeWhen AI_ASSISTANT=zai, the setup script writes your credentials to ~/.claude/settings.json (creating the file if needed) so future shells automatically target https://api.z.ai/api/anthropic.
When using Z.ai backend, the setup automatically configures Vision MCP Server for image and video analysis:
# Vision capabilities are available through Claude Code
# Place an image in your directory and ask Claude to analyze it:
claude
> What does this image show? (attach or reference image file)
# Vision MCP Server tools included:
# - image_analysis: Analyze images and provide detailed descriptions
# - video_analysis: Analyze videos and provide detailed descriptionsWhen using Z.ai backend, the setup automatically configures Web Search MCP Server for real-time search capabilities:
# Search capabilities are available through Claude Code
# Ask Claude to search for current information:
claude
> Search for the latest AI technology developments
# Web Search MCP Server tools included:
# - webSearchPrime: Search web information with real-time results
# * Page titles, URLs, and summaries
# * Real-time news and information
# * Stock prices, weather, and moreFor users with Supabase projects, the official Supabase MCP server provides database management capabilities:
# Configure Supabase MCP server (manual setup required)
# See docs/Supabase_MCP_Integration.md for detailed instructions
# Requirements:
# - Supabase Personal Access Token (PAT)
# - Supabase project reference
# - Claude Code with MCP support
# Example usage after setup:
claude
> How many tables do we have in the database?
> Show me the structure of the apps table
> Insert a new record into the app_info tableSupabase MCP capabilities:
- Database schema exploration
- Natural language SQL queries
- Table and data management
- Direct database operations through Claude Code
For advanced GitHub operations, the official GitHub MCP server provides repository intelligence and workflow automation:
# Configure GitHub MCP server (manual setup required)
# See docs/GitHub_MCP_Integration.md for detailed instructions
# Requirements:
# - GitHub Personal Access Token (PAT)
# - Claude Code with MCP support
# Example usage after setup:
claude
> Find all TypeScript repositories in my organization
> Search for TODO comments across all my repositories
> Create issues for bugs found in the codebase
> Analyze commit patterns across my projectsGitHub MCP capabilities:
- Cross-repository code search
- Semantic code understanding
- Workflow automation (issues, PRs, projects)
- Organization-level analytics
- Natural language GitHub operations
Note: The seed project includes GitHub CLI for direct command operations. Use GitHub MCP for conversational tasks and CLI for precise control.
codex logingh auth loginsudo tailscale up # Linux/VPS
tailscale up # macOSdoppler login
# Or with service token:
doppler configure set token $DOPPLER_TOKEN --scope /- Environment not detected? Use
--envflag to force - Tool already installed? Script checks and skips
- Permission errors? Ensure sudo access on Linux
- API keys not working? Check
.envfile formatting
setup.sh- Main installation scriptquick-setup.sh- Streamlined Z.ai setupsituations.yaml- Environment and tool configurations.env.example- Template for API keys.env- Your API keys (git-ignored).claude/settings.template.json- Claude settings template for Z.ai.claude/settings.local.json- Local Claude settingsinstall-claude-settings.sh- Claude settings installation scriptdocs/Supabase_MCP_Integration.md- Complete Supabase MCP server setup guidedocs/GitHub_MCP_Integration.md- Comprehensive GitHub MCP server documentation
- Never commit
.envfiles - Use environment-specific tokens
- Rotate credentials regularly
- Review
situations.yamlbefore running
MIT - Use freely for your own setups!
PRs welcome! Please test on target platforms.