From 412ab2417d6e8120e27730417e23d708284cbc40 Mon Sep 17 00:00:00 2001 From: bamiebot-maker <238790935+bamiebot-maker@users.noreply.github.com> Date: Sun, 30 Aug 2026 15:22:06 +0100 Subject: [PATCH] docs: add contributor onboarding quickstart guide and video script (#470) --- docs/contributor-onboarding-quickstart.md | 140 ++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 docs/contributor-onboarding-quickstart.md diff --git a/docs/contributor-onboarding-quickstart.md b/docs/contributor-onboarding-quickstart.md new file mode 100644 index 00000000..8e8e6de6 --- /dev/null +++ b/docs/contributor-onboarding-quickstart.md @@ -0,0 +1,140 @@ +# Contributor Onboarding Quickstart Guide & Video Script + +Welcome to PromptMint! This guide provides an end-to-end, friction-free onboarding walkthrough for new contributors, covering wallet configuration, testnet funding, local environment setup, testing workflows, and a full video walkthrough script. + +--- + +## 1. Prerequisites & Environment Setup + +Ensure you have the following installed on your development machine: + +- **Node.js**: v20.x LTS or higher +- **npm** or **pnpm**: v9.x or higher +- **Rust & Cargo**: v1.80+ (for Soroban smart contract development) +- **Stellar CLI**: `stellar-cli` v22+ +- **Docker & Docker Compose**: (optional, for local MongoDB / IPFS nodes) + +```bash +# Clone the repository +git clone https://github.com/PromptMintLabs/prompt-mint.git +cd prompt-mint + +# Install frontend dependencies +npm install + +# Install server dependencies +cd server && npm install && cd .. +``` + +--- + +## 2. Stellar Testnet Wallet Setup + +PromptMint integrates with Stellar wallets (Freighter, Albedo, and xBull) via the Stellar Wallets Kit. + +### Step A: Install Freighter Wallet +1. Install the [Freighter Browser Extension](https://www.freighter.app/). +2. Open Freighter, click **Create New Wallet**, and store your 12-word recovery passphrase securely. +3. Set your wallet password. + +### Step B: Switch Network to Testnet +1. Open the Freighter extension popup. +2. Click the Network dropdown in the top-right corner (default is `Public`). +3. Select **Testnet** (`https://soroban-testnet.stellar.org`). + +--- + +## 3. Funding Your Testnet Wallet via Friendbot + +Stellar Testnet accounts must be funded before they can submit transactions. + +### Option 1: Web Interface (Stellar Laboratory) +1. Copy your public key from Freighter (starts with `G...`). +2. Visit the [Stellar Laboratory Friendbot](https://laboratory.stellar.org/#account-creator?network=testnet). +3. Paste your public address into the text box and click **Get test network lumens**. +4. Check your Freighter wallet — you will see a balance of 10,000 testnet XLM. + +### Option 2: Command Line (Stellar CLI / curl) +```bash +# Using Stellar CLI: +stellar keys generate --network testnet alice --fund + +# Or using curl directly to Friendbot: +curl "https://friendbot.stellar.org/?addr=YOUR_WALLET_PUBLIC_KEY" +``` + +--- + +## 4. Environment Variables Configuration + +Copy the example environment files for both frontend and backend: + +```bash +# 1. Root / Frontend environment +cp .env.example .env.local + +# 2. Server environment +cp server/.env.example server/.env +``` + +Ensure your `NEXT_PUBLIC_STELLAR_NETWORK` is set to `testnet` and `NEXT_PUBLIC_RPC_URL` points to `https://soroban-testnet.stellar.org`. + +--- + +## 5. Running the Local Development Stack + +Start the client and API servers: + +```bash +# Terminal 1: Run frontend dev server +npm run dev +# -> Accessible at http://localhost:3000 + +# Terminal 2: Run server API +cd server && npm run dev +# -> Accessible at http://localhost:4000 +``` + +--- + +## 6. Running Tests & Linting + +Before opening a pull request, run all verification suites: + +```bash +# Frontend Unit & Component Tests +npm test + +# Server Unit & Integration Tests +cd server && npm test && cd .. + +# Typecheck and Linting +npm run lint +npx tsc --noEmit +``` + +--- + +## 7. Contributor Onboarding Video Script + +Use this structured script to record or follow along with the onboarding video. + +### **Video Title**: *PromptMint Contributor Quickstart: Zero to First PR* +**Duration**: ~3 minutes 30 seconds + +| Timecode | Scene / Visual | Narration / Action | +|---|---|---| +| **0:00 - 0:25** | **Intro & Architecture Overview**
- Title card: PromptMint Contributor Quickstart.
- Architecture diagram on screen. | *"Hey everyone! Welcome to PromptMint. In this quick 3-minute video, we will walk you through setting up your local dev environment, creating and funding a Stellar testnet wallet with Friendbot, and running the full stack so you can contribute with confidence."* | +| **0:25 - 0:55** | **Cloning & Dependencies**
- Terminal view: cloning repo, running `npm install` in root and `server/`. | *"First, clone the PromptMint repo from GitHub and install both the client and server dependencies with npm install. PromptMint uses Next.js on the frontend and Express + TypeScript on the backend."* | +| **0:55 - 1:40** | **Wallet Setup & Testnet Funding**
- Browser view: Freighter extension popup.
- Switching network to Testnet.
- Navigating to Stellar Laboratory / Friendbot. | *"Next, let's configure your testnet wallet. Install the Freighter extension, create a development account, and toggle your network from Public to Testnet. Then copy your public G-address, pop over to the Stellar Laboratory Friendbot, and click 'Get test network lumens'. Within seconds, your wallet is funded with 10,000 testnet XLM."* | +| **1:40 - 2:20** | **Environment Configuration**
- VS Code editor view: `.env.example` to `.env.local` and `server/.env`. | *"Now configure your local environment files. Copy .env.example to .env.local for the frontend and server/.env.example to server/.env. The defaults are already pre-configured for the Stellar Soroban testnet RPC endpoint."* | +| **2:20 - 2:55** | **Running Local Stack & Connecting Wallet**
- Browser view: `http://localhost:3000`.
- Clicking 'Connect Wallet', selecting Freighter. | *"Let's fire up the local servers! Run npm run dev in your terminal and visit localhost:3000. Click 'Connect Wallet' in the top navigation bar, approve the connection in Freighter, and you're ready to test minting, prompt unlocking, and browsing listings."* | +| **2:55 - 3:30** | **Testing, Linting & Submitting PRs**
- Terminal view: `npm test`, `npm run lint`.
- GitHub Pull Request screen. | *"Before submitting your pull request, run `npm test` and `npm run lint` to verify that all CI gates pass locally. Check our open issues labeled 'good-first-issue' and join our community Discord if you have any questions. Happy hacking!"* | + +--- + +## 8. Helpful Links & Resources +- [Stellar Developers Documentation](https://developers.stellar.org/) +- [Freighter Wallet Docs](https://docs.freighter.app/) +- [Stellar Laboratory](https://laboratory.stellar.org/) +- [PromptMint Architecture Docs](./architecture.md)