Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Leonxlnx/todobar/llms.txt

Use this file to discover all available pages before exploring further.

Todobar is an open source project licensed under the Apache License 2.0. Contributions are welcome in any form — bug fixes, new features, documentation improvements, platform polish, or design feedback. This page explains how to get set up, where contributions are most needed, and what to include when you open a pull request.

Fork and set up the environment

1

Fork the repository

Fork Todobar on GitHub and clone your fork:
git clone https://github.com/your-username/todobar.git
cd todobar
2

Install dependencies and start the app

Follow the full setup guide at Set up the Todobar development environment. The short version:
npm install
npm run tauri:dev
3

Validate before committing

Before opening a pull request, run the full validation suite:
npm run build
npm run lint
cargo check --manifest-path src-tauri/Cargo.toml

Areas especially welcome for contributions

The following areas have the most room for focused community help:
  • Windows and macOS edge-window behavior — pixel-accurate docking, multi-monitor targeting, and interaction with system trays and taskbars across OS versions.
  • Accessibility and keyboard-first task flows — full keyboard navigation through task lists, focus management, ARIA roles, and screen reader compatibility.
  • Local-first data storage — migration from localStorage to SQLite, import/export formats, and backup flows.
  • Release signing and auto-update — Windows code signing certificates, Apple notarization, and a signed auto-update channel via the Tauri updater.
  • MCP connector design — the adapter interface for connecting external context sources (GitHub, calendar, notes, filesystem) without silent reads or writes.
  • AI planning UX with privacy boundaries — proposal flows, approval UI, confidence and source display, and audit logs for AI-created tasks.

Product principles

Keep these in mind when contributing:
  • Keep the sidebar fast and quiet — avoid adding weight to the main render path.
  • Prefer local-first behavior — do not add external network access without an explicit permission model.
  • Keep AI and MCP features optional and inspectable — the core task app must remain fully useful without them.
  • Preserve Windows and macOS behavior when changing native window code — note which platforms you tested on in the pull request.

Code style

Todobar is written in TypeScript (React) and Rust (Tauri backend). The TypeScript layer uses ESLint with typescript-eslint, eslint-plugin-react-hooks, and eslint-plugin-react-refresh. Run the linter before committing:
npm run lint
  • Use TypeScript throughout — avoid unverified any types and untyped escape hatches.
  • Keep components focused; prefer extracting small pure helpers over growing a single file.
  • Rust code follows standard cargo fmt and cargo clippy conventions.

Tests

Two smoke test commands are available:
npm run test:smoke
Runs Playwright browser smoke tests against the Vite preview. Covers the sidebar open/close flow, settings drawer, task interactions, and responsive layout bounds. If Chromium is missing, run npx playwright install chromium first.
npm run test:native
Runs a no-bundle Tauri release build. Validates that the native desktop shell compiles without producing full platform installers. Useful for confirming Rust-side changes before pushing.

Pull request process

Good pull requests include:
  • A focused change — one logical concern per PR makes review faster.
  • Screenshots or a screen recording for visible UI changes.
  • The exact commands you used to test the change.
  • Platform notes when touching Tauri window behavior or native APIs — state whether you tested on Windows, macOS Apple Silicon, macOS Intel, or used CI only.
Push a branch to your fork and open a pull request against main. GitHub Actions runs ci.yml automatically on both Windows and macOS — check that CI passes before requesting review.
If your change touches native window positioning, dock edge behavior, or Tauri plugin configuration, note which platform you tested on. CI covers compilation but not physical device behavior.

Issue tracker

The public issue tracker is focused on real user reports. Roadmap planning, release follow-ups, and architecture decisions live in the docs/ directory of the repository so the tracker stays actionable. Before filing an issue, check whether the topic is already covered in docs/roadmap.md or docs/product-vision.md.

License

Todobar is licensed under the Apache License 2.0. By contributing, you agree that your contributions will be licensed under the same terms.

Build docs developers (and LLMs) love