Bootwitch CLI Guided Walkthrough — Transcript
Captioned replay from a disposable project created with source commit
7bce28e8b27359c0087211a8b431eeea1c6d3e06.
This silent video replays real command output with edited pacing. $TOOLKIT
replaces the local source-copy path, and each panel identifies its working
directory. The last command intentionally returns exit status 1 to show the
no-overwrite refusal.
01 / A place to start
Create a shell project with its scripts, wrappers, tests, and docs.
Working directory: toolkit
bash bin/bootwitch init hello-bootwitch --template shell --root ./video-demo --no-git
bootwitch: making project directory: ./video-demo
bootwitch: preparing staging directory
bootwitch: copying base template
bootwitch: overlaying shell template
bootwitch: writing project metadata
bootwitch: filling template tokens
bootwitch: making project commands clickable
bootwitch: publishing finished project: ./video-demo/hello-bootwitch
Created ./video-demo/hello-bootwitch using template shell
Exit status: 0
02 / Welcome to the coven
The generated project has a friendly first entry point.
Working directory: hello-bootwitch
bash wrappers/hello.command
Hello from Bootwitch.
Welcome to the coven.
Exit status: 0
03 / Add a little shell magic
Creating a script also refreshes its README reference.
Working directory: hello-bootwitch
bash scripts/new-script.sh sample-task scripts
Created scripts/sample-task.sh
README updated: $TOOLKIT/video-demo/hello-bootwitch/README.md
Exit status: 0
04 / The documentation comes along
This entry was generated from the new script’s annotated header.
Working directory: hello-bootwitch
sed -n '/^### `sample-task.sh`$/,/^### /p' README.md
### `sample-task.sh`
- **Type:** script
- **Dates:** Created: 2026-09-11 | Last Updated: 2026-09-11
- **Version:** 0.1.0
- **Purpose:** Prepare runtime folders and log workflow start.
- **Arguments:** None.
- **Output:** Timestamped stderr messages.
- **Returns:** 0 success; nonzero failure.
- **Dependencies:** Bash 3.2+, dirname, mkdir, date; modules/paths.sh, modules/log.sh.
- **Reads:** .bootwitch/project.conf (root marker).
Exit status: 0
05 / Run it. Then check it.
The starter runs locally, and the generated project tests pass.
Working directory: hello-bootwitch
bash scripts/sample-task.sh
bash tests/run.sh
2026-09-11T21:43:31Z [info] sample-task started
All project tests passed.
Exit status: 0
06 / Existing work stays put
Trying the same name again is intentionally refused.
Working directory: hello-bootwitch
bash scripts/new-script.sh sample-task scripts
new-script: destination already exists: $TOOLKIT/video-demo/hello-bootwitch/scripts/sample-task.sh
Exit status: 1