shiplog 0.1.0

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.
Files changed (92) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +15 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.md +410 -0
  5. data/app/controllers/shiplog/admin/application_controller.rb +37 -0
  6. data/app/controllers/shiplog/admin/boards_controller.rb +60 -0
  7. data/app/controllers/shiplog/admin/entries/approvals_controller.rb +15 -0
  8. data/app/controllers/shiplog/admin/entries/discards_controller.rb +25 -0
  9. data/app/controllers/shiplog/admin/entries/rewrites_controller.rb +13 -0
  10. data/app/controllers/shiplog/admin/entries_controller.rb +55 -0
  11. data/app/controllers/shiplog/admin/syncs_controller.rb +21 -0
  12. data/app/controllers/shiplog/application_controller.rb +5 -0
  13. data/app/controllers/shiplog/changelogs_controller.rb +24 -0
  14. data/app/controllers/shiplog/frontends_controller.rb +21 -0
  15. data/app/controllers/shiplog/public_controller.rb +19 -0
  16. data/app/controllers/shiplog/roadmaps_controller.rb +14 -0
  17. data/app/controllers/shiplog/webhooks_controller.rb +121 -0
  18. data/app/frontend/shiplog/admin.css +137 -0
  19. data/app/frontend/shiplog/board.js +77 -0
  20. data/app/frontend/shiplog/shiplog.css +184 -0
  21. data/app/helpers/shiplog/admin/entries_helper.rb +27 -0
  22. data/app/helpers/shiplog/application_helper.rb +14 -0
  23. data/app/helpers/shiplog/frontend_helper.rb +17 -0
  24. data/app/helpers/shiplog/host_routes_helper.rb +25 -0
  25. data/app/helpers/shiplog/styling_helper.rb +24 -0
  26. data/app/jobs/shiplog/application_job.rb +14 -0
  27. data/app/jobs/shiplog/refresh_job.rb +38 -0
  28. data/app/jobs/shiplog/rewrite_entry_job.rb +9 -0
  29. data/app/jobs/shiplog/scan_changes_job.rb +36 -0
  30. data/app/jobs/shiplog/sync_job.rb +20 -0
  31. data/app/models/shiplog/application_record.rb +5 -0
  32. data/app/models/shiplog/board_arrangement.rb +38 -0
  33. data/app/models/shiplog/change_candidates.rb +77 -0
  34. data/app/models/shiplog/commit.rb +9 -0
  35. data/app/models/shiplog/drafter.rb +69 -0
  36. data/app/models/shiplog/entry.rb +42 -0
  37. data/app/models/shiplog/issue.rb +68 -0
  38. data/app/models/shiplog/issue_form.rb +43 -0
  39. data/app/models/shiplog/issue_link.rb +6 -0
  40. data/app/models/shiplog/pull_request.rb +11 -0
  41. data/app/models/shiplog/repository.rb +9 -0
  42. data/app/models/shiplog/rewriter/prompt.rb +71 -0
  43. data/app/models/shiplog/rewriter.rb +89 -0
  44. data/app/models/shiplog/roadmap/column_resolver.rb +46 -0
  45. data/app/models/shiplog/roadmap.rb +34 -0
  46. data/app/models/shiplog/sync/commit_scanner.rb +39 -0
  47. data/app/models/shiplog/sync/issue_importer.rb +50 -0
  48. data/app/models/shiplog/sync/node_attributes.rb +50 -0
  49. data/app/models/shiplog/sync/pull_request_importer.rb +54 -0
  50. data/app/models/shiplog/sync/repository_sync.rb +80 -0
  51. data/app/models/shiplog/webhook_delivery.rb +5 -0
  52. data/app/models/shiplog/webhook_signature.rb +16 -0
  53. data/app/views/layouts/shiplog/admin.html.erb +16 -0
  54. data/app/views/layouts/shiplog/application.html.erb +15 -0
  55. data/app/views/shiplog/_empty.html.erb +3 -0
  56. data/app/views/shiplog/_page.html.erb +6 -0
  57. data/app/views/shiplog/_page_header.html.erb +6 -0
  58. data/app/views/shiplog/_pagination.html.erb +12 -0
  59. data/app/views/shiplog/admin/_assets.html.erb +3 -0
  60. data/app/views/shiplog/admin/_custom_head.html.erb +0 -0
  61. data/app/views/shiplog/admin/_nav.html.erb +9 -0
  62. data/app/views/shiplog/admin/_page.html.erb +14 -0
  63. data/app/views/shiplog/admin/boards/_card.html.erb +22 -0
  64. data/app/views/shiplog/admin/boards/show.html.erb +17 -0
  65. data/app/views/shiplog/admin/entries/_badges.html.erb +10 -0
  66. data/app/views/shiplog/admin/entries/_entry_row.html.erb +21 -0
  67. data/app/views/shiplog/admin/entries/edit.html.erb +61 -0
  68. data/app/views/shiplog/admin/entries/index.html.erb +47 -0
  69. data/app/views/shiplog/admin/syncs/show.html.erb +71 -0
  70. data/app/views/shiplog/changelogs/_entry.html.erb +8 -0
  71. data/app/views/shiplog/changelogs/_month.html.erb +9 -0
  72. data/app/views/shiplog/changelogs/show.html.erb +16 -0
  73. data/app/views/shiplog/roadmaps/_card.html.erb +6 -0
  74. data/app/views/shiplog/roadmaps/_column.html.erb +17 -0
  75. data/app/views/shiplog/roadmaps/show.html.erb +9 -0
  76. data/config/admin_routes.rb +13 -0
  77. data/config/locales/en.yml +106 -0
  78. data/config/routes.rb +6 -0
  79. data/db/migrate/20261026000001_create_shiplog_tables.rb +102 -0
  80. data/lib/generators/shiplog/install/install_generator.rb +94 -0
  81. data/lib/generators/shiplog/install/templates/initializer.rb.tt +86 -0
  82. data/lib/generators/shiplog/install/templates/shiplog-feature.yml +23 -0
  83. data/lib/shiplog/admin/engine.rb +9 -0
  84. data/lib/shiplog/classes.rb +38 -0
  85. data/lib/shiplog/configuration.rb +92 -0
  86. data/lib/shiplog/engine.rb +5 -0
  87. data/lib/shiplog/github/client.rb +96 -0
  88. data/lib/shiplog/github/errors.rb +17 -0
  89. data/lib/shiplog/github/queries.rb +108 -0
  90. data/lib/shiplog/version.rb +3 -0
  91. data/lib/shiplog.rb +16 -0
  92. metadata +154 -0
