Where Wrappers Are Created Location: scripts/install-cli.nu in the create_wrappers() function (lines 187-222) Why We Have .real Suffix The wrapper system works like this: User runs: workspace --help ↓ ~/.cargo/bin/workspace (NuShell wrapper script - 864 bytes) ↓ Sets up environment variables (WORKSPACE_CONFIG_PATH, WORKSPACE_CONFIG_DIR, WORKSPACE_DATA_DIR) Discovers configuration files from multiple locations ↓ Calls: ~/.cargo/bin/workspace.real (actual compiled Rust binary - 7.1 MB) ↓ Returns: Output to user The 2-File System: 1. workspace (wrapper script) - Small NuShell script (864 bytes) - Sets up environment before running the real binary - Automatically discovers config files from: - ~/.config/core/workspace.toml - .project/workspace.toml - .vapora/workspace.toml 2. workspace.real (real binary) - Compiled Rust binary (7.1 MB) - The actual executable from cargo install - Runs with environment variables set by the wrapper Why This Design? 1. Configuration Discovery - The wrapper finds configs before the Rust binary runs 2. Environment Setup - Automatically sets WORKSPACE_CONFIG_DIR and WORKSPACE_DATA_DIR 3. User Transparency - Users run workspace --help normally, wrapper is invisible 4. Separation of Concerns - Script layer handles config, binary handles logic Current Status: ✅ workspace → NuShell wrapper → workspace.real (Rust binary) ✅ syntaxis-tui → NuShell wrapper → syntaxis-tui.real (Rust binary) ✅ syntaxis-dashboard → Direct binary (no wrapper needed - library component) ✅ syntaxis-api → Direct binary (runs on port 3001) This is a clean, production-grade approach to managing CLI tools with configuration discovery! 🎉