Skip to content

colelawrence/here-now

Repository files navigation

Right Now

This is an offline-first desktop app for tracking todos with timers.

Screen capture of Right Now in macOS tray

Here Now

Tentative plans for "Here Now".

Getting started

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.

Using Jaeger

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"

Using Jaeger locally

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

Using Jaeger in docker.

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

Codebase maintenance

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.