# Python 3.10–3.12 requiredpython3.12 -m venv ~/reachy_mini_envsource ~/reachy_mini_env/bin/activatepip install reachy-minireachy-mini-daemon # starts the daemon (Lite, USB)# or for Wireless: it runs on the robot itself; just check reachy-mini.local:8000 respondsfrom reachy_mini import ReachyMiniwith ReachyMini() as mini: print(mini.get_current_joint_positions())cd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"pip install -e .python -m good_morning_app.main# the app is already registered via the entry point in pyproject.toml,# so the dashboard / launcher will pick it up automatically.# Open the Reachy Mini dashboard and click "Good Morning".pip install pyttsx3 soundfile scipy numpypython -c "from good_morning_app.main import _synthesize_phrase, _load_phrase_for_robotfrom pathlib import Path_synthesize_phrase('Good morning!', Path('test.wav'))print(_load_phrase_for_robot(Path('test.wav')).shape)"# 1. Check what Python you havepython3 --version# 2. Make a venv and activate itpython3 -m venv .venvsource .venv/bin/activate
# 3. Now `pip` exists inside the venv. Install the app + the SDK.pip install --upgrade pippip install -e .
# 4. Run itpython -m good_morning_app.mainpython3 -m pip install --user -e .python3 -m good_morning_app.main# 1. Install uv (modern Python installer/runner)brew install uv # or: curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. Make a Python 3.12 envcd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"uv venv --python 3.12source .venv/bin/activate
# 3. Install the SDK + the app-assistant CLIuv pip install reachy-mini reachy-mini-app-assistant huggingface_hub
# 4. Log in to Hugging Face (creates the Space under your account)hf auth login # paste a token from https://huggingface.co/settings/tokens (write scope)
# 5. Validate our app's structure first (catches missing frontmatter, bad entry points, etc.)reachy-mini-app-assistant check .
# 6. Push it as a Space — this creates huggingface.co/spaces/clementdelangue/good-morning# and the Reachy Mini dashboard will pick it up.reachy-mini-app-assistant publish .reachy-mini-app-assistant create good_morning ../tmp_good_morning --publish# then copy our src/good_morning_app/main.py, index.html, style.css over the scaffold and `git push`# 1. Create an empty Space on the web:# https://huggingface.co/new-space → SDK = "Static" → name "good-morning"
# 2. From inside the app folder:cd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/.../reachy-mini-good-morning"git initgit add .git commit -m "Initial commit"
# 3. Push to the Space (replace clementdelangue with your HF username if different)git remote add origin https://huggingface.co/spaces/clementdelangue/good-morninggit push -u origin mainuv pip install huggingface_hubhf auth loginhuggingface-cli login# you should still be in reachy-mini-good-morning/git init -b maingit add .git commit -m "Initial commit: Good Morning Reachy Mini app"
# Embed the token in the remote URL so git won't prompt — replace hf_xxx with your tokengit remote add origin https://clementdelangue:[REDACTED]/spaces/clementdelangue/good-morninggit push -u origin mainpython -c "from huggingface_hub import create_repo; print(create_repo('good-morning', repo_type='space', space_sdk='static').url)"cd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"
source .venv/bin/activate # in case the shell is fresh
git init -b maingit add .git commit -m "Initial commit: Good Morning Reachy Mini app"git remote add origin https://huggingface.co/spaces/clementdelangue/good-morninggit push -u origin maingit remote set-url origin https://clementdelangue:[REDACTED]/spaces/clementdelangue/good-morninggit push -u origin main# then strip the token back out:git remote set-url origin https://huggingface.co/spaces/clementdelangue/good-morningpython3 -c "from huggingface_hub import create_repo; print(create_repo('good-morning', repo_type='space', space_sdk='static').url)"python3 -m pip install --user --break-system-packages huggingface_hubpython3 -c "from huggingface_hub import create_repo; print(create_repo('good-morning', repo_type='space', space_sdk='static').url)"cd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"source .venv/bin/activatepython -c "from huggingface_hub import create_repo; print(create_repo('good-morning', repo_type='space', space_sdk='static').url)"cd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"
git init -b maingit add .git commit -m "Initial commit: Good Morning Reachy Mini app"git remote add origin https://huggingface.co/spaces/clem/good-morninggit push -u origin maingit remote set-url origin https://clem:[REDACTED]/spaces/clem/good-morninggit push -u origin main# then clean it back out so the token isn't sitting in .git/config:git remote set-url origin https://huggingface.co/spaces/clem/good-morninggit push -u origin main --force"id": "clem/good-morning","tags": ["static","reachy_mini","reachy_mini_python_app","region:us"],"sdk": "static"cd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"
git add index.htmlgit commit -m "Open external links in new tab; fix CTA destination"git pushcd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"
git add index.html style.cssgit commit -m "Add preview button + clear install/use instructions on landing page"git pushhttp://localhost:7860/http://reachy-mini.local:7860/[good_morning] Good Morning app starting (web on :7860, antennas armed)[good_morning] INFO: Good Morning app starting (web on :7860, antennas armed)[good_morning] INFO: Triggered by web[good_morning] INFO: Saying 'Good morning!' (0.73s)cd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"
git add src/good_morning_app/main.pygit commit -m "Auto-open the button page in the user's browser on app start"git pushcd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"
git add README.md index.html style.css src/good_morning_app/main.pygit commit -m "New phrase, Clem credit, drop antenna mentions, document localhost:7860"git pushcd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"
git add README.mdgit commit --amend --no-editgit pushgit config --global user.name "Clem Delangue"git config --global user.email "[REDACTED]"cd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"
git add src/good_morning_app/main.py index.html README.mdgit commit -m "Update phrase: drop name, add open-source line"git pushcd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"
git add index.htmlgit commit -m "Trim quote from landing page lede"git pushcd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"
git add README.md index.html style.cssgit commit -m "Switch icon to sun ☀️"git pushcd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"
git add src/good_morning_app/main.pygit commit -m "Animate head, antennas, body sway while speaking"git pushcd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"
git add index.html style.cssgit commit -m "Add 'Try in simulation' section to landing page"git pushcd "/Users/clem/Library/Application Support/Claude/local-agent-mode-sessions/60820195-31c6-4093-8c9e-37c09903f4a5/6e545699-813d-4c34-a80c-8667623c108d/local_8906e6df-1974-4b95-a48d-96cc2a2d91db/outputs/reachy-mini-good-morning"
git add index.htmlgit commit -m "Simplify simulation section: just install the desktop app"git push