You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Automatically generates the next instance when a recurring task is marked as done.
13
+
- Smart due date computation with missed cycle protection.
14
+
- Integrated into the task editor TUI for seamless workflow.
15
+
-**Enhanced Recurrence Previews**: Added real-time "Next Occurrence" date previews to the task editor, providing instant feedback as you type recurrence rules.
16
+
-**AI & MCP Recurrence Support**: Extended the Gemini-powered assistant and MCP server to support managing recurring tasks via natural language and external AI agents.
17
+
-**Backward Compatibility**: Ensured that existing tasks and older database records default safely to `none` recurrence, preventing validation errors.
18
+
-**Task ID Visibility**: Added a new setting to toggle the visibility of task IDs in the detail view.
19
+
- Configurable via `config.toml` (`show_id = true/false`) or the Settings TUI.
20
+
- Useful for users who prefer a cleaner interface without technical metadata.
21
+
22
+
### Fixed
23
+
-**Background Bleed**: Background not fully filling terminal viewport when using colored themes.
24
+
8
25
## [1.3.5]
9
26
-**CLI Validation**: Added robust validation for subcommands and flags. Kairo now warns the user and provides helpful guidance when an invalid command or flag is provided.
10
27
-**Global Flags**: Added support for `-h`/`--help` and `-v`/`--version` as global flags.
Copy file name to clipboardExpand all lines: README.md
+14-2Lines changed: 14 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,14 +92,17 @@ Your tasks are yours. They don't belong in someone else's cloud.
92
92
### It's fast — genuinely fast
93
93
Sub-millisecond fuzzy search. Full keyboard control. Vim bindings (`j/k/gg/G`). Natural language deadlines like `tomorrow 10am` or `next friday`. You never have to leave the keyboard.
94
94
95
+
### Recurring tasks
96
+
Tasks can automatically reappear based on a schedule. Weekly (e.g. `mon,wed,fri`) or Monthly (e.g. `15`). When a recurring task is completed, Kairo automatically generates the next instance with a smart due date preview in the editor, ensuring you never miss a beat.
97
+
95
98
### It respects your data
96
99
SQLite storage with WAL mode. Fully offline. Optional Git-backed sync — no backend, no account, no lock-in. Export to JSON, CSV, Markdown, or plain text whenever you want.
97
100
98
101
### It grows with you
99
-
A Lua plugin system lets you hook into task events. A headless CLI API means you can automate anything. And an MCP server opens Kairo up to AI agents that can read and manage your tasks directly.
102
+
A Lua plugin system lets you hook into task events. A headless CLI API means you can automate anything. And an MCP server opens Kairo up to AI agents that can read and manage your tasks directly — now with full support for recurring schedules.
100
103
101
104
### AI — when you want it, invisible when you don't
102
-
Optional Gemini integration (`gemini-3.1-flash-lite-preview` / `gemini-2.0-flash-lite` / `gemini-2.5-flash-lite`). Toggle it with `ctrl+a`. It never runs unless you invoke it. Your workflow, your call.
105
+
Optional Gemini integration (`gemini-3.1-flash-lite-preview` / `gemini-2.0-flash-lite` / `gemini-2.5-flash-lite`). Toggle it with `ctrl+a`. It never runs unless you invoke it. Now you can create and manage complex recurring tasks using simple natural language prompts. Your workflow, your call.
103
106
104
107
### Beautiful by default
105
108
32 built-in themes. Live switching with `t`. Bento-style layout. Real-time Markdown preview (`ctrl+p`). Cinematic animations for create, complete, and delete (with a global toggle in `ctrl+s` to disable them for maximum speed). It's a terminal app that you'll actually enjoy looking at.
Description: "JSON payload for the action. For 'set_theme', use 'theme' (string). For 'plugin_list', use {}. For 'plugin_get/delete', use 'name' (string). For 'plugin_write', use 'name' and 'content' (string). Tasks use title, description, tags, priority, status, deadline.",
34
+
Description: "JSON payload for the action. For 'set_theme', use 'theme' (string). For 'plugin_list', use {}. For 'plugin_get/delete', use 'name' (string). For 'plugin_write', use 'name' and 'content' (string). Tasks use title, description, tags, priority, status, deadline, recurrence (none|weekly|monthly), recurrence_weekly (array of strings), recurrence_monthly (number).",
0 commit comments