Debug Trainer is an app that can randomly add bugs to files so that people learning to program can practice debugging those bugs in a context where they can get hints and help and where the bugs can be automatically removed if they can't figure them out.
Download the latest release on the latest release page and start it up! Grab the .dmg
file if you’re a Mac user, the .AppImage
file if you’re on Linux, and the .msi
file if you’re on Windows.
Debug Trainer runs on the Tauri platform using a front-end composed mainly of Elm code with a bit of Typescript to tie it together.
Since auto-reloading the complete app including Tauri can be unreliable, for simple UI changes you can just run the Elm front-end via the npm run dev:web:elm
command. To look at different pages of the app, you can comment/uncomment different lines of the Utils.DevModeStartState.get
function.
Note: when you run it this way, you'll see the app show an error because it's not getting the flags it expects, but you should be able to see the general interface still.
If you need to test out the file read/write capabilities as well, you'll need to run it with npm run dev
which will run elm-live, Parcel, and the Tauri backend all at once.
npm run build
will build the final app, though this is usually done via the Tauri cross-platform compilation GitHub action so that we can build for Mac, Linux, and Windows all at once. See the publish.yml workflow for how this GitHub action gets run.