πŸš€ GTM Engineer Onboarding: Windows/WSL Edition

Welcome to the WayCup Engine, Brenn. This guide will synchronize your Windows/WSL2 environment with the WayCup Thin-Client Infrastructure (TCI), allowing you to jump straight into Go-To-Market (GTM) Engineering.


🏁 Phase 0: Terminal Configuration (Windows Terminal)

To avoid β€œWindows Syntax Hell,” you must configure Windows Terminal to launch into Linux by default.

Instructions:

  1. Open Windows Terminal.
  2. Press Ctrl + , to open Settings.
  3. Under Startup, set Default profile to Ubuntu.
  4. Under Profiles (Ubuntu) > Starting directory, uncheck β€œUse parent process directory” and set it to ~ or \\wsl$\Ubuntu\home\yourusername.
  5. Save and restart the terminal. You should now see a $ prompt instead of a PS > prompt.

πŸ› οΈ Phase 1: Environment Diagnostics

Before making any changes, we must verify that your WSL foundation is healthy.

Instructions:

Open your WSL (Ubuntu) terminal and run these commands one by one.

# 1. Verify 1Password CLI is installed and authenticated
op whoami
 
# 2. Verify Node is ready for the Gemini & HubSpot CLIs
node -v && npm -v
 
# 3. Verify Tailscale is active on the WayCup network
tailscale status | head -n 3
 
# 4. Verify you are in the Linux filesystem (Should NOT start with /mnt/c/)
pwd

βœ… Testing & Verification

  • Expected Result: op whoami returns your WayCup email. Node is v20 or v22. Tailscale shows you on the WayCup tailnet. pwd returns /home/brennwc (or similar).
  • ❌ Remediation:
    • op command not found: Run sudo apt install 1password-cli and sign in.
    • Tailscale not running: Run sudo tailscaled --tun=userspace-networking --socks5-server=localhost:1055 & then tailscale up.
    • Wrong Directory: Run cd ~ to return to your Linux home. Never run TCI tools from /mnt/c/.

πŸ”— Phase 2: Dotfiles & Core Aliases

Because you maintain a fork of Kevin’s dotfiles, we do not want to run global sync scripts that overwrite your personal terminal UI. We will configure the core WayCup commands directly in your local aliases file.

Instructions:

  1. Open your local aliases file:
nano ~/.bash_aliases
  1. Paste the following WayCup Core Engine aliases at the very bottom:
# --- WAYCUP CORE ENGINE ALIASES ---
# Strictly reserved for infrastructure routing and 4-Pillar navigation.
 
# [1] 4-PILLAR SCAFFOLDING NAVIGATION
alias cd1='cd ~/projects/01_internal'
alias cd2='cd ~/projects/02_labs'
alias cd3='cd ~/projects/03_clients'
alias cd4='cd ~/projects/04_archive'
alias cdway='cd ~/projects/00_core/vault'
alias cddog='cd ~/projects/03_clients/dogwizard'
alias dot='cd ~/dotfiles'
 
# [2] GIT STABILITY (Fixed GhostScript conflict)
alias gst='git status'
alias ga='git add .'
alias gc='git commit -m'
alias gp='git push'
alias gl='git log --oneline --graph --decorate'
 
# [3] SNIPPET MANAGEMENT
function snip {
    case "$1" in
        push)
            if [ -z "$2" ]; then echo "Usage: snip push <file>"; return 1; fi
            gh gist create "$2" --public --desc "WayCup Snippet: $(basename "$2")"
            ;;
        pull)
            if [ -z "$2" ]; then echo "Usage: snip pull <gist-id>"; return 1; fi
            gh gist view "$2" --raw
            ;;
        list)
            gh gist list --limit 50
            ;;
        search)
            if [ -z "$2" ]; then echo "Usage: snip search <keyword>"; return 1; fi
            gh gist list | grep -i "$2"
            ;;
        *)
            echo "Usage: snip {push|pull|list|search}"
            ;;
    esac
}
 
# [4] ENVIRONMENT
alias reload='source ~/.bashrc && echo "WayCup environment reloaded."'
 
