- Added streaming explanations for the
rt explaincommand in interactive CLI mode, allowing responses to appear incrementally
- Simplified the explain flow by removing the custom system prompt
- Improved loader behavior during explanation generation
- Updated explain tests to match the new default system prompt behavior
- Refactored the web UI into modular JavaScript feature modules for improved maintainability
- Expanded the architecture documentation to reflect the new frontend module structure and project organization
- Updated explain feature tests for the new explain behavior
- Added tests for
style.css
- Improved the Light Theme across the web UI, including error colors, danger actions, task action buttons, hover effects, and badge contrast
- Added a Light Theme for the web UI, allowing users to switch between light and dark appearances
- Fixed CLI shell completion initialization to ensure completion works reliably across supported environments
- Unified validation error handling for the
rt explaincommand so it matches the behavior and formatting of other CLI commands
- Improved and refined the project documentation
- Added test coverage for task operations.
- Added import task tests.
- Added explain feature tests.
- Added task schema tests.
- Internal codebase refactoring and project reorganization with no user-facing changes
- Fixed shell completion initialization by relying on Argcomplete's
_ARGCOMPLETEenvironment variable instead of a customRAZTODO_COMPLETIONflag - Fixed optional
argcompleteimport at CLI startup to work correctly when shell completion support is not installed - Prevented internal exception messages from being exposed by the web explain streaming endpoint
- Updated the project description and wording in the README
- Relaxed
ty'sinvalid-assignmentdiagnostic configuration
- Added
rt explaincommand (and corresponding web UI modal with Summary / Deep Analysis / Action Plan modes) powered by a newExplainTaskUseCaseand Ollama LLM integration - Added
get_taskmethod toTaskRepository(and SQLite implementation) for fetching a single task by ID - Added
allextra inpyproject.tomlto install web + completion dependencies together - Added test coverage for
ExplainTaskUseCasefactory wiring, the newSettings.resolve_db_path/data_dirbehavior, and the FastAPI app's index route, static mount, and router registration (including the newexplainroute)
- Refactored
Settings: replaceddb_pathproperty and private_resolve_data_dirwith a publicresolve_data_dir()helper, adata_dirproperty that now creates the directory on access, and a newresolve_db_path()method for resolving relative/absolute DB paths AppContainerandsqlite_connection_factorynow work with a resolvedPathinstead of a raw db name string, with path resolution centralized inSettings- Reorganized web static assets into
static/css/,static/js/, andstatic/img/subfolders - Replaced
ui.py'srender_index_html()with directFileResponseserving oftemplates/index.html, returning a 500 error if the template file is missing - Reworked test suites for settings/connection (
TestDefaultDataDir→TestSettings) and the web app (test_app.py) to match the newSettings-based path resolution and file-based index serving - Bumped
fastapito 0.138.2 andraztintto 0.8.2
- Removed
tests/presentation/web/test_ui.pyalong with the deletedui.pymodule - Removed standalone
default_data_dir()function and its tests (folded intoSettings)
- Added additional test coverage for the web layer
- Improved project documentation and expanded README clarity
- Refactored and cleaned up
pyproject.tomlstructure and formatting - Updated project description metadata in
pyproject.toml
- Added
--clear-priority,--clear-due,--clear-tags, and--clear-projectflags to thert updatecommand for explicitly removing optional fields from a task
- Redesigned the web UI with a side panel layout for inline task editing, keeping the task list visible while editing
- Split
ui.pyinto separate static files:static/style.css,static/app.js, andtemplates/index.html, served via FastAPIStaticFiles - Migrated
ruffandtyconfiguration out ofpyproject.tomlinto dedicatedruff.tomlandty.tomlfiles - Added
infrastructure/version.pyas the single source of truth for the package version across CLI and web - Updated README and
pyproject.tomlmetadata
- Fixed
Nonevalues sent from the web UI not clearing optional fields (due_date,project,priority,tags) on task update - Fixed a bug where
typing_extensionswas not installed on fresh installs - Fixed an infinite loop caused by
renderTasksbeing called recursively instead ofrenderTaskin the task list renderer - Fixed
edit-panelnot closing after a successful save in the web UI
- Corrected dependency classification by ensuring FastAPI is only included in the optional web extra and not in core runtime dependencies
- Added an optional FastAPI-powered web UI, including its test suite and CLI router test coverage, contributed (#26 by @Lee123-hub33), available through the new
rt-webentry point and theraztodo[web]extra - Added a lightweight single-page web interface for creating, listing, searching, completing, deleting, clearing, importing, and exporting tasks
- Added a dedicated
src/raztodo/presentation/web/ui.pymodule to keep the web UI HTML, CSS, and JavaScript separate from the FastAPI app wiring
- Refactored the web app so
src/raztodo/presentation/web/app.pyfocuses on FastAPI setup while UI rendering lives in a dedicated helper module - Improved CLI router command-class resolution to support command modules with different class naming patterns more reliably
- Updated package metadata and installation options in
pyproject.toml, including thert-webscript and optionalwebdependencies - Refreshed README and docs to document the optional web UI, revised installation flows, CLI usage examples, architecture notes, configuration guidance, and testing instructions
- Updated CI to install and test with the
webextra, keep coverage reporting in the workflow, and align the matrix with the current toolchain setup - Regenerated
uv.lockto reflect the current dependency graph and optional extras
- Fixed and clarified several CLI help strings and examples, including due date guidance, update examples, and completion installation instructions
- Improved consistency in some error/help messaging across CLI, use-case, and repository code paths
- Expanded web route tests to cover the HTML index page and current API behavior
- Updated existing application, domain, and infrastructure tests to align with the web UI and related refactors
- Removed repository-local issue templates, pull request template, and top-level community policy files in favor of shared RazBuild documentation/resources
- Fixed incorrect data in examples and usage guide (tags, priority examples)
- Fixed potential log formatting issue when logging exceptions in
__main__.py
- Added helpful cross-reference links to the usage guide for faster navigation
- Improved container lifecycle management to ensure cleanup even on errors
- Enhanced error messages and logging consistency
- Migrate to uv for dependency management and tool installation
- Bugs in completion_cmd and entrypoint
- Rewrite CI/CD workflows to use uv (removed pr_test.py)
- Update documentation with uv installation instructions
- Minimum required Python version raised to 3.10
- Replaced
mypywithtyfor static type checking
- Documentation improved and updated
- Fixed Windows APPDATA path resolution bug
- Fixed absolute database path handling in connection factory
- Fixed file permission check using resolved path instead of original path
- Improve documentation clarity and correctness
- Fix incorrect or unclear information in documentation
- New
clear taskscommand
- SQLite search performance significantly improved
- CLI startup time and overall performance improved
- Internal container architecture refactored (no user-facing impact)
- README updated to reflect new features
- Documentation updated and aligned with current behavior
- Dependency
raztintadded for colored messages
- CLI entrypoint changed from
raztodotort - Logger naming improved
- Type hints simplified across command modules
- CLI output improved and performance optimized
- Obsolete and unused files removed
- Compiled Python artifacts removed from the repository
- README updated (badges, assets, formatting)
- Demo preview improved
- CI configuration fixed
- Python 3.14 added to test matrix