π§ SSCLI Development Quick Reference
π§ SSCLI Development Quick Reference
Whatβs New
1. Local Dev Version Swapper
sscli dev # Show current version statussscli dev swap # Toggle between pip and local buildsscli dev use-local # Explicitly use local buildsscli dev use-pip # Explicitly use pip versionsscli dev test # Quick test of current configsscli dev build # Build local packagesscli dev info # Show environment details2. Three Menu Modes
Mode Selection (appears after authentication):
Select Your Experience: β Seed & Source (Client Side) [All users] β Foundry Ops (Internal Side) [Admin/Internal Dev] β π§ Development Tools [Admin + Local Dev]3. Development Tools Menu
Access only when: is_admin() AND is_internal_dev()
sscli interactiveβ Select "π§ Development Tools"β Choose: β’ Check Build Version - Current version & source β’ Compare Build Differences - Local vs Pip versions β’ Run Development Tests - Validate imports & env β’ View Development Info - Python, packages, venvArchitecture at a Glance
sscli interactive βββ Show Logo (with version v1.4.0) βββ Auth Gate (license-server) βββ Internal Gate (admin? local-dev?) βββ Route to Experience: ββ CLIENT (standard user menu) ββ INTERNAL (ops & admin menu) ββ DEVELOPMENT (dev tools menu) ββ EXIT (cancelled)Directory Structure
foundry/βββ tools/ [NEW]β βββ __init__.pyβ βββ client/ [For future]β β βββ __init__.pyβ βββ internal/ [For future]β β βββ __init__.pyβ βββ development/ [Development tools]β βββ __init__.pyβ βββ build_tools.pyββββ development_experience.py [NEW]βββ gate.py [MODIFIED - 3 modes]βββ animated_experience.py [MODIFIED - dev mode route]βββ internal_experience.py [EXISTING]βββ [other modules...]Key Files Changed
| File | Change | Impact |
|---|---|---|
gate.py | Menu supports 3 modes | Developers see dev tools if admin+local |
animated_experience.py | Route DEVELOPMENT mode | Loads dev experience for admins |
logo_reveal.py | Show version in logo | Version displays during animation |
development_experience.py | NEW - Dev tools menu | Dev tools accessible |
tools/development/build_tools.py | NEW - Dev functions | Debugging/build tools |
/bin/sscli-dev | NEW - Root script | Swap pip/local versions |
How to Use (Step-by-Step)
As a Local Developer (Admin)
# 1. Check what you're runningsscli dev# Output: Shows if on pip version or local build
# 2. Test the build locally (optional)./scripts/smoke-test.sh
# 3. Swap to local build if neededsscli dev swap# Reinstalls sscli from your local stack-cli/
# 4. Access development toolssscli interactive# Menu appears β Select "π§ Development Tools"
# 5. Run a dev tool# β Select "Check Build Version"# β Shows: v1.4.0, Location, Source (local/pip)As a Regular User
# Standard flow (unchanged)sscli interactiveβ Select "Seed & Source (Client Side)"β Use normal client menuTesting Your Changes
# 1. Verify syntaxpython3 -m py_compile stack-cli/foundry/development_experience.pypython3 -m py_compile stack-cli/foundry/tools/development/build_tools.py
# 2. Run smoke test./scripts/smoke-test.sh
# 3. Test dev swapsscli dev statussscli dev swap # If you want to toggle versions
# 4. Test the menusscli interactive# Should show all 3 modes if admin+local-dev
# 5. Test dev tools# Select "π§ Development Tools" β Pick a toolTroubleshooting
βπ§ Development Toolsβ not showing?
- Need to be
admintier user - Need to be in
is_internal_dev()environment - Check:
sscli whoamito see tier
Version not showing in logo?
- Ensure
stack-cli/pyproject.tomlhas version field - Check format:
[project] version = "1.4.0"
sscli dev swap fails?
- Use a virtual environment
- Ensure
--userflag is available or use venv - Check:
which pythonfor correct interpreter
Common Commands Cheat Sheet
# Check current statesscli dev # Show version & sourcesscli dev info # Show environment
# Swap versionssscli dev swap # Toggle pipββlocalsscli dev use-local # Go to localsscli dev use-pip # Go to pip package
# Developmentsscli dev build # Build locallysscli dev test # Test current configsscli interactive # Full menu (includes dev tools)
# Deployment./scripts/smoke-test.sh # Pre-deployment check./scripts/bump-version.sh patch # Bump & tagWhatβs Where
| Feature | Where | Access |
|---|---|---|
| Version display | Logo animation | Automatic (bottom-right) |
| 3-mode menu | gate.py | After auth |
| Dev tools | development_experience.py | Admin + local |
| Build tools | tools/development/build_tools.py | Dev tools menu |
| Version swap | /bin/sscli-dev | Terminal: sscli dev |
Quick Debugging
All 3 modes working?
sscli interactive# Should ask: "Select Your Experience:" with 3 options# If only 1 option: Not admin or not in local-dev environmentBuilding locally?
sscli dev# Shows source: "Local development build" vs "Installed pip package"Tools responding?
sscli interactiveβ π§ Development Toolsβ Check Build Version# Should show version and locationNotes for Developers
- Non-breaking: All changes are backward compatible
- Gradual expansion: Tools directories ready for future additions
- Modular design: Easy to add client/ and internal/ tools later
- Version tracking: Automatic from pyproject.toml (always current)
- Safe defaults: Graceful failure if features unavailable
- Local-only: Dev mode only for admins in local code environment
Next Steps
- Deploy and test the three modes
- Add client-specific tools to
tools/client/ - Migrate internal tools to
tools/internal/ - Expand development tools as needed
- Document new tools in their respective modules
Last Updated: February 2026 Stable: Yes - All syntax validated, no breaking changes Ready for: Testing β Deployment