hiiro 0.1.365 → 0.1.367
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 +4 -4
- data/CHANGELOG.md +53 -343
- data/CLAUDE.md +1 -0
- data/README.md +114 -17
- data/bin/h-bin +20 -0
- data/bin/h-task +1 -0
- data/bin/t +1 -0
- data/bin/tt +1 -0
- data/docs/h-bin.md +49 -2
- data/docs/h-subtask.md +5 -44
- data/docs/h-task.md +123 -596
- data/docs/h.md +1 -2
- data/docs/t.md +437 -0
- data/docs/why-t.md +306 -0
- data/exe/h +1 -0
- data/exe/t +7 -0
- data/exe/tt +7 -0
- data/lib/hiiro/current_task.rb +92 -0
- data/lib/hiiro/error.rb +5 -0
- data/lib/hiiro/git/worktrees.rb +1 -1
- data/lib/hiiro/git.rb +8 -2
- data/lib/hiiro/task_cli.rb +671 -0
- data/lib/hiiro/task_scope.rb +51 -0
- data/lib/hiiro/task_sessions.rb +51 -0
- data/lib/hiiro/tasks.rb +40 -27
- data/lib/hiiro/version.rb +1 -1
- data/lib/hiiro.rb +23 -20
- metadata +16 -2
data/docs/h-bin.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# h-bin
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Create, list, and edit Hiiro bin scripts.
|
|
4
4
|
|
|
5
|
-
`h bin`
|
|
5
|
+
`h bin add` creates executables in `~/bin`. The `list` and `edit` commands use `Hiiro::Bins` to scan the current `PATH`.
|
|
6
6
|
|
|
7
7
|
## Synopsis
|
|
8
8
|
|
|
@@ -14,9 +14,56 @@ h bin <subcommand> [names...]
|
|
|
14
14
|
|
|
15
15
|
| Subcommand | Description |
|
|
16
16
|
|------------|-------------|
|
|
17
|
+
| `add NAME [COMMAND ...]` | Create an executable template without overwriting an existing file |
|
|
17
18
|
| `list [names]` | List matching bin files |
|
|
18
19
|
| `edit [names]` | Open matching bin files in editor |
|
|
19
20
|
|
|
21
|
+
### add
|
|
22
|
+
|
|
23
|
+
Create `~/bin/h-NAME`. An optional `h-` prefix is accepted. Executable names must
|
|
24
|
+
start with a letter or digit and contain only letters, digits, underscores, or
|
|
25
|
+
hyphens.
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
h bin add scratch
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
With no command arguments, the generated file contains:
|
|
32
|
+
|
|
33
|
+
```ruby
|
|
34
|
+
#!/usr/bin/env ruby
|
|
35
|
+
|
|
36
|
+
require 'hiiro'
|
|
37
|
+
|
|
38
|
+
Hiiro.run do
|
|
39
|
+
end
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
To include empty command blocks:
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
h bin add josh list show
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
```ruby
|
|
49
|
+
#!/usr/bin/env ruby
|
|
50
|
+
|
|
51
|
+
require 'hiiro'
|
|
52
|
+
|
|
53
|
+
Hiiro.run do
|
|
54
|
+
add_cmd :list do
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
add_cmd :show do
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Command names are serialized as Ruby symbols, including quoted symbols for
|
|
63
|
+
names such as `hello-world`. Generated files are executable. Existing files
|
|
64
|
+
and symlinks are refused, and no editor or generated command is launched.
|
|
65
|
+
Native Hiiro options handle `--help` and the `--` end-of-options marker.
|
|
66
|
+
|
|
20
67
|
### edit
|
|
21
68
|
|
|
22
69
|
Open matching `h-*` bin files in your editor. With no arguments, opens `h-bin` itself.
|
data/docs/h-subtask.md
CHANGED
|
@@ -1,50 +1,11 @@
|
|
|
1
1
|
# h subtask
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
All subcommands are identical to [h task](h-task.md) but operate on the subtask scope. Subtask names are relative (e.g. `auth` rather than `my-feature/auth`).
|
|
6
|
-
|
|
7
|
-
## Synopsis
|
|
3
|
+
`h subtask` was removed when `h task` became a symlink to `t`. A subtask is a task whose name is `parent/child`:
|
|
8
4
|
|
|
9
5
|
```bash
|
|
10
|
-
|
|
6
|
+
t my-feature/auth tree new # worktree at ~/work/my-feature/auth, workspace "my-feature/auth"
|
|
7
|
+
t my-feature/auth todo add Wire the login form
|
|
8
|
+
t my-feature/auth tree rm
|
|
11
9
|
```
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
When in a task workspace, `h subtask` lists and operates on subtasks of the current parent task. A synthetic `main` subtask is always shown, representing the parent task's primary worktree.
|
|
16
|
-
|
|
17
|
-
Subtask names are stored as `parent/child` (e.g. `my-feature/auth`) but displayed as their short name (`auth`) in subtask context.
|
|
18
|
-
|
|
19
|
-
## Subcommands
|
|
20
|
-
|
|
21
|
-
All subcommands from [h task](h-task.md) are available. Key ones:
|
|
22
|
-
|
|
23
|
-
| Subcommand | Description |
|
|
24
|
-
|------------|-------------|
|
|
25
|
-
| `ls` / `list` | List subtasks of the current task |
|
|
26
|
-
| `start <name>` | Create or switch to a subtask |
|
|
27
|
-
| `switch [name]` | Switch to a subtask workspace |
|
|
28
|
-
| `stop [name]` | Stop a subtask (preserves worktree) |
|
|
29
|
-
| `current` | Print the current subtask name |
|
|
30
|
-
| `status` / `st` | Show current subtask details |
|
|
31
|
-
| `branch [name]` | Print branch for a subtask |
|
|
32
|
-
| `tree [name]` | Print worktree name for a subtask |
|
|
33
|
-
| `session [name]` | Print session name for a subtask |
|
|
34
|
-
| `cd [name] [app]` | Send `cd` to current pane |
|
|
35
|
-
| `path [name] [app]` | Print path to subtask directory |
|
|
36
|
-
| `todo [args]` | Manage todos for current subtask |
|
|
37
|
-
| `queue [args]` | Claude queue scoped to current subtask |
|
|
38
|
-
|
|
39
|
-
## Examples
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
h subtask ls
|
|
43
|
-
h subtask start auth
|
|
44
|
-
h subtask switch
|
|
45
|
-
h subtask switch auth
|
|
46
|
-
h subtask current
|
|
47
|
-
h subtask status
|
|
48
|
-
h subtask cd auth
|
|
49
|
-
h subtask stop auth
|
|
50
|
-
```
|
|
11
|
+
See [t](t.md) and [h task](h-task.md).
|