Fork Skatehive 3.0 Guide (Beginner Friendly)
This guide explains how to fork the Skatehive 3.0 repository, run it locally, and optionally enable advanced features.
1. Fork the repository on GitHub
- Sign in to GitHub and visit
Skatehive/skatehive3.0. - Click Fork to create your own copy of the repo.
- Clone your fork:
git clone https://github.com/<your-username>/skatehive3.0.git
cd skatehive3.0 - (Optional but recommended) keep the original repo as an upstream remote:
git remote add upstream https://github.com/Skatehive/skatehive3.0.git - Create a feature branch before making changes:
git checkout -b my-feature - After committing your work, push to your fork and open a pull request.
2. Minimal local installation
Skatehive now uses a centralized configuration system where sensible defaults are committed to version control.
- Copy the example environment file:
cp .env.local.example .env.local - Edit
.env.localand set the only required variable for basic operation:HIVE_POSTING_KEY– your Hive posting key All other values (Hive tags, app account, theme, URLs, DAO addresses) are pre-configured inconfig/app.config.ts.
- Install dependencies and start the dev server:
pnpm install
pnpm dev
3. Customizing your fork
The application configuration is centralized in config/app.config.ts. This file contains:
HIVE_CONFIG– community tags, search tags, default app accountDAO_ADDRESSES– Base Mainnet DAO contract addressesETH_ADDRESSES– known Ethereum addresses (multisig, tokens, NFTs)APP_CONFIG– app name, domain, theme, IPFS gateway, vote weightEMAIL_DEFAULTS– SMTP configuration defaultsEXTERNAL_SERVICES– DAO GraphQL, Hive signer, signup signer To fully customize your fork, editconfig/app.config.tswith your values:
export const HIVE_CONFIG = {
COMMUNITY_TAG: 'hive-your-community',
SEARCH_TAG: 'your-tag',
APP_ACCOUNT: 'your-account',
// ...
};
export const APP_CONFIG = {
NAME: 'Your Community',
DOMAIN: 'your-community.app',
BASE_URL: 'https://your-community.app',
DEFAULT_THEME: 'your-theme',
// ...
};
Environment variables in .env.local are only needed for:
- Secrets (API keys, posting keys)
- Deployment-specific overrides
- Optional feature flags
4. Optional advanced configuration
Add these to .env.local as needed:
Supabase / Database
NEXT_PUBLIC_SUPABASE_URL,NEXT_PUBLIC_SUPABASE_PUBLIC_KEY,SUPABASE_SERVICE_ROLE_KEY
Web3 / Ethereum
NEXT_PUBLIC_WALLETCONNECT_PROJECT_IDNEXT_PUBLIC_ALCHEMY_KEYETHERSCAN_API_KEY
Zora
NEXT_PUBLIC_ZORA_API_KEY
Farcaster Notifications
FARCASTER_HUB_URLFARCASTER_INIT_PASSWORDADMIN_USERS
Signup / Signer System
SIGNER_URL,SIGNER_TOKENVIP_PEPPER,JWT_SECRET
Email / SMTP
EMAIL_USER,EMAIL_PASS,EMAIL_RECOVERYACC
IPFS / Pinata
PINATA_JWTSee.env.local.examplefor the complete list of optional variables. EOF