Oct 28, 2026
As I keep using code assistants both at day job and for fun, I kept evolving the AI invoking script utility.
Now the virtual environment for Zephyr OS install Zephyr dependencies. It was a bit silly not doing that in the first place, so it’s fixed. Also, the Zephyr SDK is now installed in the image. These changes should make working on Zephyr OS more straightforward.
Still on the area of working with Zephyr OS, there are now default instructions for both Claude and GitHub Copilot about the Python virtual environment for Zephyr OS development at /venv.
ainvoke now accepts GIT_NAME and GIT_EMAIL in the variables.sh, so using git is not annoying with the assistants asking (or guessing) that info. And no mouse clicks on Claude - that was distracting.
Another update is that now the container runs “detached”. This way, if the terminal dies (by accidentally closing it), one can reattach to it with something like:
docker exec -it <container-name> bash
Where <container-name> can be found via docker ps. From the bash, one can restore, for instance, GitHub Copilot with copilot --continue. Or have been smart and ran screen or tmux from the container. Or even smarter and ran the container from inside screen or tmux. Anyway, for accidents, now it’s good to know that the container is not dead.
Claude nowadays enables the auto mode by default, so it’s not near annoying as it was before, asking confirmation for everything. GitHub Copilot is not there yet, so now copilot is an alias for:
copilot --allow-all-tools --deny-tool='shell(git push)' --allow-all-paths
So it will be very less demanding. Note that I didn’t went full yolo yet: still restricting git push1 and not allowing all URLs. Just in case.
Again, you can find the invoker at my Github.
I don’t have my SSH keys to GitHub/GitLab inside the container, so the assistants shouldn’t be able to push anything. Still, I didn’t feel comfortable allowing git push. ↩