hiiro 0.1.365 → 0.1.366

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5cd9e9d71bc395bd2c2595f8087e46f1ba6ea4e5ec80ae9ea9be9942aeddc15a
4
- data.tar.gz: 96f39bc0fe91064bb6a7c95371b7d1105be32daad17883e5a75ec565a617783c
3
+ metadata.gz: 97e9a140ccea0c61c6efe48395bda803e10bec8c0a933a95efb4a949a8788cdf
4
+ data.tar.gz: 24c45d70c07d018be4cca31368d91d55b8c8caa89d326e65803c512dcdf3b93e
5
5
  SHA512:
6
- metadata.gz: ff2f56ae6f5c69db4476308c1f52eff96504b8ce52b8fb1d015a4ade478e3000e075ac0e8a737d2fc03b9bb16108ba6408ca7eb22af76965780addf528f94758
7
- data.tar.gz: f15c1f626b4c6b7ffccfc62559517a35d75a0f0e10ac1a72601401b7b953231ec2e9df4495946c9724d46d7ce3d2d9d2b26826f4f4119dfadf80041935288c75
6
+ metadata.gz: e1b139bc6a4286240311b0106413abed936ebef51771b267d4284ecff70783c5df7a4a0a7b368251e481c8f72ed0cc5d0bc094fe513cffa1563df08123fa65dc
7
+ data.tar.gz: 37b32e60d486151dad01c08fdff82db9e9cff23506c8dad72636421b91e77c9e2e7a342b145770d86c615cc982035c4dcc80f3039ec3e457809e431f0bcc5aa2
data/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## [Unreleased]
4
+
5
+ ## [0.1.366] - 2026-09-14
6
+
7
+ ### Changed
8
+ - Implement task-first CLI syntax: `t TASK COMMAND...` replaces `t COMMAND [TASK]...`
9
+ - Task names now precede commands, appearing immediately after `t` or after a group
10
+ - Task resolution prefers exact names, then unique case-sensitive prefixes; ambiguous prefixes fail
11
+ - Move workspace command from `t workspace TASK` to `t TASK switch` (keep `workspace` as alias)
12
+ - Rename implicit task selection to explicit `.` reference; bare `t` lists all tasks without selecting
13
+ - Update `t current TASK` to `t TASK current`; explicit named selections save fallback after success
14
+ - Context resolution checks calling Herdr workspace, then current directory, then saved task; reject ambiguous matches
15
+
16
+ ### Added
17
+ - Task todo management under `t TASK todo` with `add`, `rm`, `list`/`ls` subcommands; todos share existing database with `h todo`
18
+ - `tt TASK ...` shortcut delegates to `t TASK todo ...`; bare `tt` uses current task via `.` selection
19
+ - Orphan todo scope with `t - todo` and `tt -` for unassigned todos; `-` invalid outside todo commands
20
+ - Native AI session launches via `t TASK omp`, `codex`/`cdx`, and `claude`/`cld` for fresh tool instances
21
+ - Resume mode with first-argument prefix matching (e.g., `r`, `res`, `resume`); focuses unique running instance or launches native picker
22
+ - `Hiiro::TaskScope` library for named/current/orphan task reference resolution with cached context
23
+ - `Hiiro::TaskSessions` library for AI tool launch/resume dispatch with Herdr workspace integration
24
+ - New `lib/hiiro/task_scope.rb` and `lib/hiiro/task_sessions.rb` support libraries
25
+ - New `bin/tt` executable for todo shortcut
26
+
3
27
  ## [0.1.365] - 2026-09-13
4
28
 
5
29
  ### Added
@@ -27,346 +51,3 @@
27
51
  - Restore the missing `Hiiro::Bins` helper so `require "hiiro"` boots and commands like `h jumplist record` dispatch correctly.
28
52
  - Make Hiiro's Ruby requirement explicit as Ruby 3.2+ and have rbenv-wide gem installs skip incompatible Ruby versions.
