From caac83c64aa524e8f3b1f85fcafced266f87a806 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Martineau Date: Sun, 6 Sep 2026 02:09:59 -0400 Subject: [PATCH] The developer environment hides where dotfiles hide dev.env and dev.env.example become .dev.env and .dev.env.example, and the five skills that name them follow. The .gitignore rule takes the dot too; it matches the exact name, so the example stays tracked while the real one stays out. Co-Authored-By: Claude Opus 5 (1M context) --- .claude/skills/add-narrow-emoji/SKILL.md | 4 ++-- .claude/skills/fix-ans-nulls/SKILL.md | 4 ++-- .claude/skills/profile-picocalc/SKILL.md | 4 ++-- .claude/skills/purge-test-data/SKILL.md | 4 ++-- .claude/skills/verify/SKILL.md | 4 ++-- dev.env.example => .dev.env.example | 6 +++--- .gitignore | 4 ++-- 7 files changed, 15 insertions(+), 15 deletions(-) rename dev.env.example => .dev.env.example (85%) diff --git a/.claude/skills/add-narrow-emoji/SKILL.md b/.claude/skills/add-narrow-emoji/SKILL.md index a4d86df..0af8900 100644 --- a/.claude/skills/add-narrow-emoji/SKILL.md +++ b/.claude/skills/add-narrow-emoji/SKILL.md @@ -34,8 +34,8 @@ the commonest answer to "please add this one". 1. **Classify the emoji.** Run, from the repo root: - The interpreter below is `$DEV_VENV_PYTHON` from `dev.env` at the repo root (gitignored; -`dev.env.example` shows the shape) — read it first. + The interpreter below is `$DEV_VENV_PYTHON` from `.dev.env` at the repo root (gitignored; +`.dev.env.example` shows the shape) — read it first. ``` $DEV_VENV_PYTHON .claude/skills/add-narrow-emoji/classify.py diff --git a/.claude/skills/fix-ans-nulls/SKILL.md b/.claude/skills/fix-ans-nulls/SKILL.md index 8483928..a43e2b0 100644 --- a/.claude/skills/fix-ans-nulls/SKILL.md +++ b/.claude/skills/fix-ans-nulls/SKILL.md @@ -15,8 +15,8 @@ stays exactly where it was, so the file's length never changes. ## Run -The interpreter below is `$DEV_VENV_PYTHON` from `dev.env` at the repo root (gitignored; -`dev.env.example` shows the shape) — read it first. +The interpreter below is `$DEV_VENV_PYTHON` from `.dev.env` at the repo root (gitignored; +`.dev.env.example` shows the shape) — read it first. ``` $DEV_VENV_PYTHON .claude/skills/fix-ans-nulls/denul.py --dry-run --width 71 meshterm/assets/splash/logo.71.ans diff --git a/.claude/skills/profile-picocalc/SKILL.md b/.claude/skills/profile-picocalc/SKILL.md index 8b3a388..4a2c241 100644 --- a/.claude/skills/profile-picocalc/SKILL.md +++ b/.claude/skills/profile-picocalc/SKILL.md @@ -14,8 +14,8 @@ on came from the real app on `/dev/tty1`. ## Reaching the device -The address, login, key and password are **not in this file**. Read `dev.env` at the -repo root first (gitignored; `dev.env.example` shows the shape) — the `$DEV_*` names +The address, login, key and password are **not in this file**. Read `.dev.env` at the +repo root first (gitignored; `.dev.env.example` shows the shape) — the `$DEV_*` names below are its keys, and everything here is written to be run with them substituted. `ssh -i $DEV_PICOCALC_SSH_KEY $DEV_PICOCALC_USER@$DEV_PICOCALC_HOST` (key installed; diff --git a/.claude/skills/purge-test-data/SKILL.md b/.claude/skills/purge-test-data/SKILL.md index 023693d..d1cf1e8 100644 --- a/.claude/skills/purge-test-data/SKILL.md +++ b/.claude/skills/purge-test-data/SKILL.md @@ -13,8 +13,8 @@ carrying the simulator's fingerprints and nothing else. ## Run -The interpreter below is `$DEV_VENV_PYTHON` from `dev.env` at the repo root (gitignored; -`dev.env.example` shows the shape) — read it first. +The interpreter below is `$DEV_VENV_PYTHON` from `.dev.env` at the repo root (gitignored; +`.dev.env.example` shows the shape) — read it first. ``` $DEV_VENV_PYTHON .claude/skills/purge-test-data/purge.py --dry-run diff --git a/.claude/skills/verify/SKILL.md b/.claude/skills/verify/SKILL.md index 230214d..a44b290 100644 --- a/.claude/skills/verify/SKILL.md +++ b/.claude/skills/verify/SKILL.md @@ -8,8 +8,8 @@ model: haiku ## Launch -- Machine-specific values (this venv, the BLE companions below) live in `dev.env` at - the repo root — gitignored, with `dev.env.example` showing the shape. Read it first; +- Machine-specific values (this venv, the BLE companions below) live in `.dev.env` at + the repo root — gitignored, with `.dev.env.example` showing the shape. Read it first; the `$DEV_*` names here are its keys. - Venv interpreter: `$DEV_VENV_PYTHON` - Run the app as a module: `python -m meshterm …` (no install step needed). diff --git a/dev.env.example b/.dev.env.example similarity index 85% rename from dev.env.example rename to .dev.env.example index 0dca9b2..122dee0 100644 --- a/dev.env.example +++ b/.dev.env.example @@ -1,12 +1,12 @@ # MeshTerm developer environment — the machine-specific half of the .claude/ skills. # -# Copy to `dev.env` (gitignored) and fill in your own values. Nothing in here is read by +# Copy to `.dev.env` (gitignored) and fill in your own values. Nothing in here is read by # the app: `meshterm` is configured by `config.toml` and its own `MESHTERM_*` variables. # These are only for driving *your* hardware from a dev session, so every name is # `DEV_`-prefixed and cannot collide with the app's. # -# set -a; . ./dev.env; set +a # sh/bash -# Get-Content dev.env | ... # or just read the values; nothing sources it for you +# set -a; . ./.dev.env; set +a # sh/bash +# Get-Content .dev.env | ... # or just read the values; nothing sources it for you # --- this workstation --------------------------------------------------------------- # Full path to the venv interpreter, so a skill can run the app without an install step. diff --git a/.gitignore b/.gitignore index 8cecfb3..d655c2a 100644 --- a/.gitignore +++ b/.gitignore @@ -23,8 +23,8 @@ venv/ output/ # Developer environment: the machine-specific half of the .claude/ skills (device -# addresses, logins, the local venv path). dev.env.example is tracked and shows the shape. -dev.env +# addresses, logins, the local venv path). .dev.env.example is tracked and shows the shape. +.dev.env # Built radio firmware (scripts/xiao-radio/build-firmware.sh writes it here) scripts/xiao-radio/*.uf2