MyCmd and MyProject Weekly Progress Report: 2025 Week 38
Installing MyCmd and MyProject
This week I finished the release automation work for MyCmd and MyProject, enabling me to create a release locally which uses the GitHub Cli to create a release tag and upload release tarballs.
With this work, you can use the Mise tool to install and run MyCmd and
MyProject. MyCmd requires no extra effort, but because MyProject
requires setting the MYCMD_SEARCH_PATH
environment
variable, I had to create a Mise Tool
Plugin to manage the environment variable. To do so, I created myproject-tool-plugin
from the mise-tool-plugin-template.
To install MyCmd and MyProject, if you have Mise installed and activated, you can now just run the following:
mise use -g github:travisbhartwell/mycmd
mise plugin install myproject https://github.com/travisbhartwell/myproject-tool-plugin
mise use -g myproject
Demo
I recorded the following demonstration. It is in a fresh Debian 12
Linux Virtual Machine, with the only change before starting to record
was turning on dark mode and increasing the terminal font size. The
shell script I run is based on the Mise Getting Started
Documentation, with the addition of installing git
and
rsync
needed for the MyCmd project execution. I then check
out the MyCmd git repository. I do have to run mise install
twice to install the dependencies from the mise.toml
because the first install will install the MyProject Tool Plugin and
then the second install will install MyProject.
MyCmd Updates
This week I pushed 8 commits to MyCmd, including the following changes:
- Adding new release automation tasks to the MyProject task definition files
- Creating an initial 0.01 release
- Added new installation and development documentation
- Automatically create the MyCmd User Directory (by default,
$HOME/mycmd
) when executingmycmd
if needed - Switch to using XDG directories on all platforms, including Mac OS, as I was persuaded by this blog post that this was the right thing
- Creating the 0.02 release
- Adding a
mise.toml
file for MyCmd dependencies
During this week, I created three snapshot tags and two release tags: MyCmd git tags, including the following two releases:
MyProject Updates
This week I pushed 6 commits to MyProject, including the following changes:
- Adding new release automation tasks to the MyProject task definition files
- Creating an initial 0.01 release
- Don’t depend on a MyCmd checkout for MyProject snapshot tests
During this week, I created two snapshot tags and one release tag: MyProject git tags, including the initial release:
MyProject Mise Tool Plugin Updates
I created the myproject-tool-plugin project to enable installing and managing MyProject with Mise. I pushed 3 commits this week to implement the plugin.
I created one release tag this week for the project:
I had some issues with the CI in GitHub Actions that I need to resolve, but the manual release works well.
Next Week
I need to update the MyProject README to include installation instructions.
I also accepted a job offer this last week and will be starting my new role in a couple weeks, so I will take some time this next week to figure out what I need to prioritize to have MyCmd and MyProject ready to use in my day to day work in my new employment.
All of my MyCmd and MyProject Weekly Progress reports will be linked from here.