hiiro 0.1.340 → 0.1.342

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: 413a819364e3fce84109acbe813f653663567f5c2cb7025a2f2af4ab940051a5
4
- data.tar.gz: 3b2082944a38035fcb96635c376b738e2aff83ad6d63e211e12d4693c738058a
3
+ metadata.gz: 1496be512bebac30ab2a5fc84922bf0eefb05b3ff1632b04a6488142c805b388
4
+ data.tar.gz: 215d5c29421e45abd0b8c5fe2984e372d776e5510cab0d71cd178e1c390081fe
5
5
  SHA512:
6
- metadata.gz: 8e0dc534669ec4d03fc1549167a7bae54229398d253f843025a10fb99ee1b727eebb80c9287cb5c17d15e46186257049edad67f55de5126e900590b9e05a4ea8
7
- data.tar.gz: 1451f79da21cbe8be1c98b46425e66f405fe2a2e87be9039b99ad753c7901dff025676fa73cea0e801a9f82c7234d1de554a1e0ceff282ba3b589a673d115f03
6
+ metadata.gz: 3a25d21e45c9bdea4c7ca56a850f6f00b71fb62990a03eb545f0bc379a6881504bf213079ef25f50df99f9a624ae2571f1d3522089f3a837439b363ab8bbbc61
7
+ data.tar.gz: a17b9aeccf2740727d1f4f306a4ad446b74cc7cf996f062bb6d8f37eef74660e84162ea9a3edf1542004412e86d2d2b547d81cc1b66493860afe6e018da1c6ad
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.342] - 2026-04-08
4
+
5
+ ### Added
6
+ - `h pr review` / `h pr cr` — code review workflow for managing PR sessions in ~/work/codereviews worktree
7
+ - `Hiiro::Git::Pr.from_link(url)` — parse PR number, owner, and repo from GitHub PR links
8
+ - `Hiiro::Git::Pr.from_number(number)` — create PR instances from PR numbers
9
+ - `Hiiro::Git::Pr.is_link?(link)` — validate GitHub PR links
10
+
11
+ ## [0.1.341] - 2026-04-07
12
+
13
+ ### Fixed
14
+ - `h pr view` now defaults to current branch's PR when no PR number is specified
15
+
16
+ ### Changed
17
+ - Update publish script to use `claude-haiku-4-5` model identifier
18
+
3
19
  ## [0.1.340] - 2026-04-07
4
20
 
5
21
  ### Fixed
data/bin/h-pr CHANGED
@@ -125,7 +125,12 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
125
125
  end
126
126
  }
127
127
  add_subcmd(:view) { |pr_number=nil|
128
- pr_number = resolve(:pr, pr_number)
128
+ if pr_number.nil?
129
+ current = pm.fetch_current_branch_pr
130
+ pr_number = current ? current.number.to_s : resolve(:pr, nil)
131
+ else
132
+ pr_number = resolve(:pr, pr_number)
133
+ end
129
134
  system('gh', 'pr', 'view', pr_number.to_s) if pr_number
130
135
  }
131
136
 
@@ -910,6 +915,33 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
910
915
  matches.each_with_index { |pr, i| puts pinned_manager.display_pinned(pr, i) }
911
916
  end
912
917
 
918
+ add_cmd(:review, :cr) do
919
+ prs = args.filter_map do |arg|
920
+ pr = Hiiro::Git::Pr.from_link(arg)
921
+ pr ||= Hiiro::Git::Pr.from_number(arg)
922
+ end
923
+
924
+ exit 1 if prs.empty?
925
+
926
+ parent_dir = File.join(Dir.home, 'work', 'codereviews')
927
+ FileUtils.mkdir_p(parent_dir)
928
+ Dir.chdir(parent_dir)
929
+
930
+ if `git rev-parse --is-inside-work-tree`.strip == 'true'
931
+ master = `git master`
932
+ system('git', 'checkout', `git rev-parse master`)
933
+ else
934
+ system('git', 'worktree', 'add', '--no-checkout', parent_dir)
935
+ end
936
+
937
+ system('git', 'checkout', `git rev-parse master`)
938
+
939
+ prs.each do |pr|
940
+ puts ['PR NUMBER', pr.number].join(': ')
941
+ # Hiiro::Shell.pipe_lines("/prcr #{pr.number}", 'claude -p')
942
+ end
943
+ end
944
+
913
945
  # === Tags ===
914
946
 
915
947
  add_subcmd(:tag) do |*raw_args|
data/lib/hiiro/git/pr.rb CHANGED
@@ -20,6 +20,32 @@ class Hiiro
20
20
  []
21
21
  end
22
22
 
23
+ def is_link?(link)
24
+ temp_link = link.to_s
25
+ return false unless temp_link.match?('github.com') && temp_link.match?(/pull\/[0-9]+/)
26
+
27
+ true
28
+ end
29
+
30
+ def self.from_link(link)
31
+ return nil unless is_link?(link)
32
+
33
+ number = link[/pull\/(\d+)/].sub(/\D*/, '')
34
+ owner, name, _ = link.sub(/.*github.com./, '').split(?/, 3)
35
+ new(
36
+ number: number,
37
+ url: link,
38
+ repo: [owner, name].join(?/),
39
+ )
40
+ end
41
+
42
+ def self.from_number(number)
43
+ number = number.to_s.strip[/^\d+$/]
44
+ return if number&.length == 0
45
+
46
+ new(number: number)
47
+ end
48
+
23
49
  def self.repo_from_url(url)
24
50
  return nil unless url
25
51
  url.match(%r{github\.com/([^/]+/[^/]+)/pull/})&.[](1)
data/lib/hiiro/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Hiiro
2
- VERSION = "0.1.340"
2
+ VERSION = "0.1.342"
3
3
  end
data/script/publish CHANGED
@@ -124,7 +124,7 @@ end
124
124
  # ─── Claude AI calls ─────────────────────────────────────────────────────────
125
125
 
126
126
  class Claude
127
- MODEL = "claude-haiku-4-5-20251001"
127
+ MODEL = "claude-haiku-4-5"
128
128
 
129
129
  Result = Struct.new(:commits, :changelog)
130
130
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hiiro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.340
4
+ version: 0.1.342
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Toyota