GUIDE · 09

Development

Build, test, contribute, and understand the current roadmap.

Warning-enabled test build

cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON
cmake --build build
ctest --test-dir build --output-on-failure

Contribution checklist

  • Keep implementation native C++20; Zari intentionally has no plugin or scripting runtime
  • Preserve safe behavior for spaces, Unicode names, leading dashes, symlinks, and recursion
  • Build with -Wall -Wextra -Wpedantic and run the complete test suite
  • Update documentation when behavior, keybindings, configuration, or packaging changes

Where tests matter most

Keep UI-independent behavior in testable modules. Add regression coverage for configuration, sorting, path handling, selection, tabs, search, and filesystem operations.

Roadmap

  • Search-result views and rg content-search integration
  • Cancellable progress dialogs for long-running operations
  • Bulk rename and an open-with rules interface
  • Optional terminal image protocols
  • Syntax-highlighted source previews
  • Additional metadata columns and UI polish