This is an offline-first desktop app for tracking todos with timers.
Tentative plans for "Here Now".
Install watchexec for watch commands like cargo xtask dev
and cargo xtask web-build --watch
.
cargo install watchexec-cli
Get all the submodules (we have several forks with smal tweaks so we can more easily upstream fixes as we build)
git submodule update --recursive --init
Install node (I recommend using nvm) and then install the npm dependencies (these are for tailwind intellisense, prettier, and for a special launch-editor function from Jaeger).
npm install
Install deno (installation). Deno is used for code generation and for as many non-cargo scripting things as we can manage, since it's much easier to maintain security of deno scripts than node scripts.
Jaeger is a way for us to look at what's happening inside our application based on it's tracing spans. This tooling greatly improves our ability to understand what happened and what is taking a long time to perform.
See a recorded Loom: "2023-08-02 Here-Now Dev Tools with Jaeger UI"
Install jaeger-all-in-one
by adding the binary from releases to your PATH
.
cargo xtask jaeger # in one terminal
# right now
cargo xtask rn dev # in the other
# here now
cargo xtask dev-server # in the other
cargo xtask dev-desktop # in the other
cargo xtask jaeger --docker # in one terminal
# right now
cargo xtask rn dev # in the other
# here now
cargo xtask dev-server # in the other
cargo xtask dev-desktop # in the other
Tools for maintaining tidyness in the codebase.
xtask
: all codebase commands go through cargo xtask ...
and those go to this executable.
This allows us to write the majority of our code in Rust and cross-platform, including codebase management code. See matklad/cargo-xtask.workspace-hack
: A crate maintained by hakari, updated by the cargo xtask hakari
command.