data/lib/shiplog.rb ADDED
@@ -0,0 +1,16 @@
1
+ require "shiplog/version"
2
+ require "shiplog/classes"
3
+ require "shiplog/configuration"
4
+ require "shiplog/github/errors"
5
+ require "shiplog/github/queries"
6
+ require "shiplog/github/client"
7
+ require "shiplog/engine"
8
+ require "shiplog/admin/engine"
9
+
10
+ module Shiplog
11
+ class << self
12
+ def config = (@config ||= Configuration.new)
13
+ def configure = yield(config)
14
+ def reset_config! = (@config = nil)
15
+ end
16
+ end
metadata ADDED
@@ -0,0 +1,154 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: shiplog
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Trackberry
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: rails
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 8.1.4
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '9'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: 8.1.4
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '9'
32
+ description: A mountable Rails engine that turns GitHub issues, pull requests and
33
+ commits into a customer-friendly roadmap and changelog, with LLM drafts approved
34
+ by an admin.
35
+ executables: []
36
+ extensions: []
37
+ extra_rdoc_files: []
38
+ files:
39
+ - CHANGELOG.md
40
+ - MIT-LICENSE
41
+ - README.md
42
+ - app/controllers/shiplog/admin/application_controller.rb
43
+ - app/controllers/shiplog/admin/boards_controller.rb
44
+ - app/controllers/shiplog/admin/entries/approvals_controller.rb
45
+ - app/controllers/shiplog/admin/entries/discards_controller.rb
46
+ - app/controllers/shiplog/admin/entries/rewrites_controller.rb
47
+ - app/controllers/shiplog/admin/entries_controller.rb
48
+ - app/controllers/shiplog/admin/syncs_controller.rb
49
+ - app/controllers/shiplog/application_controller.rb
50
+ - app/controllers/shiplog/changelogs_controller.rb
51
+ - app/controllers/shiplog/frontends_controller.rb
52
+ - app/controllers/shiplog/public_controller.rb
53
+ - app/controllers/shiplog/roadmaps_controller.rb
54
+ - app/controllers/shiplog/webhooks_controller.rb
55
+ - app/frontend/shiplog/admin.css
56
+ - app/frontend/shiplog/board.js
57
+ - app/frontend/shiplog/shiplog.css
58
+ - app/helpers/shiplog/admin/entries_helper.rb
59
+ - app/helpers/shiplog/application_helper.rb
60
+ - app/helpers/shiplog/frontend_helper.rb
61
+ - app/helpers/shiplog/host_routes_helper.rb
62
+ - app/helpers/shiplog/styling_helper.rb
63
+ - app/jobs/shiplog/application_job.rb
64
+ - app/jobs/shiplog/refresh_job.rb
65
+ - app/jobs/shiplog/rewrite_entry_job.rb
66
+ - app/jobs/shiplog/scan_changes_job.rb
67
+ - app/jobs/shiplog/sync_job.rb
68
+ - app/models/shiplog/application_record.rb
69
+ - app/models/shiplog/board_arrangement.rb
70
+ - app/models/shiplog/change_candidates.rb
71
+ - app/models/shiplog/commit.rb
72
+ - app/models/shiplog/drafter.rb
73
+ - app/models/shiplog/entry.rb
74
+ - app/models/shiplog/issue.rb
75
+ - app/models/shiplog/issue_form.rb
76
+ - app/models/shiplog/issue_link.rb
77
+ - app/models/shiplog/pull_request.rb
78
+ - app/models/shiplog/repository.rb
79
+ - app/models/shiplog/rewriter.rb
80
+ - app/models/shiplog/rewriter/prompt.rb
81
+ - app/models/shiplog/roadmap.rb
82
+ - app/models/shiplog/roadmap/column_resolver.rb
83
+ - app/models/shiplog/sync/commit_scanner.rb
84
+ - app/models/shiplog/sync/issue_importer.rb
85
+ - app/models/shiplog/sync/node_attributes.rb
86
+ - app/models/shiplog/sync/pull_request_importer.rb
87
+ - app/models/shiplog/sync/repository_sync.rb
88
+ - app/models/shiplog/webhook_delivery.rb
89
+ - app/models/shiplog/webhook_signature.rb
90
+ - app/views/layouts/shiplog/admin.html.erb
91
+ - app/views/layouts/shiplog/application.html.erb
92
+ - app/views/shiplog/_empty.html.erb
93
+ - app/views/shiplog/_page.html.erb
94
+ - app/views/shiplog/_page_header.html.erb
95
+ - app/views/shiplog/_pagination.html.erb
96
+ - app/views/shiplog/admin/_assets.html.erb
97
+ - app/views/shiplog/admin/_custom_head.html.erb
98
+ - app/views/shiplog/admin/_nav.html.erb
99
+ - app/views/shiplog/admin/_page.html.erb
100
+ - app/views/shiplog/admin/boards/_card.html.erb
101
+ - app/views/shiplog/admin/boards/show.html.erb
102
+ - app/views/shiplog/admin/entries/_badges.html.erb
103
+ - app/views/shiplog/admin/entries/_entry_row.html.erb
104
+ - app/views/shiplog/admin/entries/edit.html.erb
105
+ - app/views/shiplog/admin/entries/index.html.erb
106
+ - app/views/shiplog/admin/syncs/show.html.erb
107
+ - app/views/shiplog/changelogs/_entry.html.erb
108
+ - app/views/shiplog/changelogs/_month.html.erb
109
+ - app/views/shiplog/changelogs/show.html.erb
110
+ - app/views/shiplog/roadmaps/_card.html.erb
111
+ - app/views/shiplog/roadmaps/_column.html.erb
112
+ - app/views/shiplog/roadmaps/show.html.erb
113
+ - config/admin_routes.rb
114
+ - config/locales/en.yml
115
+ - config/routes.rb
116
+ - db/migrate/20261026000001_create_shiplog_tables.rb
117
+ - lib/generators/shiplog/install/install_generator.rb
118
+ - lib/generators/shiplog/install/templates/initializer.rb.tt
119
+ - lib/generators/shiplog/install/templates/shiplog-feature.yml
120
+ - lib/shiplog.rb
121
+ - lib/shiplog/admin/engine.rb
122
+ - lib/shiplog/classes.rb
123
+ - lib/shiplog/configuration.rb
124
+ - lib/shiplog/engine.rb
125
+ - lib/shiplog/github/client.rb
126
+ - lib/shiplog/github/errors.rb
127
+ - lib/shiplog/github/queries.rb
128
+ - lib/shiplog/version.rb
129
+ homepage: https://github.com/Trackberry/shiplog
130
+ licenses:
131
+ - MIT
132
+ metadata:
133
+ rubygems_mfa_required: 'true'
134
+ source_code_uri: https://github.com/Trackberry/shiplog
135
+ changelog_uri: https://github.com/Trackberry/shiplog/blob/main/CHANGELOG.md
136
+ bug_tracker_uri: https://github.com/Trackberry/shiplog/issues
137
+ rdoc_options: []
138
+ require_paths:
139
+ - lib
140
+ required_ruby_version: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '4.0'
145
+ required_rubygems_version: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ requirements: []
151
+ rubygems_version: 4.0.20
152
+ specification_version: 4
153
+ summary: Public roadmap and changelog for Rails apps, drafted from GitHub.
154
+ test_files: []