Pipedash
Resources

Development

Pipedash dev environment setup with mise, running the app, every mise task and the cargo features.

A working toolchain takes mise, a clone of the repository and two commands. This page lists the tools, the tasks and the cargo features of the Pipedash repository.

Environment setup

The repository uses mise for tools and tasks. mise.toml pins these tools:

ToolVersion
Rustnightly, with the components rust-src, llvm-tools, clippy, rustfmt and rustc-dev
Node24
Bunlatest

The file also sets RUST_LOG=debug. These commands install the tools, then the frontend dependencies:

mise install
mise run install

The desktop app needs the system libraries that Tauri lists in its prerequisites.

Running the app

mise run dev

dev starts the backend with cargo watch and the Vite frontend side by side. mise run dev:tauri starts the native app.

Mise tasks

TaskWhat it does
devBackend with cargo-watch and the Vite frontend
dev:front, dev:backFrontend only, backend only
dev:tauriDesktop app
dev:ios, dev:androidMobile development
buildRelease build of pipedash-web after build:front
build:frontFrontend assets
build:tauriDesktop bundles
build:ios, build:androidMobile builds
build:analyzeFrontend build with bundle analysis
check, check:front, check:backTypeScript type check and cargo check --workspace --all-targets --all-features
lint, lint:front, lint:backESLint and Clippy with warnings denied
fix, fix:front, fix:backeslint --fix and cargo clippy --fix --allow-dirty
fmt, fmt:front, fmt:backeslint --fix and cargo +nightly fmt --all
fmt:check, fmt:front:check, fmt:back:checkESLint and cargo +nightly fmt --all -- --check
cifmt:check, lint and check
precommitfmt, lint and check in sequence
releaseci and build
bump:patch, bump:minor, bump:majorVersion bump, then cargo update --workspace
installInstalls frontend dependencies
install:ios, install:androidInitializes the mobile targets
examples:sqlite:up, examples:sqlite:downBuilds and starts the SQLite Docker example, or stops it and deletes its volumes
examples:postgres:up, examples:postgres:downThe same for the PostgreSQL example
cleancargo clean and removal of dist and the Vite cache
knipFinds unused code
iconsGenerates app icons
deps, deps:minorUpdates dependencies, major or minor

Cargo features

FeatureCratesEffect
postgrespipedash-core, pipedash-desktop, pipedash-webCompiles PostgreSQL support. It is in the default features of all 3 crates
fullpipedash-core, pipedash-webEnables postgres
devtoolspipedash-desktopEnables tauri/devtools
custom-protocolpipedash-desktopEnables tauri/custom-protocol

A PostgreSQL storage backend needs the postgres feature at build time. The storage backends page covers the runtime choice.

Next step

The architecture page shows where a change belongs, and the contributing page covers the templates and checks.