# [5] TCI MAINTENANCE
function sync-vault {
    echo "πŸ”„ Syncing WayCup Vault..."
    cd ~/projects/00_core/vault && git pull origin main
}
 
function update-obsidian-vertex {
    echo "πŸ›°οΈ Updating Obsidian Extension for Vertex AI..."
    local EXT_DIR="$HOME/.gemini/extensions/gemini-obsidian"
    if [ ! -f "$EXT_DIR/src/rag/vertex.ts" ]; then
        echo "⚠️ Vertex source missing. Patching..."
        bash ~/projects/00_core/vault/scripts/patch_vertex_rag.sh
    else
        cd "$EXT_DIR" && npm run build
    fi
}
  1. Save and reload:
source ~/.bashrc

βœ… Testing & Verification

  • Expected Result: Run cdway. It should instantly transport you to the 00_core/vault directory.
  • ❌ Remediation: If it fails, ensure curl is installed (sudo apt install curl) and verify the Gist URL with Kevin.

πŸ’» Phase 3: Antigravity IDE via Windows

You will run the Windows Native version of Antigravity for optimal UI performance, but trigger it from inside WSL.

Instructions:

Add this alias to your ~/.bash_aliases:

# Map 'antigravity' in WSL to the Windows executable
alias antigravity='/mnt/c/Users/Brenn\ Almario/AppData/Local/Programs/Antigravity/Antigravity.exe'

βœ… Testing & Verification

  • Expected Result: Run antigravity . in your core/vault directory. The Windows UI should open seamlessly, editing the Linux files.
  • ❌ Remediation: Check the exact path to your Antigravity.exe in Windows Explorer and update the alias.

πŸ€– Phase 4: AI & GTM Tooling

Install the core CLI tools required for WayCup development.

Instructions:

# Install Gemini CLI globally
sudo npm install -g @google/gemini-cli
 
# Install HubSpot CLI globally
sudo npm install -g @hubspot/cli
 
# Index your local vault to power the AI Brain
cd ~/projects/00_core/vault
gemini /obsidian:index

βœ… Testing & Verification

  • Expected Result: The Gemini CLI should successfully index your markdown files. Successful output will look like:

    The vault has been successfully indexed for semantic search! The indexer processed the recent changes and updated X chunks in the database.

  • ❌ Remediation: If Gemini fails to index, ensure your ~/.gemini/settings.json and .env are configured correctly per your original bootstrap guide.

🧠 Phase 5: Remote RAG Sync (Vertex AI)

To ensure your AI Brain is perfectly aligned with the team, we must switch your Obsidian extension from local indexing to the WayCup Vertex AI remote brain.

Step 1: Patch the Extension

Since we have customized the gemini-obsidian extension with Vertex AI logic, you need to pull the custom source files and rebuild the extension.

  1. Ensure your vault is synced:
sync-vault
  1. Run the Vertex Patch script:
bash ~/projects/00_core/vault/scripts/patch_vertex_rag.sh

Step 2: Configure the Environment

  1. Open your Obsidian extension configuration:
nano ~/.gemini/extensions/gemini-obsidian/.env
  1. Update the file to include these remote settings (replace the default local settings):
# Path to your vault inside WSL
OBSIDIAN_VAULT_PATH=$HOME/projects/00_core/vault
 
# WayCup Vertex AI Configuration
OBSIDIAN_RAG_ENGINE=vertex
VERTEX_PROJECT_ID=waycup-admin-hub
VERTEX_LOCATION=global
VERTEX_DATA_STORE_ID=waycup-internal-vault-ds
  1. Verify gcloud auth: Ensure your Linux gcloud is authenticated so the extension can fetch access tokens:
~/google-cloud-sdk/bin/gcloud auth login

βœ… Testing & Verification

  • Expected Result: Run a semantic search for a team concept, e.g., gemini /obsidian:rag "What is Antigravity?".
  • The Vertex Signal: You should see results returned from the cloud data store. If you run gemini /obsidian:index, it should now say: β€œIndexing is managed by GCS Sync in Vertex Mode. Local indexing skipped.”
  • ❌ Remediation: If you get an β€œAuth Error,” run gcloud auth print-access-token manually to see if your credentials have expired.