hiiro 0.1.341 → 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: 98da6c0c22a5c1af25b2582b372a1abbf8f8ab9ebbdd01eaf6ae0811f876174e
4
- data.tar.gz: 1b1936124dc70ade4ae406935d07d1a5fbbdcb43703964bdd7cc656b49b62dc2
3
+ metadata.gz: 1496be512bebac30ab2a5fc84922bf0eefb05b3ff1632b04a6488142c805b388
4
+ data.tar.gz: 215d5c29421e45abd0b8c5fe2984e372d776e5510cab0d71cd178e1c390081fe
5
5
  SHA512:
6
- metadata.gz: 9b64fe3c574755de27abe369be8ca24967701ab5339085d74fcd78719ee12cfadb335e1547b8510a64990e703a5db23bd13b157c33c2f34f215c63bc5894993b
7
- data.tar.gz: df05c2ddb813978ef60a0e79518942e107f67f91a855a282646c7d318a47f986616a5e9e45492ae1c4ef1ba84c42ebc39676efeac0be24c853f42525b7e882cf
6
+ metadata.gz: 3a25d21e45c9bdea4c7ca56a850f6f00b71fb62990a03eb545f0bc379a6881504bf213079ef25f50df99f9a624ae2571f1d3522089f3a837439b363ab8bbbc61
7
+ data.tar.gz: a17b9aeccf2740727d1f4f306a4ad446b74cc7cf996f062bb6d8f37eef74660e84162ea9a3edf1542004412e86d2d2b547d81cc1b66493860afe6e018da1c6ad
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
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
+
3
11
  ## [0.1.341] - 2026-04-07
4
12
 
5
13
  ### Fixed
data/bin/h-pr CHANGED
@@ -915,6 +915,33 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
915
915
  matches.each_with_index { |pr, i| puts pinned_manager.display_pinned(pr, i) }
916
916
  end
917
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
+
918
945
  # === Tags ===
919
946
 
920
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.341"
2
+ VERSION = "0.1.342"
3
3
  end
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.341
4
+ version: 0.1.342
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Toyota