Releases: boolean-maybe/tiki
tiki 0.5.2
0.5.2
choose() builtin
New ruki builtin that lets an action reference a task selected by the user. Accepts an optional subquery to narrow the candidate list. When an action containing choose() is triggered, the user picks a task before the action executes. The selected task ID is substituted into the update statement.
update set blocked_by = choose(select * where status = "Open")
Quick Select
A new overlay for picking tasks by typing. Shows a scrollable task list that narrows as you type. Used by choose() but wired as a general-purpose picker available to the action system.
Conditional actions
Actions declare require: conditions ("id", "ai", "!view:plugin:Kanban") to control enabled/disabled state declaratively.
Go-git backend with auto-selection
Git operations now run through shell and go-git backends. Auto-selects shell when git CLI is available, falls back to pure Go otherwise. Enables running tiki without git installed.
Configurable git integration
New store.git setting to disable git entirely. Bootstrap reordered so config loads before git checks.
Workflow version guard
Tiki rejects workflow files with a version newer than the running binary, with a clear upgrade message.
Edit Workflow action
Open the workflow YAML in $EDITOR from the action palette.
Workflow format documentation
New workflow-format.md documenting the YAML schema, versioning, and evolution strategy.
Changelog
Others
- 87b932b Merge pull request #108 from boolean-maybe/feature/quick-select
- e0e8939 Merge pull request #109 from boolean-maybe/feature/gogit-implementation
- 40b727f Merge pull request #110 from boolean-maybe/fix/quick-select-highlight
- 7eb5b78 Merge pull request #117 from boolean-maybe/feature/conditional-action
- 4f51ce1 Merge pull request #118 from boolean-maybe/feature/git-switch
- 27d97e5 Merge pull request #123 from boolean-maybe/dev
- b4eecf5 conditional actions
- 1b30188 config store and git switch
- 1d24886 enforce git interface
- 89f1edf fix quick select highlight
- c284a6f fix scrolling in quick select
- 886d4fe gogit implementation
- e36e441 quick select and choose() builtin
- 6687d41 reject higher version workflows
- 42033bb reverse workflow format doc
- fb293fd set workflow version 0.5.2
- 9b906c7 show and edit workflow
- 07c4fc4 update docs for choose()
- 8d1b8cf workflow schema evolution doc
tiki 0.5.1
0.5.1 streamlines workflows:
- enhance
tiki initcommand to support workflow installation - remove merging across different workflow installations to simplify logic - the most specific wins
- workflow is now read-only - tiki will not save any runtime settings
Changelog
Others
- e1bf8bd Merge pull request #102 from boolean-maybe/dev
- dcf1b80 Merge pull request #103 from boolean-maybe/fix/ctrl-not-parsed
- 7a8f42f Merge pull request #104 from boolean-maybe/fix/remove-write-config
- 20aae88 Merge pull request #105 from boolean-maybe/feature/remove-merge
- ffbc65d Merge pull request #106 from boolean-maybe/feature/tiki-init-improve
- e5575fb Merge pull request #107 from boolean-maybe/dev
- 9729938 customization docs
- 37165bb fix action key parsing
- 3637fbc fix cmd test
- 0fa3cce fix paste hang on multibyte UTF-8 characters
- 8336fa2 fix windows test
- ba74ed9 improve tiki init command
- dc94580 remove coverage.out from tracking
- 6375091 remove merging workflow
- 12fd855 remove write to config
- 41883b5 update readme
tiki 0.5.0
What's New
ruki Pipe Syntax
Select results can now be piped to external handlers. Two pipe targets are available: run() for shell commands and clipboard() for copying to the system clipboard.
select id, title where status = "done" | run("myscript $1 $2")
select id where id = id() | clipboard()
ruki Limit Clause
Cap the number of results returned by a select statement with limit N. Applied after filtering and sorting.
select where status = "ready" order by priority limit 5
ruki-Based Skills
AI agent skills (Claude Code, Gemini, Codex, OpenCode) are now defined using ruki statements instead of low-level file manipulation. Agents interact through tiki exec '<ruki-statement>', gaining built-in validation, triggers, and git staging for free.
Plugin Actions
Actions can now be defined at the workflow level under views.actions and shared across all plugin views. Per-plugin actions override globals with the same key.
views:
actions:
- key: "a"
label: "Assign to me"
action: update where id = id() set assignee=user()
- key: "+"
label: "Priority up"
action: update where id = id() set priority = priority - 1Custom Fields
Define project-specific fields in workflow.yaml. Supported types: text, integer, boolean, datetime, enum, stringList, taskIdList. Custom fields work everywhere — ruki queries, triggers, and task templates.
fields:
- name: severity
type: enum
values: [critical, high, medium, low]
- name: reportedBy
type: text
- name: dueBy
type: datetimeCustom Types
Define your own task types with labels and emoji. When no types are defined, the built-in defaults (story, bug, spike, epic) are used.
types:
- key: bug
label: Bug
emoji: "🐛"
- key: incident
label: Incident
emoji: "🔥"Workflows
The tiki workflow command installs, describes, and resets named workflows. Three built-in workflows are available:
- todo — minimal two-lane checklist (Todo → Done)
- kanban — five-status board with stories, bugs, spikes, and epics
- bug-tracker — triage-focused workflow with severity, SLA tracking, and custom fields
tiki workflow install kanban --local
tiki workflow describe bug-tracker
tiki workflow reset --global
Action Palette
A keyboard-driven command palette (Ctrl+A) lists all available actions. Actions can be non-header — functional but hidden from the header bar, discoverable only through the palette.
Input Actions
Actions can now prompt for user input before executing. Declare an input type on any action, and use input() in the ruki expression to reference the entered value.
- key: "A"
label: "Assign to..."
action: update where id = id() set assignee=input()
input: stringClipboard Builtin
Built-in clipboard() pipe target copies selected fields to the system clipboard as tab-separated values.
- key: "y"
label: "Copy ID"
action: select id where id = id() | clipboard()Changelog
Others
- 4891de4 Merge pull request #100 from boolean-maybe/dev
- 12a0ea8 Merge pull request #75 from boolean-maybe/worktree-ruki-pipe-syntax
- 3c658f7 Merge pull request #76 from boolean-maybe/feature/plugin-actions
- 80444f1 Merge pull request #77 from boolean-maybe/feature/ruki-limit
- a226f43 Merge pull request #84 from boolean-maybe/feature/custom-fields
- 73a95e2 Merge pull request #85 from boolean-maybe/feature/config-command
- 6713b5b Merge pull request #86 from boolean-maybe/worktree-feature+custom-type
- 351d781 Merge pull request #88 from boolean-maybe/feature/install-workflow
- a63ad74 Merge pull request #89 from boolean-maybe/worktree-feature+named-workflows
- 11b4ae2 Merge pull request #90 from boolean-maybe/feature/bug-tracker-workflow
- 80e7f1e Merge pull request #91 from boolean-maybe/feature/workflow-description
- 2a6c120 Merge pull request #92 from boolean-maybe/feature/action-palette
- 0312ad8 Merge pull request #93 from boolean-maybe/feature/input-action
- ef25f5f Merge pull request #98 from boolean-maybe/fix/actions-in-edit-mode
- 129f847 Merge pull request #99 from boolean-maybe/fix/reassign-action-palette-key
- 7b7136c action palette phase 1
- db01910 action palette phase 2
- 1596bc9 action palette phase 3-4
- 2175551 action palette single border
- 31cfd46 add limit clause
- d2c2865 add llms.txt
- 8cc1614 add non-header action
- 8a68544 add version field
- 6246820 appease linter
- b52e20d appease linter
- 692e559 appease linter
- 70d572b appease linter
- ae3634d appease linter
- 47a57af basic workflows
- 529835d bug-tracker workflow
- aefb6a7 clipboard builtin
- 7169f53 config reset
- 3f86eb9 custom fields
- 952c095 custom types
- 7f6f365 enable skill
- 48e7968 fix action firing on printable character
- 2a50feb fix action palette layout
- 50a3d8c fix action palette transparency
- e275604 global plugin actions
- 2327379 input action
- 936942d missing type default
- 025342c plugin expose selectable view interface
- 7abddcd reassign action palette key
- 8838c29 reassign action palette to asterisk
- 3b33659 redefine skills based on ruki
- f4e425b remove v from version
- 9ec6588 ruki pipes
- 14d46d4 shut up linter
- f377bb5 single border by default
- 56d3b64 tiki workflow command
- f7ca8b4 workflow description
tiki 0.4.1
theme support:
- auto detection of terminal background
- light color theme
- 12 named themes
https://github.com/boolean-maybe/tiki/blob/main/.doc/doki/doc/themes.md
Changelog
Others
- 6f0ecf9 add color for task border to palette
- a5a7c2d add image requirements link
- b5f2ad6 add recipes
- ab06d1a cache effective theme to prevent OSC 11 hang after tview takes terminal
- e93675c compact colors round 1
- 8cbce76 fix go.mod
- 0fdeed4 fix go.mod
- 335743b fix go.mod
- 0be985a group colors by value
- 7656ae9 light theme and termenv-based auto-detection
- 9e40a0f named color themes
- db900cf per-theme navidown styles
- 404b4be theme-aware auto-generated caption colors
- 9eee3ea theme-aware codebox styling
tiki 0.4.0
v0.4.0 introduces ruki — a small, SQL-like language built into tiki for finding, creating, updating, and deleting tikis, and creating workflows.
Changelog
Others
- 381f98c Merge pull request #46 from boolean-maybe/feature/ruki
- 0fb4baa Merge pull request #47 from boolean-maybe/feature/ruki-plugin
- 65215da add common triggers
- a31fc25 add coverage
- 3239c0a add coverage
- 682bcb8 add coverage
- 7aa7b4b add coverage
- 09b63e9 add coverage
- 2d1a66d add coverage
- 69a0b01 collect colors
- 614f289 convert demo to png
- ca5a16e execute create and delete
- c466ca3 execute triggers
- f99a76f execute update
- 8144947 extract status and type registries into workflow package
- 182a0fe fix constructor
- b8deb9e fix default workflow
- fe47de1 fix dependencies
- 5a7e30c fix github linter
- 7eb6850 fix github linter
- 1cf1087 fix unit run
- bd40184 fix windows test
- 7045d51 highlight error in statusline
- d78b187 improve coverage
- bf2c240 improve coverage
- 5a8918b improve navigation in plugin
- b89e8c7 legacy workflow.yaml converter
- b46649b make all fields camel case
- 81ecdab markdown viewer image
- 7ffd72f mutation gate
- 47c3855 order by support
- 2d9d81b refactor ruki keyword parsing
- bd59ef7 release update
- d9b5d88 remove gif excess
- b5e3525 remove plugin-level filter
- 5781f37 remove updates
- 1168253 replace contains with in
- 00ba1ed replace plugin expressions with ruki
- 2efaeb2 ruki documentation
- 1bf6bfa ruki parser
- 9266848 ruki query runtime
- 1ee7c5a select executor
- 308c1f8 select field list
- 7957655 semantic validator
- 4875249 show statusline on all warnings
- 7d48d53 time trigger executor
- b5921c6 time triggers syntax
- 7405ed0 trigger message in task edit
- d72283a update AI docs
- f610e74 update README for ruki
- 5eed607 update docs
- 676a0ec update image
- aa37ef1 upgrade CI go version to 1.25.x
tiki 0.3.4
tiki 0.3.3
configure and chat with AI agent
improve mermaid and SVG rendering
tiki demo
config precedence/merging rules
Changelog
Others
tiki 0.3.2
tiki 0.3.1
Changelog
Others
- e37d451 Graphviz diagram support
- 365b06b Merge pull request #37 from boolean-maybe/feature/dependencies
- 2d115ef add missing file
- a0faa49 add statusline
- 0fa71de add statusline hints
- 9554927 always show due and recurrence
- 6f55094 burndown chart not showing if no recent history
- f0765fe codesign on Mac
- 973ea91 config set lane width
- 40527fc configure codeblock appearance
- 839e6c4 dependency editor
- ab880cd due and recurrence
- 86506bb edit description only
- 5927740 edit due
- 9f26d7a edit recurrence
- 242100b edit tags
- 9073863 fix focus order
- d805793 fix test on linux
- 19b15c2 fix test ordering
- 3d539bc fix workflow
- 62c1212 improve table rendering
- 3c9a42c improve test coverage
- e0820ea markdown rendering fixes
- 6627468 optimize SVG generation
- d5e28b2 read only view in deps plugin
- 8a9477d recurrence auto-computes due date
- 088c968 remove project config.yaml install
- 5947292 replace header stats with view info
- 672ddb1 save settings per plugin for dynamic plugins
- 1192aa3 search by ID and tags
- ba544ff set nord as default codeblock theme
- c81e7fb skip packages with no tests
- 18170d6 update image render documentation
- 6317bbd viewer open image files
