π 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:
- Open Windows Terminal.
- Press
Ctrl + ,to open Settings. - Under Startup, set Default profile to
Ubuntu. - Under Profiles (Ubuntu) > Starting directory, uncheck βUse parent process directoryβ and set it to
~or\\wsl$\Ubuntu\home\yourusername. - Save and restart the terminal. You should now see a
$prompt instead of aPS >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 whoamireturns your WayCup email. Node is v20 or v22. Tailscale shows you on the WayCup tailnet.pwdreturns/home/brennwc(or similar). - β Remediation:
opcommand not found: Runsudo apt install 1password-cliand sign in.- Tailscale not running: Run
sudo tailscaled --tun=userspace-networking --socks5-server=localhost:1055 &thentailscale 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:
- Open your local aliases file:
nano ~/.bash_aliases- 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
}- Save and reload:
source ~/.bashrcβ Testing & Verification
- Expected Result: Run
cdway. It should instantly transport you to the00_core/vaultdirectory. - β Remediation: If it fails, ensure
curlis 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 yourcore/vaultdirectory. The Windows UI should open seamlessly, editing the Linux files. - β Remediation: Check the exact path to your
Antigravity.exein 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.jsonand.envare 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.
- Ensure your vault is synced:
sync-vault- Run the Vertex Patch script:
bash ~/projects/00_core/vault/scripts/patch_vertex_rag.shStep 2: Configure the Environment
- Open your Obsidian extension configuration:
nano ~/.gemini/extensions/gemini-obsidian/.env- 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- 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-tokenmanually to see if your credentials have expired.