29
53
  - Update the publish script to preserve the Ruby support constant, run only on supported Ruby, and install releases only into compatible rbenv versions.
30
-
31
- ## [0.1.364] - 2026-09-13
32
-
33
- ### Fixed
34
- - Create the publish response log directory before saving Claude's output, preventing release preparation from failing when the directory is absent.
35
- - Prevent infinite recursion in help directory grouping when command locations span different filesystem-root directories, such as `/Users` and `/Volumes`.
36
-
37
- ## [0.1.355] - 2026-05-19
38
-
39
- ### Added
40
- - `h task from <worktree-path> <task-name>` registers an existing git worktree from any path as a Hiiro task and switches to it.
41
-
42
- ### Fixed
43
- - `h task list` now shows external tasks registered with slash-containing names like `menu/ids`.
44
-
45
- ## [0.1.353] - 2026-04-26
46
-
47
- ### Added
48
- - `Hiiro::Tui::ListScreen` for building keyboard-driven full-screen list interfaces
49
- - `Hiiro::Config.load_yaml` and `Hiiro::Config.yaml_dig` helpers for YAML file loading with nested key access
50
-
51
- ## [0.1.352] - 2026-04-24
52
-
53
- ### Added
54
- - `h claude all|agents|commands|skills` now support `--absolute/-a` to print absolute tool paths; skill matches resolve to `SKILL.md`
55
-
56
- ### Fixed
57
- - `h capture path <num>` now prints the path of the Nth most recent capture (was always printing the captures dir regardless of args)
58
- - `h capture new` / `h capture file` now record to the DB even when interrupted (Ctrl-C, exception) so partial captures show up in `h capture ls`. Interrupted captures display with the existing `?` glyph and `(exit interrupted)` message.
59
- - `h pane splitv/splith` subcommand mappings corrected
60
- - Corrected `REPO_PATH` constant from `.bare` to `.git`
61
-
62
- ## [0.1.350] - 2026-04-18
63
-
64
- ### Added
65
- - `h-capture` command and `Hiiro::Capture` module for clipboard/selection capture
66
-
67
- ### Changed
68
- - Optimize `Hiiro::Shell::Result#plain_text` and `#lines` with instance-level caching
69
- - Refactor `Shell::Result#lines` to use `String#lines(chomp: true)` for improved line handling
70
- - Reduce Claude API effort to `low` in publish script for faster changelog generation
71
-
72
- ## [0.1.349] - 2026-04-17
73
-
74
- ### Removed
75
- - `h task branches` and `h task wtrees` convenience subcommands; use `h branch` and `h wtree` directly instead
76
-
77
- ## [0.1.348] - 2026-04-17
78
-
79
- ### Added
80
- - `h task path|tree|branch|session` now accept `-a/--all` to print one value per task; trailing positional args act as prefix filters (OR'd together)
81
- - `h task name` — new subcommand; prints current task name (or selects via fuzzyfind), supports `-a` like the others
82
- - `h task prune` — drops task records whose worktree dir is missing; dry-run by default, requires `-f` to actually delete
83
- - `TaskManager#filter_tasks(prefixes)` helper for sorted, prefix-filtered task lists
84
-
85
- ## [0.1.347] - 2026-04-12
86
-
87
- ### Added
88
- - `h pr tags` now supports flags: `--update/-u` (refresh PR status before listing), `--verbose/-v` (multi-line output per PR), `--checks/-C` (show individual check run details)
89
-
90
- ## [0.1.346] - 2026-04-12
91
-
92
- ### Added
93
- - `h pr tags` now accepts optional tag names to filter output to only those tags
94
-
95
- ## [0.1.345] - 2026-04-12
96
-
97
- ### Fixed
98
- - ANSI escape sequence pattern now uses hex escapes (`\x20-\x2f`) instead of literal space-to-slash to avoid ambiguity with the `/` regex delimiter
99
-
100
- ## [0.1.343] - 2026-04-12
101
-
102
- ### Added
103
- - Task subcommands now fall back to `~/proj/*` directories when no task matches
104
- - `h task path hiiro` → resolves to `~/proj/hiiro` if no task named "hiiro" exists
105
- - Works for: `cd`, `path`, `sh`, `branch`, `tree`, `session`, and any subcommand using `-t` flag
106
- - `FallbackTarget` class duck-types as `Task` for seamless integration
107
- - Ambiguous project matches print a warning to stderr
108
-
109
- ### Fixed
110
- - `Hiiro::Git::Pr.is_link?` is now a class method (was instance method)
111
-
112
- ## [0.1.342] - 2026-04-08
113
-
114
- ### Added
115
- - `h pr review` / `h pr cr` — code review workflow for managing PR sessions in ~/work/codereviews worktree
116
- - `Hiiro::Git::Pr.from_link(url)` — parse PR number, owner, and repo from GitHub PR links
117
- - `Hiiro::Git::Pr.from_number(number)` — create PR instances from PR numbers
118
- - `Hiiro::Git::Pr.is_link?(link)` — validate GitHub PR links
119
-
120
- ## [0.1.341] - 2026-04-07
121
-
122
- ### Fixed
123
- - `h pr view` now defaults to current branch's PR when no PR number is specified
124
-
125
- ### Changed
126
- - Update publish script to use `claude-haiku-4-5` model identifier
127
-
128
- ## [0.1.340] - 2026-04-07
129
-
130
- ### Fixed
131
- - `h notify jump` now runs `switch-client` before `select-window`/`select-pane` so jumping to a pane in a different session actually works
132
- - `h notify ls` and `h notify menu` now auto-prune stale entries for panes that no longer exist
133
-
134
- ### Added
135
- - `h notify prune` — explicitly remove all notifications for dead panes
136
-
137
- ## [0.1.339] - 2026-04-07
138
-
139
- ### Added
140
- - `h ps byport <port> [port2 ...]` — find processes listening on specified port(s)
141
- - `PsProcess.by_port(*ports)` — query processes by listening port numbers
142
- - `h task switch` now matches ~/proj/* directories by prefix as fallback when task name doesn't match
143
-
144
- ## [0.1.338] - 2026-04-07
145
-
146
- ### Changed
147
- - `h pr watch`, `h pr fwatch`, `h pr check` now default to current branch's PR (use `-s` to select via fuzzyfinder)
148
- - Renamed `registry_entries` table to `registry` (auto-migrates existing data)
149
-
150
- ## [0.1.337] - 2026-04-06
151
-
152
- ### Changed
153
- - Refactor `PsProcess#files` and `PsProcess#ports` to use `filter_map` instead of `map + compact` for cleaner code
154
-
155
- ## [0.1.336] - 2026-04-06
156
-
157
- ### Fixed
158
- - `PsProcess#ports` now uses `lsof -a` to AND conditions (was showing all system ports)
159
-
160
- ## [0.1.335] - 2026-04-07
161
-
162
- ### Added
163
- - New `Hiiro::PsProcess` class (`lib/hiiro/ps_process.rb`) for encapsulated process info:
164
- - `PsProcess.from_line(line)` - parse `ps awwux` output
165
- - `PsProcess.all`, `.search(pattern)`, `.find(pid)`, `.in_dirs(*paths)`
166
- - Instance methods: `#files`, `#ports`, `#dir`, `#parent`, `#children`
167
- - Simple `#to_s` output: PID + CMD
168
- - New `h ps` subcommands: `info`, `files`, `ports`
169
- - Smart argument resolution in `h ps`: accepts PID, search pattern, or directory path
170
-
171
- ### Changed
172
- - Refactored `h-ps` to use `PsProcess` class instead of raw `ps` parsing
173
-
174
- ## [0.1.334] - 2026-04-07
175
-
176
- ### Added
177
- - New `h-ps` bin file for process utilities:
178
- - `search <pattern>` - find processes matching a substring
179
- - `indir <path> [path2 ...]` - list processes with files open in specified paths
180
- - `getdir <pattern>` - list working directories of processes matching pattern
181
-
182
- ## [0.1.333] - 2026-04-04
183
-
184
- ### Changed
185
- - Display hiiro version in queue watch output for better visibility during task monitoring
186
-
187
- ## [0.1.332] - 2026-04-04
188
-
189
- ### Changed
190
- - Extract `hiiro_version` helper method in queue watcher to reduce duplication and improve version detection reliability
191
-
192
- ## [0.1.331] - 2026-04-04
193
-
194
- ### Fixed
195
- - Strip whitespace from gem version output in queue watcher to prevent version comparison failures
196
-
197
- ## [0.1.330] - 2026-04-04
198
-
199
- ### Added
200
- - `h queue add` now supports tmux session name prefix matching as fallback when task name doesn't match
201
- - Queue editor now opens from the session's active pane directory when adding tasks via session reference
202
-
203
- ### Changed
204
- - Extract `session_info_for()` helper to resolve tmux sessions by prefix in queue prompt resolver
205
-
206
- ## [0.1.329] - 2026-04-03
207
-
208
- ### Changed
209
- - Add debug output and temporary JSON logging to publish script for troubleshooting Claude API responses
210
-
211
- ## [0.1.328] - 2026-04-02
212
-
213
- ### Changed
214
- - Update command documentation
215
-
216
- ## [0.1.327] - 2026-04-02
217
-
218
- ### Added
219
- - `h branch save --tag <tag>` (repeatable) — apply tags to branches during save operation
220
-
221
- ## [0.1.326] - 2026-04-02
222
-
223
- ### Changed
224
- - Improve tag display formatting in link output by mapping individual tags to colored badges
225
- - Refactor `h link tags` filtering logic to use `Hiiro::Tag` helpers for cleaner code
226
- - Relocate `taggable` accessor method in `Hiiro::Tag` model
227
-
228
- ### Added
229
- - `Hiiro::Tag.tagged_by_type` helper method to query tagged objects by tag name and type
230
-
231
- ## [0.1.325] - 2026-04-02
232
-
233
- ### Fixed
234
- - Allow custom primary keys in `Hiiro::Invocation` model via `unrestrict_primary_key` for SQLite compatibility
235
-
236
- ## [0.1.324] - 2026-04-02
237
-
238
- ### Added
239
- - `h pr status [ref...]` — query multiple PRs or pinned PRs; outputs number, title, state, check summary, and URL for each
240
- - `h wtree branch [paths...]` — show branch for each worktree, or query specific worktree paths; resolves relative paths using task context
241
-
242
- ### Changed
243
- - Pass `cwd` context to `h-wtree` via `Hiiro.run` for proper path resolution in nested environments
244
-
245
- ## [0.1.323] - 2026-04-01
246
-
247
- ### Changed
248
- - Simplify `h pr ls` status refresh logic: always call `refresh_all_status` with `force:` parameter instead of conditional block
249
- - Add optional `verbose:` parameter to `refresh_all_status` to control "already checked" message output
250
- - Update `h pr update` to pass `verbose: true` when refreshing active PR status
251
-
252
- ## [0.1.322] - 2026-04-01
253
-
254
- ### Changed
255
- - Refactor `h link tags` filtering logic to use new `Hiiro::Tag.tags_by_type` helper
256
- - Simplify tag query to use `Hiiro::Link.where(id:)` instead of manual filtering
257
- - Extract `tags_by_type(type)` singleton method to `Hiiro::Tag` for code reuse
258
-
259
- ## [0.1.321] - 2026-04-01
260
-
261
- ### Changed
262
- - Extract `open_config` to `Hiiro::Config.open` singleton method; simplify parameter order from `dir:, file:` to positional `file, dir: nil`
263
- - Update all config subcommands to use new `Hiiro::Config.open` interface
264
-
265
- ## [0.1.320] - 2026-04-01
266
-
267
- ### Changed
268
- - Extract `open_config` helper to Hiiro instance method for reuse across config subcommands
269
- - Refactor `h version --all` to use `Hiiro::Rbenv.capture` with clearer output formatting
270
- - Add `to_s` method to `Hiiro::Tmux::Session` for string representation; rename existing `display` method for consistency
271
- - Extract `project_dirs` and `projects_from_config` to singleton methods in Project plugin for testability
272
-
273
- ## [0.1.319] - 2026-04-01
274
-
275
- ### Added
276
- - `h queue ls [STATUS]` — filter by status with prefix matching (e.g. `h queue ls run` → running tasks); composable with existing `-s` flag
277
- - `h session sh <session> [cmd...]` — open a new window in another tmux session (runs shell or given command there, then switches)
278
- - `h task sh -s SESSION [cmd...]` — run task shell/command in a new window in a specific tmux session
279
- - `h link tags` — list all known link tags; `h link tags tag1 tag2...` filters links by tags (prefix matching)
280
- - `h link ls` now shows tags inline with colored badges
281
- - `h link rm` / `h link remove` subcommand — remove links by number, shorthand, or fuzzy select
282
-
283
- ### Fixed
284
- - `h pr update` and `h pr ls -u` skip closed/merged PRs — only active PRs are refreshed
285
- - `h link add -h` now shows help instead of adding `-h` as a URL
286
- - `h db remigrate` no longer imports duplicate links — skips rows with an already-existing URL
287
- - Add unique constraint on `links.url` to prevent duplicates at database level
288
-
289
- ## [0.1.318] - 2026-04-01
290
-
291
- ### Added
292
- - `registry_pick` helper method for interactive registry entry selection via fuzzyfinder
293
-
294
- ### Changed
295
- - Simplify gem installation logic: always use `gem install -u` instead of checking installation state and branching between `gem install` and `gem update`
296
- - Remove `--clear-sources` and `--source` flags in favor of gem's built-in source cache handling
297
- - Improve gem version regex in publish script to match only the first (latest) version from `gem list` output
298
-
299
- ### Fixed
300
- - Ensure gem installation works reliably across all rbenv Ruby versions by using `-u` flag for consistent update behavior
301
-
302
- ## [0.1.317] - 2026-04-01
303
-
304
- ### Changed
305
- - Parallelize gem installation across all rbenv Ruby versions using thread pool for faster multi-version deployment
306
- - Refactor publish script to install/update hiiro gem across all Ruby versions instead of just current version
307
-
308
- ### Fixed
309
- - Handle both gem install and update cases based on existing installation state
310
- - Run `h setup` after installation in each Ruby version to initialize version-specific configuration
311
- - Suppress gem installation output to reduce log noise during parallel installs
312
-
313
- ## [0.1.316] - 2026-04-01
314
-
315
- ### Added
316
- - Parallelize hiiro gem updates across Ruby versions with thread pool for faster multi-version updates
317
- - Optional `dir:` parameter to `Hiiro::Background.run` for working directory support
318
-
319
- ### Changed
320
- - Improve gem version regex pattern in publish script for more reliable version matching
321
-
322
- ### Fixed
323
- - Bypass rubygems local cache with `--clear-sources --source https://rubygems.org` flags in `install_gem` to ensure fresh gem installation
324
- - Add debug output for version polling in publish script
325
- - Convert `sa` symlink from absolute to relative path
326
-
327
- ## [0.1.315] - 2026-04-01
328
-
329
- ### Fixed
330
- - Remove redundant `exit 0` statement from publish script
331
-
332
- ## [0.1.314] - 2026-04-01
333
-
334
- ### Fixed
335
- - Rename `Gem` class to `RubyGem` in publish script to avoid conflict with Ruby stdlib
336
-
337
- ## [0.1.313] - 2026-04-01
338
-
339
- ### Fixed
340
- - Remove `awesome_print` dependency
341
- - Do not splice values into subcommand constructor; pass them as keyword arguments to prevent arg leakage
342
-
343
- ## [0.1.312] - 2026-04-01
344
-
345
- ### Fixed
346
- - Separate `bin_name` and `args` initialization in `Hiiro.init` to prevent argument confusion in nested Hiiro instances
347
-
348
- ## [0.1.311] - 2026-04-01
349
-
350
- ### Changed
351
- - Add `ap()` inspection for bin/args initialization in debug mode
352
-
353
- ## [0.1.310] - 2026-04-01
354
-
355
- ### Fixed
356
- - `make_child` now passes `bin_name:` and `args:` as keyword args to `Hiiro.init`, fixing subcommand dispatch for all `h task`, `h queue`, `h service`, and `h run` child hierarchies — previously `child_bin_name` leaked into `oargs` and became the subcmd, so every child hiiro showed help instead of dispatching
357
-
358
- ## [0.1.309] - 2026-03-31
359
-
360
- ### Added
361
- - `h link tag` support for tagging links in the link manager
362
-
363
- ### Fixed
364
- - Correct argument passing in `run_child` to prevent arg dropping in nested Hiiro instances
365
-
366
- ## [0.1.308] - 2026-03-31
367
-
368
- ### Added
369
- - `h db cleanup` subcommand to preview and prune duplicate rows from SQLite tables
370
-
371
- ### Fixed
372
- - Prevent duplicate pinned_prs during import with `insert_conflict` and per-row rescue
data/README.md CHANGED
@@ -61,20 +61,72 @@ h ping
61
61
 
62
62
  ### Task CLI
63
63
 
64
- `~/bin/t` contains the task commands and helpers, using Hiiro's `add_cmd` DSL
65
- and existing task records. `t new NAME` creates a task and its notes directory
66
- without creating a Git worktree. Select a task with `--task NAME` or `-t NAME`.
67
- Root and group help are generated by Hiiro; leaf command help lists its selected options.
64
+ The repository's `bin/t` contains the task commands and helpers, using Hiiro's
65
+ `add_cmd` DSL and existing task records. `~/bin/t` and `~/bin/tt` are symlinks to
66
+ the repository launchers; installing the gem does not install them. `t NAME new`
67
+ creates a task and its notes directory without creating a Git worktree.
68
+
69
+ Use `t TASK COMMAND...`. Bare `t` lists every task, including done and archived
70
+ tasks. `t TASK` shows a task. Only exact root `t help` displays generic usage and
71
+ native scoped help without looking up a task. Other first words are task
72
+ references, even `new`, `show`, `edit`, or `he`.
73
+
74
+ Task references prefer an exact name, then a unique case-sensitive prefix.
75
+ Ambiguous prefixes fail. `t NAME new` creates the exact name instead of resolving
76
+ a prefix. An unknown name is otherwise an error, except that `t NAME todo add`
77
+ can create the task with its first todo.
78
+
79
+ Use `.` for the current task. Selection checks the calling Herdr workspace,
80
+ then the current directory, then the saved task. Stale or ambiguous context is
81
+ an error. `t TASK current` saves a named selection without focusing a terminal;
82
+ `t . current` only prints it. `t TASK switch` and `t TASK workspace` focus or
83
+ create the task workspace and save a named selection only after success.
84
+ `--show` inspects without changing focus or the saved task.
68
85
 
69
86
  ```sh
70
- t new investigation
71
- t next -t investigation "Inspect the failing request"
72
- t doc new findings -t investigation
73
- t doc open findings -t investigation
74
- t show investigation
87
+ t investigation new
88
+ t investigation next "Inspect the failing request"
89
+ t investigation todo add Compare the retry settings
90
+ tt investigation add Inspect --help output
91
+ t investigation doc new findings
92
+ t investigation doc open findings
93
+ t investigation
94
+ t investigation todo rm 42 # Use an item ID printed by show or todo list.
95
+ t investigation current
96
+ t investigation switch
97
+ t investigation workspace --show
98
+ t . next "Write the handoff"
75
99
  ```
76
100
 
77
- See [Task commands](docs/h-task.md) for the full command reference.
101
+ A task has one `next_action` and can have multiple independent todos. `t TASK`
102
+ and `t TASK todo` print todos with their IDs, statuses, and text in ID order.
103
+ `t TASK todo rm ID` deletes only that exact decimal ID in the selected scope.
104
+ `tt TASK ...` delegates to `t TASK todo ...`; bare `tt` means `t . todo`, and
105
+ `tt help` displays todo help. Use `t - todo` or `tt -` for orphan todos, including
106
+ `add` and `rm`. `-` is not a task and is invalid outside todo commands.
107
+
108
+ Every argument after `todo add` is literal text, including flags and `--`,
109
+ except that leading `add -h` or `add --help` displays help. Empty text fails
110
+ without creating a task.
111
+
112
+ Todos share the existing `todos` table with `h todo`. `t` writes only to the
113
+ database and does not rewrite `todo.yml`. Adding or removing a todo does not
114
+ change the task's next action, status, or saved selection. Task completion and
115
+ archival preserve todos; `h task` behavior is unchanged.
116
+
117
+ `t TASK omp`, `t TASK codex` or `cdx`, and `t TASK claude` or `cld` start fresh
118
+ native CLI sessions in new focused Herdr tabs. Claude always runs `claude`.
119
+ Only a nonempty prefix of `resume` as the first tool argument changes mode.
120
+ Bare `resume` focuses the unique running instance of that tool in the task
121
+ workspace, or launches the native resume picker if none is running. Multiple
122
+ running matches are an error. With an ID or any other arguments after `resume`,
123
+ the command always opens a new tab and passes those arguments to the native CLI.
124
+ All other arguments, including `--help`, are tool flags, not `t` flags.
125
+
126
+ Tasks can share an existing directory, including a worktree. `t` does not change
127
+ Git state or promise task-isolated persisted AI sessions in shared directories.
128
+
129
+ See the [task command reference](docs/t.md) for all commands and the [workflow introduction](docs/why-t.md) for practical examples.
78
130
 
79
131
  ## Subcommands
80
132
 
@@ -226,14 +278,21 @@ among the command's automatic flags and does not conflict with a selected
226
278
  explicit option or `-h`. Every automatic flag has a long form. Explicit flags
227
279
  and value options keep their definitions.
228
280
 
229
- For a command that delegates to `make_child`, use `add_cmd(..., passthrough: true)`.
281
+ For a command that delegates to `run_child`, use `add_cmd(..., passthrough: true)`.
230
282
  It forwards control without parsing the parent's arguments or intercepting the
231
- child's `--help`. The child declares and parses its own options. Generated help
232
- uses the original command block's source location and declared `args:`, not the
283
+ child's `--help`. The child declares and parses its own options.
284
+ Generated help uses the original command block's source location and declared `args:`, not the
233
285
  internal wrapper's signature.
234
286
 
287
+ `run_child` is the convenience form of `make_child(...).run`. `make_child`
288
+ returns an unrun child when the caller needs to configure it before dispatch.
289
+ Module-level `build_hiiro` methods are builders that return such a child; callers
290
+ run the result. They are not required for an inline child command group.
291
+ Child commands inherit the parent's resolvers, so a task can be bound once and
292
+ shared with nested groups without consuming its name again.
293
+
235
294
  For a CLI that should dispatch only registered blocks, pass
236
- `external_commands: false` to `Hiiro.run` and its `make_child` calls. This
295
+ `external_commands: false` to `Hiiro.run` and its `run_child` or `make_child` calls. This
237
296
  prevents unrelated same-prefix executables on `PATH` from taking precedence.
238
297
 
239
298
  ## Writing Plugins