brut 0.16.0 → 0.18.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 (1088) hide show
  1. checksums.yaml +4 -4
  2. data/exe/brut +34 -0
  3. data/lib/brut/cli/apps/build_assets.rb +78 -48
  4. data/lib/brut/cli/apps/db.rb +168 -202
  5. data/lib/brut/cli/apps/deploy.rb +291 -0
  6. data/lib/brut/cli/apps/heroku_container_based_deploy.rb +7 -1
  7. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/add_segment.rb +5 -5
  8. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/add_segment_options.rb +1 -1
  9. data/lib/brut/cli/apps/new/app.rb +240 -0
  10. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/app_id.rb +1 -1
  11. data/lib/brut/cli/apps/new/app_name.rb +29 -0
  12. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/base.rb +9 -6
  13. data/lib/brut/cli/apps/new/erb_binding_delegate.rb +23 -0
  14. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/internet_identifier.rb +5 -5
  15. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/invalid_identifier.rb +1 -1
  16. data/{mkbrut/lib/mkbrut/app.rb → lib/brut/cli/apps/new/old_app.rb} +8 -11
  17. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/add_css_import.rb +1 -1
  18. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/add_i18n_message.rb +1 -1
  19. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/add_method.rb +1 -1
  20. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/append_to_file.rb +1 -1
  21. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/base_op.rb +3 -3
  22. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/copy_file.rb +1 -1
  23. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/insert_code_in_method.rb +1 -1
  24. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/insert_into_file.rb +1 -1
  25. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/insert_route.rb +1 -1
  26. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/mkdir.rb +1 -1
  27. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/prism_parsing_op.rb +1 -1
  28. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/render_template.rb +1 -1
  29. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/skip_file.rb +1 -1
  30. data/lib/brut/cli/apps/new/ops.rb +17 -0
  31. data/lib/brut/cli/apps/new/organization.rb +5 -0
  32. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/prefix.rb +1 -1
  33. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/segments/bare_bones.rb +12 -11
  34. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/segments/demo.rb +16 -15
  35. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/segments/heroku.rb +9 -5
  36. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/segments/sidekiq.rb +44 -21
  37. data/lib/brut/cli/apps/new/segments.rb +8 -0
  38. data/lib/brut/cli/apps/new/version.rb +3 -0
  39. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/versions.rb +2 -2
  40. data/lib/brut/cli/apps/new.rb +26 -0
  41. data/lib/brut/cli/apps/scaffold.rb +150 -141
  42. data/lib/brut/cli/apps/test.rb +95 -69
  43. data/lib/brut/cli/commands/base_command.rb +174 -0
  44. data/lib/brut/cli/commands/compound_command.rb +29 -0
  45. data/lib/brut/cli/commands/execution_context.rb +32 -0
  46. data/lib/brut/cli/commands/help.rb +26 -0
  47. data/lib/brut/cli/commands/output_error.rb +13 -0
  48. data/lib/brut/cli/commands/raise_error.rb +11 -0
  49. data/lib/brut/cli/commands.rb +8 -0
  50. data/lib/brut/cli/execute_result.rb +39 -0
  51. data/lib/brut/cli/executor.rb +9 -4
  52. data/lib/brut/cli/output.rb +13 -0
  53. data/lib/brut/cli/parsed_command_line.rb +143 -0
  54. data/lib/brut/cli/runner.rb +124 -0
  55. data/lib/brut/cli.rb +7 -29
  56. data/lib/brut/framework/container.rb +1 -1
  57. data/lib/brut/framework/mcp.rb +59 -13
  58. data/lib/brut/framework/project_environment.rb +3 -1
  59. data/lib/brut/junk_drawer.rb +3 -1
  60. data/lib/brut/spec_support/cli_command_support.rb +45 -0
  61. data/lib/brut/spec_support/e2e_test_server.rb +3 -0
  62. data/lib/brut/spec_support/general_support.rb +1 -1
  63. data/lib/brut/spec_support/matchers/have_executed.rb +35 -0
  64. data/lib/brut/spec_support/rspec_setup.rb +4 -8
  65. data/lib/brut/spec_support.rb +1 -0
  66. data/lib/brut/tui/ansi_escape_code.rb +104 -0
  67. data/lib/brut/tui/event_loop.rb +168 -0
  68. data/lib/brut/tui/events/base_event.rb +29 -0
  69. data/lib/brut/tui/events/event_bus.rb +73 -0
  70. data/lib/brut/tui/events/event_loop_started.rb +5 -0
  71. data/lib/brut/tui/events/exception.rb +24 -0
  72. data/lib/brut/tui/events/tick.rb +12 -0
  73. data/lib/brut/tui/events.rb +7 -0
  74. data/lib/brut/tui/markup_string.rb +70 -0
  75. data/lib/brut/tui/script/block_step.rb +17 -0
  76. data/lib/brut/tui/script/events/command_execution_failed.rb +4 -0
  77. data/lib/brut/tui/script/events/command_execution_succeeded.rb +3 -0
  78. data/lib/brut/tui/script/events/command_std_err.rb +3 -0
  79. data/lib/brut/tui/script/events/command_std_out.rb +14 -0
  80. data/lib/brut/tui/script/events/executing_command.rb +12 -0
  81. data/lib/brut/tui/script/events/message.rb +15 -0
  82. data/lib/brut/tui/script/events/phase_completed.rb +4 -0
  83. data/lib/brut/tui/script/events/phase_started.rb +14 -0
  84. data/lib/brut/tui/script/events/script_completed.rb +5 -0
  85. data/lib/brut/tui/script/events/script_started.rb +12 -0
  86. data/lib/brut/tui/script/events/step_completed.rb +3 -0
  87. data/lib/brut/tui/script/events/step_started.rb +12 -0
  88. data/lib/brut/tui/script/events.rb +14 -0
  89. data/lib/brut/tui/script/exec_step.rb +67 -0
  90. data/lib/brut/tui/script/logging_subscriber.rb +98 -0
  91. data/lib/brut/tui/script/puts_subscriber.rb +109 -0
  92. data/lib/brut/tui/script/step.rb +13 -0
  93. data/lib/brut/tui/script.rb +215 -0
  94. data/lib/brut/tui/terminal.rb +74 -0
  95. data/lib/brut/tui/terminal_theme.rb +144 -0
  96. data/lib/brut/tui/themes/dark.rb +14 -0
  97. data/lib/brut/tui/themes/light.rb +17 -0
  98. data/lib/brut/tui/themes/none.rb +9 -0
  99. data/lib/brut/tui/themes.rb +5 -0
  100. data/lib/brut/tui.rb +15 -0
  101. data/lib/brut/version.rb +1 -1
  102. data/lib/brut.rb +1 -0
  103. data/templates/Base/.env.development.local +2 -0
  104. data/templates/Base/bin/ci +42 -0
  105. data/{mkbrut/templates → templates}/Base/bin/release +2 -2
  106. data/templates/Base/bin/setup +174 -0
  107. data/{mkbrut/templates → templates}/Base/bin/watch-and-build-assets +1 -1
  108. data/{mkbrut/templates → templates}/Base/dx/docker-compose.env.erb +1 -1
  109. data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/css/fonts.css +1 -1
  110. data/{mkbrut/templates → templates}/segments/Heroku/deploy/Dockerfile +2 -2
  111. data/templates/segments/Heroku/deploy/docker_config.rb +30 -0
  112. metadata +254 -1009
  113. data/.gitignore +0 -55
  114. data/.projections.json +0 -10
  115. data/CHANGELOG.md +0 -167
  116. data/CODE_OF_CONDUCT.txt +0 -99
  117. data/Dockerfile.dx +0 -82
  118. data/Gemfile +0 -6
  119. data/Gemfile.lock +0 -243
  120. data/LICENSE.txt +0 -370
  121. data/README.md +0 -90
  122. data/Rakefile +0 -25
  123. data/assets/Logo-Square.pxd +0 -0
  124. data/assets/LogoPylon.pxd +0 -0
  125. data/assets/LogoStop.pxd +0 -0
  126. data/assets/LogoTall.pxd +0 -0
  127. data/assets/MetroIcon.graffle +0 -0
  128. data/assets/MetroLogo.graffle +0 -0
  129. data/assets/SocialImage.png +0 -0
  130. data/assets/SocialImage.pxd +0 -0
  131. data/assets/YouTubeThumb.pxd +0 -0
  132. data/bin/bin_kit.rb +0 -51
  133. data/bin/build +0 -86
  134. data/bin/ci +0 -40
  135. data/bin/dev +0 -20
  136. data/bin/docs +0 -79
  137. data/bin/generate-and-run-rubocop +0 -52
  138. data/bin/new-version +0 -8
  139. data/bin/publish +0 -61
  140. data/bin/rake +0 -27
  141. data/bin/rspec +0 -27
  142. data/bin/rubocop +0 -27
  143. data/bin/setup +0 -252
  144. data/bin/test +0 -18
  145. data/brut-css/.nvim.lua +0 -1
  146. data/brut-css/README.md +0 -28
  147. data/brut-css/bin/build +0 -50
  148. data/brut-css/bin/ci +0 -19
  149. data/brut-css/bin/dev +0 -1
  150. data/brut-css/bin/docs +0 -34
  151. data/brut-css/bin/publish +0 -21
  152. data/brut-css/bin/setup +0 -6
  153. data/brut-css/config/media-queries-all.css +0 -15
  154. data/brut-css/config/media-queries-minimal.css +0 -5
  155. data/brut-css/config/postcss.config.cjs +0 -7
  156. data/brut-css/config/pseudo-classes-all.css +0 -9
  157. data/brut-css/dx +0 -1
  158. data/brut-css/package-lock.json +0 -3165
  159. data/brut-css/package.json +0 -36
  160. data/brut-css/src/css/appearance.css +0 -145
  161. data/brut-css/src/css/border.css +0 -522
  162. data/brut-css/src/css/colors.css +0 -3502
  163. data/brut-css/src/css/dimensions.css +0 -548
  164. data/brut-css/src/css/flex.css +0 -179
  165. data/brut-css/src/css/index.css +0 -13
  166. data/brut-css/src/css/layout.css +0 -120
  167. data/brut-css/src/css/list.css +0 -41
  168. data/brut-css/src/css/positioning.css +0 -354
  169. data/brut-css/src/css/properties/colors.css +0 -455
  170. data/brut-css/src/css/properties/index.css +0 -3
  171. data/brut-css/src/css/properties/spacing.css +0 -140
  172. data/brut-css/src/css/properties/typography.css +0 -224
  173. data/brut-css/src/css/reset.css +0 -107
  174. data/brut-css/src/css/spacing.css +0 -585
  175. data/brut-css/src/css/typography.css +0 -519
  176. data/brut-css/src/css/utils.css +0 -104
  177. data/brut-css/src/docs/1_getting-started/1_overview.md +0 -46
  178. data/brut-css/src/docs/1_getting-started/2_installation.md +0 -25
  179. data/brut-css/src/docs/1_getting-started/3_core-concepts.md +0 -75
  180. data/brut-css/src/docs/1_getting-started/4_simple-example.md +0 -132
  181. data/brut-css/src/docs/1_getting-started/page.html.ejs +0 -10
  182. data/brut-css/src/docs/2_properties/page.html.ejs +0 -71
  183. data/brut-css/src/docs/3_classes/color-demo.html.ejs +0 -31
  184. data/brut-css/src/docs/3_classes/page.html.ejs +0 -87
  185. data/brut-css/src/docs/4_customization/1_design-system.md +0 -36
  186. data/brut-css/src/docs/4_customization/2_breakpoints.md +0 -75
  187. data/brut-css/src/docs/4_customization/3_pseudo-classes.md +0 -74
  188. data/brut-css/src/docs/4_customization/4_advanced-configuration.md +0 -40
  189. data/brut-css/src/docs/4_customization/page.html.ejs +0 -10
  190. data/brut-css/src/docs/docs.css +0 -98
  191. data/brut-css/src/docs/includes/body-and-header.html.ejs +0 -30
  192. data/brut-css/src/docs/includes/footer-and-rest.html.ejs +0 -9
  193. data/brut-css/src/docs/includes/head.html.ejs +0 -5
  194. data/brut-css/src/docs/includes/nav.html.ejs +0 -10
  195. data/brut-css/src/docs/index.html.ejs +0 -32
  196. data/brut-css/src/docs/prism-twilight.min.css +0 -1
  197. data/brut-css/src/js/Logger.js +0 -71
  198. data/brut-css/src/js/build.js +0 -111
  199. data/brut-css/src/js/cli/CLIArgError.js +0 -7
  200. data/brut-css/src/js/cli/Debug.js +0 -27
  201. data/brut-css/src/js/cli/DocsDir.js +0 -16
  202. data/brut-css/src/js/cli/DocsTemplateSourceDir.js +0 -16
  203. data/brut-css/src/js/cli/InputFile.js +0 -31
  204. data/brut-css/src/js/cli/MediaQueryConfigFile.js +0 -10
  205. data/brut-css/src/js/cli/OutputFile.js +0 -22
  206. data/brut-css/src/js/cli/ParsedArg.js +0 -17
  207. data/brut-css/src/js/cli/PathToBrutCSSRoot.js +0 -19
  208. data/brut-css/src/js/cli/PseudoClassConfigFile.js +0 -11
  209. data/brut-css/src/js/cli.js +0 -108
  210. data/brut-css/src/js/docGenerator.js +0 -467
  211. data/brut-css/src/js/mediaQueryConfigParser.js +0 -98
  212. data/brut-css/src/js/post-css-plugins/addMediaQueriesPlugin.js +0 -49
  213. data/brut-css/src/js/post-css-plugins/addPseudoClassesPlugin.js +0 -42
  214. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Category.js +0 -9
  215. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/DocState.js +0 -185
  216. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Documentable.js +0 -8
  217. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Group.js +0 -7
  218. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/ParsedComment.js +0 -73
  219. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Property.js +0 -9
  220. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/PropertyCategory.js +0 -4
  221. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/PropertyGroup.js +0 -8
  222. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Rule.js +0 -12
  223. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/RuleCategory.js +0 -4
  224. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/RuleGroup.js +0 -8
  225. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/SeeRef.js +0 -5
  226. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/SeeURL.js +0 -9
  227. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin.js +0 -49
  228. data/brut-css/src/js/post-css-plugins/generateRootCustomPropertiesPlugin.js +0 -45
  229. data/brut-css/src/js/pseudoClassConfigParser.js +0 -145
  230. data/brut-js/.projections.json +0 -10
  231. data/brut-js/README.md +0 -118
  232. data/brut-js/bin/build +0 -19
  233. data/brut-js/bin/ci +0 -5
  234. data/brut-js/bin/docs +0 -25
  235. data/brut-js/bin/publish +0 -21
  236. data/brut-js/bin/setup +0 -6
  237. data/brut-js/docs/README.md +0 -8
  238. data/brut-js/docs/jsdoc-plugins/customElementTag.js +0 -8
  239. data/brut-js/docs/jsdoc-theme/publish.js +0 -692
  240. data/brut-js/docs/jsdoc-theme/static/scripts/linenumber.js +0 -25
  241. data/brut-js/docs/jsdoc-theme/static/scripts/prettify/Apache-License-2.0.txt +0 -202
  242. data/brut-js/docs/jsdoc-theme/static/scripts/prettify/lang-css.js +0 -2
  243. data/brut-js/docs/jsdoc-theme/static/scripts/prettify/prettify.js +0 -28
  244. data/brut-js/docs/jsdoc-theme/static/styles/jsdoc-default.css +0 -327
  245. data/brut-js/docs/jsdoc-theme/static/styles/prettify-jsdoc.css +0 -111
  246. data/brut-js/docs/jsdoc-theme/static/styles/prettify-tomorrow.css +0 -132
  247. data/brut-js/docs/jsdoc-theme/tmpl/augments.tmpl +0 -10
  248. data/brut-js/docs/jsdoc-theme/tmpl/container.tmpl +0 -199
  249. data/brut-js/docs/jsdoc-theme/tmpl/details.tmpl +0 -143
  250. data/brut-js/docs/jsdoc-theme/tmpl/example.tmpl +0 -2
  251. data/brut-js/docs/jsdoc-theme/tmpl/examples.tmpl +0 -13
  252. data/brut-js/docs/jsdoc-theme/tmpl/exceptions.tmpl +0 -32
  253. data/brut-js/docs/jsdoc-theme/tmpl/layout.tmpl +0 -38
  254. data/brut-js/docs/jsdoc-theme/tmpl/mainpage.tmpl +0 -14
  255. data/brut-js/docs/jsdoc-theme/tmpl/members.tmpl +0 -38
  256. data/brut-js/docs/jsdoc-theme/tmpl/method.tmpl +0 -131
  257. data/brut-js/docs/jsdoc-theme/tmpl/modifies.tmpl +0 -14
  258. data/brut-js/docs/jsdoc-theme/tmpl/params.tmpl +0 -131
  259. data/brut-js/docs/jsdoc-theme/tmpl/properties.tmpl +0 -108
  260. data/brut-js/docs/jsdoc-theme/tmpl/returns.tmpl +0 -19
  261. data/brut-js/docs/jsdoc-theme/tmpl/source.tmpl +0 -8
  262. data/brut-js/docs/jsdoc-theme/tmpl/tutorial.tmpl +0 -19
  263. data/brut-js/docs/jsdoc-theme/tmpl/type.tmpl +0 -7
  264. data/brut-js/docs/jsdoc.config.json +0 -23
  265. data/brut-js/docs/package-lock.json +0 -343
  266. data/brut-js/docs/package.json +0 -7
  267. data/brut-js/dx +0 -1
  268. data/brut-js/package-lock.json +0 -2210
  269. data/brut-js/package.json +0 -36
  270. data/brut-js/specs/AjaxSubmit.spec.js +0 -453
  271. data/brut-js/specs/Autosubmit.spec.js +0 -127
  272. data/brut-js/specs/ConfirmSubmit.spec.js +0 -224
  273. data/brut-js/specs/ConstraintViolationMessage.spec.js +0 -33
  274. data/brut-js/specs/ConstraintViolationMessages.spec.js +0 -32
  275. data/brut-js/specs/CopyToClipboard.spec.js +0 -35
  276. data/brut-js/specs/Form.spec.js +0 -137
  277. data/brut-js/specs/I18nTranslation.spec.js +0 -19
  278. data/brut-js/specs/LocaleDetection.spec.js +0 -22
  279. data/brut-js/specs/Message.spec.js +0 -15
  280. data/brut-js/specs/SpecHelper.js +0 -23
  281. data/brut-js/specs/Tabs.spec.js +0 -41
  282. data/brut-js/specs/Toast.spec.js +0 -34
  283. data/brut-js/specs/config/asset_metadata.json +0 -7
  284. data/brut-js/src/AjaxSubmit.js +0 -499
  285. data/brut-js/src/Autosubmit.js +0 -63
  286. data/brut-js/src/BaseCustomElement.js +0 -261
  287. data/brut-js/src/ConfirmSubmit.js +0 -137
  288. data/brut-js/src/ConfirmationDialog.js +0 -143
  289. data/brut-js/src/ConstraintViolationMessage.js +0 -140
  290. data/brut-js/src/ConstraintViolationMessages.js +0 -98
  291. data/brut-js/src/CopyToClipboard.js +0 -96
  292. data/brut-js/src/Form.js +0 -147
  293. data/brut-js/src/I18nTranslation.js +0 -64
  294. data/brut-js/src/LocaleDetection.js +0 -117
  295. data/brut-js/src/Logger.js +0 -90
  296. data/brut-js/src/Message.js +0 -62
  297. data/brut-js/src/RichString.js +0 -116
  298. data/brut-js/src/Tabs.js +0 -168
  299. data/brut-js/src/Toast.js +0 -102
  300. data/brut-js/src/Tracing.js +0 -247
  301. data/brut-js/src/appForTestingOnly.js +0 -15
  302. data/brut-js/src/index.js +0 -133
  303. data/brut-js/src/testing/AssetMetadata.js +0 -35
  304. data/brut-js/src/testing/AssetMetadataLoader.js +0 -25
  305. data/brut-js/src/testing/CustomElementTest.js +0 -235
  306. data/brut-js/src/testing/DOMCreator.js +0 -45
  307. data/brut-js/src/testing/index.js +0 -48
  308. data/brut.gemspec +0 -71
  309. data/brutrb.com/.vitepress/config.mjs +0 -164
  310. data/brutrb.com/.vitepress/plugins/jsdocLinker.js +0 -34
  311. data/brutrb.com/.vitepress/plugins/rdocLinker.js +0 -18
  312. data/brutrb.com/.vitepress/theme/custom.css +0 -14
  313. data/brutrb.com/.vitepress/theme/index.js +0 -18
  314. data/brutrb.com/.vitepress/theme/style.css +0 -139
  315. data/brutrb.com/adrs.md +0 -16
  316. data/brutrb.com/ai.md +0 -68
  317. data/brutrb.com/assets.md +0 -131
  318. data/brutrb.com/bin/build +0 -5
  319. data/brutrb.com/bin/deploy +0 -7
  320. data/brutrb.com/bin/dev +0 -5
  321. data/brutrb.com/bin/setup +0 -6
  322. data/brutrb.com/brut-js.md +0 -128
  323. data/brutrb.com/business-logic.md +0 -55
  324. data/brutrb.com/cli.md +0 -274
  325. data/brutrb.com/components.md +0 -265
  326. data/brutrb.com/configuration.md +0 -256
  327. data/brutrb.com/css.md +0 -103
  328. data/brutrb.com/custom-element-tests.md +0 -148
  329. data/brutrb.com/database-access.md +0 -201
  330. data/brutrb.com/database-schema.md +0 -320
  331. data/brutrb.com/deployment.md +0 -158
  332. data/brutrb.com/dev-environment.md +0 -186
  333. data/brutrb.com/dir-structure.md +0 -120
  334. data/brutrb.com/doc-conventions.md +0 -41
  335. data/brutrb.com/dx +0 -1
  336. data/brutrb.com/end-to-end-tests.md +0 -176
  337. data/brutrb.com/features.md +0 -373
  338. data/brutrb.com/flash-and-session.md +0 -208
  339. data/brutrb.com/form-constraints.md +0 -266
  340. data/brutrb.com/forms.md +0 -238
  341. data/brutrb.com/getting-started.md +0 -142
  342. data/brutrb.com/handlers.md +0 -177
  343. data/brutrb.com/hooks.md +0 -176
  344. data/brutrb.com/i18n.md +0 -190
  345. data/brutrb.com/images/DevEnvironment.graffle +0 -0
  346. data/brutrb.com/images/DevEnvironment.png +0 -0
  347. data/brutrb.com/images/LogoSquare.png +0 -0
  348. data/brutrb.com/images/LogoStop.png +0 -0
  349. data/brutrb.com/images/LogoTall.png +0 -0
  350. data/brutrb.com/images/Makefile +0 -10
  351. data/brutrb.com/images/OverviewMetro.graffle +0 -0
  352. data/brutrb.com/images/OverviewMetro.png +0 -0
  353. data/brutrb.com/images/dev-env-overview.dot +0 -54
  354. data/brutrb.com/images/dev-env-overview.png +0 -0
  355. data/brutrb.com/images/dev-env-protocol.dot +0 -37
  356. data/brutrb.com/images/dev-env-protocol.png +0 -0
  357. data/brutrb.com/images/overview.graffle +0 -0
  358. data/brutrb.com/images/overview.png +0 -0
  359. data/brutrb.com/images/spa.dot +0 -19
  360. data/brutrb.com/images/spa.png +0 -0
  361. data/brutrb.com/images/tutorial/02-confirmation-dialog-browser-element-styled.png +0 -0
  362. data/brutrb.com/images/tutorial/02-confirmation-dialog-browser-element.png +0 -0
  363. data/brutrb.com/images/tutorial/02-confirmation-dialog-browser.png +0 -0
  364. data/brutrb.com/images/tutorial/02-confirmation-flow.graffle +0 -0
  365. data/brutrb.com/images/tutorial/02-confirmation-flow.png +0 -0
  366. data/brutrb.com/images/tutorial/basic-form-with-violations.png +0 -0
  367. data/brutrb.com/images/tutorial/basic-form.png +0 -0
  368. data/brutrb.com/images/tutorial/initial-home-page.png +0 -0
  369. data/brutrb.com/images/tutorial/new-post-editor.png +0 -0
  370. data/brutrb.com/images/tutorial/new-post-home-page.png +0 -0
  371. data/brutrb.com/images/tutorial/styled-form-with-server-side-violations.png +0 -0
  372. data/brutrb.com/images/tutorial/styled-form-with-violations.png +0 -0
  373. data/brutrb.com/images/tutorial/styled-home-page-with-posts.png +0 -0
  374. data/brutrb.com/images/tutorial/styled-home-page.png +0 -0
  375. data/brutrb.com/images/tutorial/welcome-to-brut.png +0 -0
  376. data/brutrb.com/images/workspace-protocol.dot +0 -44
  377. data/brutrb.com/images/workspace-protocol.png +0 -0
  378. data/brutrb.com/index.md +0 -34
  379. data/brutrb.com/instrumentation.md +0 -331
  380. data/brutrb.com/javascript.md +0 -122
  381. data/brutrb.com/jobs.md +0 -114
  382. data/brutrb.com/keyword-injection.md +0 -195
  383. data/brutrb.com/layouts.md +0 -156
  384. data/brutrb.com/lsp.md +0 -23
  385. data/brutrb.com/markdown-examples.md +0 -85
  386. data/brutrb.com/middleware.md +0 -80
  387. data/brutrb.com/overview.md +0 -68
  388. data/brutrb.com/package-lock.json +0 -2451
  389. data/brutrb.com/package.json +0 -11
  390. data/brutrb.com/pages.md +0 -290
  391. data/brutrb.com/public/SocialImage.png +0 -0
  392. data/brutrb.com/public/favicon.ico +0 -0
  393. data/brutrb.com/recipes/alternate-layouts.md +0 -32
  394. data/brutrb.com/recipes/authentication.md +0 -336
  395. data/brutrb.com/recipes/custom-flash.md +0 -51
  396. data/brutrb.com/recipes/dev-env-secrets.md +0 -87
  397. data/brutrb.com/recipes/form-errors.md +0 -148
  398. data/brutrb.com/recipes/indexed-forms.md +0 -149
  399. data/brutrb.com/recipes/migrations.md +0 -210
  400. data/brutrb.com/recipes/text-field-component.md +0 -182
  401. data/brutrb.com/roadmap.md +0 -52
  402. data/brutrb.com/routes.md +0 -189
  403. data/brutrb.com/security.md +0 -102
  404. data/brutrb.com/seed-data.md +0 -63
  405. data/brutrb.com/space-time-continuum.md +0 -81
  406. data/brutrb.com/tutorial.md +0 -138
  407. data/brutrb.com/tutorials/01-intro.md +0 -1654
  408. data/brutrb.com/tutorials/02-dialog.md +0 -569
  409. data/brutrb.com/unit-tests.md +0 -148
  410. data/brutrb.com/why.md +0 -19
  411. data/docker-compose.dx.yml +0 -25
  412. data/docs/404.html +0 -26
  413. data/docs/CNAME +0 -1
  414. data/docs/SocialImage.png +0 -0
  415. data/docs/adrs.html +0 -29
  416. data/docs/ai.html +0 -29
  417. data/docs/api/Brut/BackEnd/SeedData.html +0 -493
  418. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html +0 -214
  419. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html +0 -125
  420. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares.html +0 -125
  421. data/docs/api/Brut/BackEnd/Sidekiq.html +0 -125
  422. data/docs/api/Brut/BackEnd/Validators/FormValidator.html +0 -414
  423. data/docs/api/Brut/BackEnd/Validators.html +0 -128
  424. data/docs/api/Brut/BackEnd.html +0 -132
  425. data/docs/api/Brut/CLI/App.html +0 -1601
  426. data/docs/api/Brut/CLI/AppRunner.html +0 -491
  427. data/docs/api/Brut/CLI/Apps/BuildAssets/All.html +0 -264
  428. data/docs/api/Brut/CLI/Apps/BuildAssets/CSS.html +0 -306
  429. data/docs/api/Brut/CLI/Apps/BuildAssets/Images.html +0 -262
  430. data/docs/api/Brut/CLI/Apps/BuildAssets/JS.html +0 -314
  431. data/docs/api/Brut/CLI/Apps/BuildAssets.html +0 -183
  432. data/docs/api/Brut/CLI/Apps/DB/Create.html +0 -365
  433. data/docs/api/Brut/CLI/Apps/DB/Drop.html +0 -357
  434. data/docs/api/Brut/CLI/Apps/DB/Migrate.html +0 -389
  435. data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +0 -339
  436. data/docs/api/Brut/CLI/Apps/DB/Rebuild.html +0 -329
  437. data/docs/api/Brut/CLI/Apps/DB/Seed.html +0 -347
  438. data/docs/api/Brut/CLI/Apps/DB/Status.html +0 -383
  439. data/docs/api/Brut/CLI/Apps/DB.html +0 -183
  440. data/docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html +0 -270
  441. data/docs/api/Brut/CLI/Apps/DeployBase.html +0 -257
  442. data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html +0 -587
  443. data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html +0 -196
  444. data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +0 -303
  445. data/docs/api/Brut/CLI/Apps/Scaffold/Action.html +0 -508
  446. data/docs/api/Brut/CLI/Apps/Scaffold/Component.html +0 -398
  447. data/docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html +0 -374
  448. data/docs/api/Brut/CLI/Apps/Scaffold/DbModel.html +0 -384
  449. data/docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html +0 -410
  450. data/docs/api/Brut/CLI/Apps/Scaffold/Form.html +0 -262
  451. data/docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html +0 -303
  452. data/docs/api/Brut/CLI/Apps/Scaffold/Page.html +0 -480
  453. data/docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html +0 -450
  454. data/docs/api/Brut/CLI/Apps/Scaffold/Test.html +0 -380
  455. data/docs/api/Brut/CLI/Apps/Scaffold.html +0 -253
  456. data/docs/api/Brut/CLI/Apps/Test/Audit.html +0 -470
  457. data/docs/api/Brut/CLI/Apps/Test/E2e.html +0 -407
  458. data/docs/api/Brut/CLI/Apps/Test/JS.html +0 -262
  459. data/docs/api/Brut/CLI/Apps/Test/Run.html +0 -578
  460. data/docs/api/Brut/CLI/Apps/Test.html +0 -253
  461. data/docs/api/Brut/CLI/Apps.html +0 -125
  462. data/docs/api/Brut/CLI/Command.html +0 -2425
  463. data/docs/api/Brut/CLI/Error.html +0 -139
  464. data/docs/api/Brut/CLI/ExecutionResults/Result.html +0 -664
  465. data/docs/api/Brut/CLI/ExecutionResults.html +0 -675
  466. data/docs/api/Brut/CLI/Executor.html +0 -561
  467. data/docs/api/Brut/CLI/InvalidOption.html +0 -245
  468. data/docs/api/Brut/CLI/Options.html +0 -880
  469. data/docs/api/Brut/CLI/Output.html +0 -699
  470. data/docs/api/Brut/CLI/SystemExecError.html +0 -451
  471. data/docs/api/Brut/CLI.html +0 -263
  472. data/docs/api/Brut/FactoryBot.html +0 -225
  473. data/docs/api/Brut/Framework/App.html +0 -1097
  474. data/docs/api/Brut/Framework/Config.html +0 -1071
  475. data/docs/api/Brut/Framework/Container.html +0 -1464
  476. data/docs/api/Brut/Framework/Error.html +0 -140
  477. data/docs/api/Brut/Framework/Errors/AbstractMethod.html +0 -232
  478. data/docs/api/Brut/Framework/Errors/Bug.html +0 -234
  479. data/docs/api/Brut/Framework/Errors/MissingConfiguration.html +0 -257
  480. data/docs/api/Brut/Framework/Errors/MissingParameter.html +0 -273
  481. data/docs/api/Brut/Framework/Errors/NoClassForPath.html +0 -471
  482. data/docs/api/Brut/Framework/Errors/NotFound.html +0 -308
  483. data/docs/api/Brut/Framework/Errors/NotImplemented.html +0 -234
  484. data/docs/api/Brut/Framework/Errors.html +0 -351
  485. data/docs/api/Brut/Framework/FussyTypeEnforcement.html +0 -392
  486. data/docs/api/Brut/Framework/MCP.html +0 -871
  487. data/docs/api/Brut/Framework/ProjectEnvironment.html +0 -648
  488. data/docs/api/Brut/Framework.html +0 -129
  489. data/docs/api/Brut/FrontEnd/AssetPathResolver.html +0 -317
  490. data/docs/api/Brut/FrontEnd/Component/Helpers.html +0 -420
  491. data/docs/api/Brut/FrontEnd/Component.html +0 -434
  492. data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +0 -491
  493. data/docs/api/Brut/FrontEnd/Components/FormTag.html +0 -526
  494. data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +0 -313
  495. data/docs/api/Brut/FrontEnd/Components/Input.html +0 -195
  496. data/docs/api/Brut/FrontEnd/Components/Inputs/ButtonTag.html +0 -447
  497. data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +0 -339
  498. data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +0 -568
  499. data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +0 -419
  500. data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +0 -610
  501. data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +0 -534
  502. data/docs/api/Brut/FrontEnd/Components/Inputs.html +0 -125
  503. data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +0 -367
  504. data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +0 -355
  505. data/docs/api/Brut/FrontEnd/Components/TimeTag.html +0 -655
  506. data/docs/api/Brut/FrontEnd/Components/Traceparent.html +0 -352
  507. data/docs/api/Brut/FrontEnd/Components.html +0 -156
  508. data/docs/api/Brut/FrontEnd/CsrfProtector.html +0 -250
  509. data/docs/api/Brut/FrontEnd/Download.html +0 -467
  510. data/docs/api/Brut/FrontEnd/Flash.html +0 -1150
  511. data/docs/api/Brut/FrontEnd/Form.html +0 -1227
  512. data/docs/api/Brut/FrontEnd/Forms/Button.html +0 -331
  513. data/docs/api/Brut/FrontEnd/Forms/ButtonInputDefinition.html +0 -537
  514. data/docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html +0 -590
  515. data/docs/api/Brut/FrontEnd/Forms/Input/Color.html +0 -201
  516. data/docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html +0 -535
  517. data/docs/api/Brut/FrontEnd/Forms/Input.html +0 -1567
  518. data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +0 -635
  519. data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +0 -1336
  520. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +0 -730
  521. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +0 -587
  522. data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +0 -734
  523. data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +0 -582
  524. data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +0 -659
  525. data/docs/api/Brut/FrontEnd/Forms.html +0 -127
  526. data/docs/api/Brut/FrontEnd/GenericResponse.html +0 -377
  527. data/docs/api/Brut/FrontEnd/Handler.html +0 -442
  528. data/docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html +0 -318
  529. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html +0 -336
  530. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html +0 -399
  531. data/docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html +0 -354
  532. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html +0 -151
  533. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler.html +0 -315
  534. data/docs/api/Brut/FrontEnd/Handlers.html +0 -125
  535. data/docs/api/Brut/FrontEnd/HandlingResults.html +0 -339
  536. data/docs/api/Brut/FrontEnd/HttpMethod.html +0 -661
  537. data/docs/api/Brut/FrontEnd/HttpStatus.html +0 -496
  538. data/docs/api/Brut/FrontEnd/InlineSvgLocator.html +0 -284
  539. data/docs/api/Brut/FrontEnd/Layout.html +0 -486
  540. data/docs/api/Brut/FrontEnd/Middleware.html +0 -135
  541. data/docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html +0 -288
  542. data/docs/api/Brut/FrontEnd/Middlewares/Favicon.html +0 -292
  543. data/docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html +0 -324
  544. data/docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html +0 -376
  545. data/docs/api/Brut/FrontEnd/Middlewares.html +0 -125
  546. data/docs/api/Brut/FrontEnd/Page.html +0 -781
  547. data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +0 -797
  548. data/docs/api/Brut/FrontEnd/Pages.html +0 -125
  549. data/docs/api/Brut/FrontEnd/RequestContext.html +0 -1312
  550. data/docs/api/Brut/FrontEnd/RouteHook.html +0 -424
  551. data/docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html +0 -242
  552. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html +0 -249
  553. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html +0 -264
  554. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html +0 -261
  555. data/docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html +0 -284
  556. data/docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html +0 -252
  557. data/docs/api/Brut/FrontEnd/RouteHooks.html +0 -115
  558. data/docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html +0 -227
  559. data/docs/api/Brut/FrontEnd/Routing/FormRoute.html +0 -305
  560. data/docs/api/Brut/FrontEnd/Routing/MissingForm.html +0 -324
  561. data/docs/api/Brut/FrontEnd/Routing/MissingHandler.html +0 -319
  562. data/docs/api/Brut/FrontEnd/Routing/MissingPage.html +0 -315
  563. data/docs/api/Brut/FrontEnd/Routing/MissingPath.html +0 -315
  564. data/docs/api/Brut/FrontEnd/Routing/PageRoute.html +0 -327
  565. data/docs/api/Brut/FrontEnd/Routing/Route.html +0 -761
  566. data/docs/api/Brut/FrontEnd/Routing.html +0 -927
  567. data/docs/api/Brut/FrontEnd/Session.html +0 -1195
  568. data/docs/api/Brut/FrontEnd.html +0 -134
  569. data/docs/api/Brut/I18n/BaseMethods.html +0 -931
  570. data/docs/api/Brut/I18n/ForBackEnd.html +0 -302
  571. data/docs/api/Brut/I18n/ForCLI.html +0 -302
  572. data/docs/api/Brut/I18n/ForHTML.html +0 -296
  573. data/docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html +0 -316
  574. data/docs/api/Brut/I18n/HTTPAcceptLanguage.html +0 -930
  575. data/docs/api/Brut/I18n.html +0 -127
  576. data/docs/api/Brut/Instrumentation/LoggerSpanExporter.html +0 -435
  577. data/docs/api/Brut/Instrumentation/Methods/ClassMethods.html +0 -596
  578. data/docs/api/Brut/Instrumentation/Methods.html +0 -173
  579. data/docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html +0 -286
  580. data/docs/api/Brut/Instrumentation/OpenTelemetry/Span.html +0 -302
  581. data/docs/api/Brut/Instrumentation/OpenTelemetry.html +0 -866
  582. data/docs/api/Brut/Instrumentation.html +0 -128
  583. data/docs/api/Brut/RubocopConfig.html +0 -237
  584. data/docs/api/Brut/SinatraHelpers/ClassMethods.html +0 -534
  585. data/docs/api/Brut/SinatraHelpers.html +0 -281
  586. data/docs/api/Brut/SpecSupport/ClockSupport.html +0 -383
  587. data/docs/api/Brut/SpecSupport/ComponentSupport.html +0 -496
  588. data/docs/api/Brut/SpecSupport/E2ETestServer.html +0 -503
  589. data/docs/api/Brut/SpecSupport/E2eSupport.html +0 -142
  590. data/docs/api/Brut/SpecSupport/EnhancedNode.html +0 -403
  591. data/docs/api/Brut/SpecSupport/FlashSupport.html +0 -278
  592. data/docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html +0 -401
  593. data/docs/api/Brut/SpecSupport/GeneralSupport.html +0 -195
  594. data/docs/api/Brut/SpecSupport/HandlerSupport.html +0 -160
  595. data/docs/api/Brut/SpecSupport/Matchers/BeABug.html +0 -142
  596. data/docs/api/Brut/SpecSupport/Matchers/BePageFor.html +0 -142
  597. data/docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html +0 -155
  598. data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +0 -583
  599. data/docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html +0 -149
  600. data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +0 -466
  601. data/docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html +0 -149
  602. data/docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html +0 -149
  603. data/docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html +0 -165
  604. data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html +0 -158
  605. data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html +0 -156
  606. data/docs/api/Brut/SpecSupport/Matchers.html +0 -125
  607. data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +0 -335
  608. data/docs/api/Brut/SpecSupport/RSpecSetup.html +0 -637
  609. data/docs/api/Brut/SpecSupport/SessionSupport.html +0 -196
  610. data/docs/api/Brut/SpecSupport.html +0 -129
  611. data/docs/api/Brut.html +0 -341
  612. data/docs/api/Clock.html +0 -603
  613. data/docs/api/ModuleName.html +0 -595
  614. data/docs/api/RichString.html +0 -775
  615. data/docs/api/SemanticLogger/Appender/Async.html +0 -219
  616. data/docs/api/Sequel/Extensions/BrutInstrumentation.html +0 -119
  617. data/docs/api/Sequel/Extensions/BrutMigrations.html +0 -541
  618. data/docs/api/Sequel/Extensions.html +0 -117
  619. data/docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html +0 -105
  620. data/docs/api/Sequel/Plugins/CreatedAt.html +0 -125
  621. data/docs/api/Sequel/Plugins/ExternalId/ClassMethods.html +0 -207
  622. data/docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html +0 -186
  623. data/docs/api/Sequel/Plugins/ExternalId.html +0 -218
  624. data/docs/api/Sequel/Plugins/FindBang/ClassMethods.html +0 -202
  625. data/docs/api/Sequel/Plugins/FindBang.html +0 -125
  626. data/docs/api/Sequel/Plugins.html +0 -117
  627. data/docs/api/Sequel.html +0 -117
  628. data/docs/api/_index.html +0 -1719
  629. data/docs/api/class_list.html +0 -54
  630. data/docs/api/css/common.css +0 -1
  631. data/docs/api/css/full_list.css +0 -59
  632. data/docs/api/css/style.css +0 -504
  633. data/docs/api/file.README.html +0 -172
  634. data/docs/api/file_list.html +0 -59
  635. data/docs/api/frames.html +0 -22
  636. data/docs/api/index.html +0 -172
  637. data/docs/api/js/app.js +0 -344
  638. data/docs/api/js/full_list.js +0 -242
  639. data/docs/api/js/jquery.js +0 -4
  640. data/docs/api/method_list.html +0 -4422
  641. data/docs/api/top-level-namespace.html +0 -112
  642. data/docs/assets/02-confirmation-dialog-browser-element-styled.3NEGM20-.png +0 -0
  643. data/docs/assets/02-confirmation-dialog-browser-element.DPsf0xUW.png +0 -0
  644. data/docs/assets/02-confirmation-dialog-browser.DH8ALFO4.png +0 -0
  645. data/docs/assets/02-confirmation-flow.D9gZ0S5U.png +0 -0
  646. data/docs/assets/DevEnvironment.DaFcVfwP.png +0 -0
  647. data/docs/assets/LogoStop.Gb3tDhL1.png +0 -0
  648. data/docs/assets/OverviewMetro.DUS-5fUZ.png +0 -0
  649. data/docs/assets/adrs.md.YglbWtQe.js +0 -1
  650. data/docs/assets/adrs.md.YglbWtQe.lean.js +0 -1
  651. data/docs/assets/ai.md.ChLnvDAX.js +0 -1
  652. data/docs/assets/ai.md.ChLnvDAX.lean.js +0 -1
  653. data/docs/assets/app.CovevI7X.js +0 -1
  654. data/docs/assets/assets.md.BEF6Oz6K.js +0 -19
  655. data/docs/assets/assets.md.BEF6Oz6K.lean.js +0 -1
  656. data/docs/assets/basic-form-with-violations.Cv6Y9-Q_.png +0 -0
  657. data/docs/assets/basic-form.DbHnu0oW.png +0 -0
  658. data/docs/assets/brut-js.md.BMz0X1Rz.js +0 -12
  659. data/docs/assets/brut-js.md.BMz0X1Rz.lean.js +0 -1
  660. data/docs/assets/business-logic.md.DbuaOYGU.js +0 -1
  661. data/docs/assets/business-logic.md.DbuaOYGU.lean.js +0 -1
  662. data/docs/assets/chunks/@localSearchIndexroot.BiNc3tFI.js +0 -1
  663. data/docs/assets/chunks/VPLocalSearchBox.CrvLAvKW.js +0 -8
  664. data/docs/assets/chunks/framework.C4nOkCZI.js +0 -18
  665. data/docs/assets/chunks/theme.BAi5_yQI.js +0 -2
  666. data/docs/assets/cli.md.DDMar_51.js +0 -122
  667. data/docs/assets/cli.md.DDMar_51.lean.js +0 -1
  668. data/docs/assets/components.md.9sqJ27Oc.js +0 -96
  669. data/docs/assets/components.md.9sqJ27Oc.lean.js +0 -1
  670. data/docs/assets/configuration.md.Cb_oAR8Z.js +0 -78
  671. data/docs/assets/configuration.md.Cb_oAR8Z.lean.js +0 -1
  672. data/docs/assets/css.md.K5rOCOQY.js +0 -21
  673. data/docs/assets/css.md.K5rOCOQY.lean.js +0 -1
  674. data/docs/assets/custom-element-tests.md.DiLe-eFw.js +0 -69
  675. data/docs/assets/custom-element-tests.md.DiLe-eFw.lean.js +0 -1
  676. data/docs/assets/database-access.md.Dc8l2Plf.js +0 -63
  677. data/docs/assets/database-access.md.Dc8l2Plf.lean.js +0 -1
  678. data/docs/assets/database-schema.md.BJ_JhXmO.js +0 -70
  679. data/docs/assets/database-schema.md.BJ_JhXmO.lean.js +0 -1
  680. data/docs/assets/deployment.md.CHTx2eTR.js +0 -55
  681. data/docs/assets/deployment.md.CHTx2eTR.lean.js +0 -1
  682. data/docs/assets/dev-env-protocol.DysDAtnz.png +0 -0
  683. data/docs/assets/dev-environment.md.B1S9p5ZK.js +0 -16
  684. data/docs/assets/dev-environment.md.B1S9p5ZK.lean.js +0 -1
  685. data/docs/assets/dir-structure.md.D1T2kGwj.js +0 -46
  686. data/docs/assets/dir-structure.md.D1T2kGwj.lean.js +0 -1
  687. data/docs/assets/doc-conventions.md.CDnWaEFg.js +0 -1
  688. data/docs/assets/doc-conventions.md.CDnWaEFg.lean.js +0 -1
  689. data/docs/assets/end-to-end-tests.md.BJJdNDYL.js +0 -28
  690. data/docs/assets/end-to-end-tests.md.BJJdNDYL.lean.js +0 -1
  691. data/docs/assets/features.md.BDWxnyNO.js +0 -154
  692. data/docs/assets/features.md.BDWxnyNO.lean.js +0 -1
  693. data/docs/assets/flash-and-session.md.CUsMxoNl.js +0 -79
  694. data/docs/assets/flash-and-session.md.CUsMxoNl.lean.js +0 -1
  695. data/docs/assets/form-constraints.md.KlfXSKm2.js +0 -90
  696. data/docs/assets/form-constraints.md.KlfXSKm2.lean.js +0 -1
  697. data/docs/assets/forms.md.BdpYpNIk.js +0 -64
  698. data/docs/assets/forms.md.BdpYpNIk.lean.js +0 -1
  699. data/docs/assets/getting-started.md.CKpNGvno.js +0 -31
  700. data/docs/assets/getting-started.md.CKpNGvno.lean.js +0 -1
  701. data/docs/assets/handlers.md.C5tUwmmo.js +0 -54
  702. data/docs/assets/handlers.md.C5tUwmmo.lean.js +0 -1
  703. data/docs/assets/hooks.md.CoiYCKRc.js +0 -80
  704. data/docs/assets/hooks.md.CoiYCKRc.lean.js +0 -1
  705. data/docs/assets/i18n.md.DxkCKhUw.js +0 -23
  706. data/docs/assets/i18n.md.DxkCKhUw.lean.js +0 -1
  707. data/docs/assets/index.md.DnphWyQd.js +0 -1
  708. data/docs/assets/index.md.DnphWyQd.lean.js +0 -1
  709. data/docs/assets/initial-home-page.DNIaYmgP.png +0 -0
  710. data/docs/assets/instrumentation.md.BcxjC4jd.js +0 -90
  711. data/docs/assets/instrumentation.md.BcxjC4jd.lean.js +0 -1
  712. data/docs/assets/javascript.md.D6fxhaQb.js +0 -31
  713. data/docs/assets/javascript.md.D6fxhaQb.lean.js +0 -1
  714. data/docs/assets/jobs.md.Bi3qb3v6.js +0 -25
  715. data/docs/assets/jobs.md.Bi3qb3v6.lean.js +0 -1
  716. data/docs/assets/keyword-injection.md.CqLnnzIz.js +0 -21
  717. data/docs/assets/keyword-injection.md.CqLnnzIz.lean.js +0 -1
  718. data/docs/assets/layouts.md.HEbeK7Jr.js +0 -68
  719. data/docs/assets/layouts.md.HEbeK7Jr.lean.js +0 -1
  720. data/docs/assets/lsp.md.bE9dW8n9.js +0 -1
  721. data/docs/assets/lsp.md.bE9dW8n9.lean.js +0 -1
  722. data/docs/assets/markdown-examples.md.BPmtHlc-.js +0 -33
  723. data/docs/assets/markdown-examples.md.BPmtHlc-.lean.js +0 -1
  724. data/docs/assets/middleware.md.BhOIsg59.js +0 -20
  725. data/docs/assets/middleware.md.BhOIsg59.lean.js +0 -1
  726. data/docs/assets/new-post-editor.DrHr-5oh.png +0 -0
  727. data/docs/assets/new-post-home-page.Bm34lyMg.png +0 -0
  728. data/docs/assets/overview.md.BpWAgPFH.js +0 -1
  729. data/docs/assets/overview.md.BpWAgPFH.lean.js +0 -1
  730. data/docs/assets/pages.md.B3sQXpEd.js +0 -45
  731. data/docs/assets/pages.md.B3sQXpEd.lean.js +0 -1
  732. data/docs/assets/recipes_alternate-layouts.md.C1QzVkA7.js +0 -22
  733. data/docs/assets/recipes_alternate-layouts.md.C1QzVkA7.lean.js +0 -1
  734. data/docs/assets/recipes_authentication.md.CyvoIW82.js +0 -157
  735. data/docs/assets/recipes_authentication.md.CyvoIW82.lean.js +0 -1
  736. data/docs/assets/recipes_custom-flash.md.6gFqf2uL.js +0 -26
  737. data/docs/assets/recipes_custom-flash.md.6gFqf2uL.lean.js +0 -1
  738. data/docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.js +0 -12
  739. data/docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.lean.js +0 -1
  740. data/docs/assets/recipes_form-errors.md.B5ptSzMO.js +0 -66
  741. data/docs/assets/recipes_form-errors.md.B5ptSzMO.lean.js +0 -1
  742. data/docs/assets/recipes_indexed-forms.md.BYYQGW2C.js +0 -74
  743. data/docs/assets/recipes_indexed-forms.md.BYYQGW2C.lean.js +0 -1
  744. data/docs/assets/recipes_migrations.md.Cid7-3cu.js +0 -97
  745. data/docs/assets/recipes_migrations.md.Cid7-3cu.lean.js +0 -1
  746. data/docs/assets/recipes_text-field-component.md.VhOsCtKI.js +0 -101
  747. data/docs/assets/recipes_text-field-component.md.VhOsCtKI.lean.js +0 -1
  748. data/docs/assets/roadmap.md.DqC1Y7Zt.js +0 -1
  749. data/docs/assets/roadmap.md.DqC1Y7Zt.lean.js +0 -1
  750. data/docs/assets/routes.md.C1dgIBtD.js +0 -21
  751. data/docs/assets/routes.md.C1dgIBtD.lean.js +0 -1
  752. data/docs/assets/security.md.Jn4SY1uK.js +0 -1
  753. data/docs/assets/security.md.Jn4SY1uK.lean.js +0 -1
  754. data/docs/assets/seed-data.md.UZW0WxYN.js +0 -14
  755. data/docs/assets/seed-data.md.UZW0WxYN.lean.js +0 -1
  756. data/docs/assets/spa.qejUdp-5.png +0 -0
  757. data/docs/assets/space-time-continuum.md.D9rYGDFH.js +0 -1
  758. data/docs/assets/space-time-continuum.md.D9rYGDFH.lean.js +0 -1
  759. data/docs/assets/style.B1z60PPQ.css +0 -1
  760. data/docs/assets/styled-form-with-server-side-violations.Bjxd8Dpv.png +0 -0
  761. data/docs/assets/styled-form-with-violations.Bv_sa9tg.png +0 -0
  762. data/docs/assets/styled-home-page-with-posts.Dd4kG89D.png +0 -0
  763. data/docs/assets/styled-home-page.BzdI7dWz.png +0 -0
  764. data/docs/assets/tutorial.md.BX6f6l00.js +0 -27
  765. data/docs/assets/tutorial.md.BX6f6l00.lean.js +0 -1
  766. data/docs/assets/tutorials_01-intro.md.CzZ3kpF_.js +0 -708
  767. data/docs/assets/tutorials_01-intro.md.CzZ3kpF_.lean.js +0 -1
  768. data/docs/assets/tutorials_02-dialog.md.Z_DOF2mU.js +0 -274
  769. data/docs/assets/tutorials_02-dialog.md.Z_DOF2mU.lean.js +0 -1
  770. data/docs/assets/unit-tests.md.vDsdBbO_.js +0 -13
  771. data/docs/assets/unit-tests.md.vDsdBbO_.lean.js +0 -1
  772. data/docs/assets/welcome-to-brut.VSWzl17-.png +0 -0
  773. data/docs/assets/why.md.4WpxdrQ2.js +0 -1
  774. data/docs/assets/why.md.4WpxdrQ2.lean.js +0 -1
  775. data/docs/assets/workspace-protocol.C0gXsoDb.png +0 -0
  776. data/docs/assets.html +0 -47
  777. data/docs/brut-css/brut.max.css +0 -22372
  778. data/docs/brut-css/classes/appearances.html +0 -783
  779. data/docs/brut-css/classes/background-colors.html +0 -3529
  780. data/docs/brut-css/classes/border-colors.html +0 -3529
  781. data/docs/brut-css/classes/borders.html +0 -2293
  782. data/docs/brut-css/classes/dimensions.html +0 -2581
  783. data/docs/brut-css/classes/flex.html +0 -917
  784. data/docs/brut-css/classes/foreground-colors.html +0 -3261
  785. data/docs/brut-css/classes/junk-drawer.html +0 -431
  786. data/docs/brut-css/classes/layout.html +0 -668
  787. data/docs/brut-css/classes/lists.html +0 -331
  788. data/docs/brut-css/classes/positioning.html +0 -1751
  789. data/docs/brut-css/classes/spacings.html +0 -2633
  790. data/docs/brut-css/classes/typography.html +0 -2206
  791. data/docs/brut-css/customization/advanced-configuration.html +0 -204
  792. data/docs/brut-css/customization/breakpoints.html +0 -227
  793. data/docs/brut-css/customization/design-system.html +0 -197
  794. data/docs/brut-css/customization/pseudo-classes.html +0 -228
  795. data/docs/brut-css/docs.css +0 -98
  796. data/docs/brut-css/getting-started/core-concepts.html +0 -234
  797. data/docs/brut-css/getting-started/installation.html +0 -190
  798. data/docs/brut-css/getting-started/overview.html +0 -210
  799. data/docs/brut-css/getting-started/simple-example.html +0 -285
  800. data/docs/brut-css/index.html +0 -193
  801. data/docs/brut-css/prism-twilight.min.css +0 -1
  802. data/docs/brut-css/properties/colors.html +0 -1548
  803. data/docs/brut-css/properties/spacings.html +0 -614
  804. data/docs/brut-css/properties/typography.html +0 -777
  805. data/docs/brut-js/api/AjaxSubmit.html +0 -452
  806. data/docs/brut-js/api/AjaxSubmit.js.html +0 -550
  807. data/docs/brut-js/api/Autosubmit.html +0 -192
  808. data/docs/brut-js/api/Autosubmit.js.html +0 -114
  809. data/docs/brut-js/api/BaseCustomElement.html +0 -1091
  810. data/docs/brut-js/api/BaseCustomElement.js.html +0 -312
  811. data/docs/brut-js/api/BrutCustomElements.html +0 -172
  812. data/docs/brut-js/api/BufferedLogger.html +0 -173
  813. data/docs/brut-js/api/ConfirmSubmit.html +0 -286
  814. data/docs/brut-js/api/ConfirmSubmit.js.html +0 -188
  815. data/docs/brut-js/api/ConfirmationDialog.html +0 -425
  816. data/docs/brut-js/api/ConfirmationDialog.js.html +0 -194
  817. data/docs/brut-js/api/ConstraintViolationMessage.html +0 -498
  818. data/docs/brut-js/api/ConstraintViolationMessage.js.html +0 -191
  819. data/docs/brut-js/api/ConstraintViolationMessages.html +0 -590
  820. data/docs/brut-js/api/ConstraintViolationMessages.js.html +0 -149
  821. data/docs/brut-js/api/CopyToClipboard.html +0 -345
  822. data/docs/brut-js/api/CopyToClipboard.js.html +0 -147
  823. data/docs/brut-js/api/Form.html +0 -291
  824. data/docs/brut-js/api/Form.js.html +0 -198
  825. data/docs/brut-js/api/I18nTranslation.html +0 -409
  826. data/docs/brut-js/api/I18nTranslation.js.html +0 -115
  827. data/docs/brut-js/api/LocaleDetection.html +0 -312
  828. data/docs/brut-js/api/LocaleDetection.js.html +0 -168
  829. data/docs/brut-js/api/Logger.html +0 -702
  830. data/docs/brut-js/api/Logger.js.html +0 -141
  831. data/docs/brut-js/api/Message.html +0 -238
  832. data/docs/brut-js/api/Message.js.html +0 -113
  833. data/docs/brut-js/api/PrefixedLogger.html +0 -369
  834. data/docs/brut-js/api/RichString.html +0 -1049
  835. data/docs/brut-js/api/RichString.js.html +0 -167
  836. data/docs/brut-js/api/Tabs.html +0 -295
  837. data/docs/brut-js/api/Tabs.js.html +0 -219
  838. data/docs/brut-js/api/Toast.html +0 -270
  839. data/docs/brut-js/api/Toast.js.html +0 -153
  840. data/docs/brut-js/api/Tracing.html +0 -277
  841. data/docs/brut-js/api/Tracing.js.html +0 -298
  842. data/docs/brut-js/api/external-CustomElementRegistry.html +0 -140
  843. data/docs/brut-js/api/external-Performance.html +0 -138
  844. data/docs/brut-js/api/external-Promise.html +0 -138
  845. data/docs/brut-js/api/external-ValidityState.html +0 -138
  846. data/docs/brut-js/api/external-Window.html +0 -233
  847. data/docs/brut-js/api/external-fetch.html +0 -138
  848. data/docs/brut-js/api/global.html +0 -400
  849. data/docs/brut-js/api/index.html +0 -168
  850. data/docs/brut-js/api/index.js.html +0 -184
  851. data/docs/brut-js/api/module-testing.html +0 -383
  852. data/docs/brut-js/api/scripts/linenumber.js +0 -25
  853. data/docs/brut-js/api/scripts/prettify/Apache-License-2.0.txt +0 -202
  854. data/docs/brut-js/api/scripts/prettify/lang-css.js +0 -2
  855. data/docs/brut-js/api/scripts/prettify/prettify.js +0 -28
  856. data/docs/brut-js/api/styles/jsdoc-default.css +0 -327
  857. data/docs/brut-js/api/styles/prettify-jsdoc.css +0 -111
  858. data/docs/brut-js/api/styles/prettify-tomorrow.css +0 -132
  859. data/docs/brut-js/api/testing.AssetMetadata.html +0 -172
  860. data/docs/brut-js/api/testing.AssetMetadataLoader.html +0 -171
  861. data/docs/brut-js/api/testing.CustomElementTest.html +0 -679
  862. data/docs/brut-js/api/testing.DOMCreator.html +0 -171
  863. data/docs/brut-js/api/testing_AssetMetadata.js.html +0 -86
  864. data/docs/brut-js/api/testing_AssetMetadataLoader.js.html +0 -76
  865. data/docs/brut-js/api/testing_CustomElementTest.js.html +0 -286
  866. data/docs/brut-js/api/testing_DOMCreator.js.html +0 -96
  867. data/docs/brut-js/api/testing_index.js.html +0 -99
  868. data/docs/brut-js.html +0 -40
  869. data/docs/business-logic.html +0 -29
  870. data/docs/cli.html +0 -150
  871. data/docs/components.html +0 -124
  872. data/docs/configuration.html +0 -106
  873. data/docs/css.html +0 -49
  874. data/docs/custom-element-tests.html +0 -97
  875. data/docs/database-access.html +0 -91
  876. data/docs/database-schema.html +0 -98
  877. data/docs/deployment.html +0 -83
  878. data/docs/dev-environment.html +0 -44
  879. data/docs/dir-structure.html +0 -74
  880. data/docs/doc-conventions.html +0 -29
  881. data/docs/end-to-end-tests.html +0 -56
  882. data/docs/favicon.ico +0 -0
  883. data/docs/features.html +0 -182
  884. data/docs/flash-and-session.html +0 -107
  885. data/docs/form-constraints.html +0 -118
  886. data/docs/forms.html +0 -92
  887. data/docs/getting-started.html +0 -59
  888. data/docs/handlers.html +0 -82
  889. data/docs/hashmap.json +0 -1
  890. data/docs/hooks.html +0 -108
  891. data/docs/i18n.html +0 -51
  892. data/docs/index.html +0 -29
  893. data/docs/instrumentation.html +0 -118
  894. data/docs/javascript.html +0 -59
  895. data/docs/jobs.html +0 -53
  896. data/docs/keyword-injection.html +0 -49
  897. data/docs/layouts.html +0 -96
  898. data/docs/lsp.html +0 -29
  899. data/docs/markdown-examples.html +0 -61
  900. data/docs/middleware.html +0 -48
  901. data/docs/overview.html +0 -29
  902. data/docs/pages.html +0 -73
  903. data/docs/recipes/alternate-layouts.html +0 -50
  904. data/docs/recipes/authentication.html +0 -185
  905. data/docs/recipes/custom-flash.html +0 -54
  906. data/docs/recipes/dev-env-secrets.html +0 -40
  907. data/docs/recipes/form-errors.html +0 -94
  908. data/docs/recipes/indexed-forms.html +0 -102
  909. data/docs/recipes/migrations.html +0 -125
  910. data/docs/recipes/text-field-component.html +0 -129
  911. data/docs/roadmap.html +0 -29
  912. data/docs/routes.html +0 -49
  913. data/docs/security.html +0 -29
  914. data/docs/seed-data.html +0 -42
  915. data/docs/space-time-continuum.html +0 -29
  916. data/docs/tutorial.html +0 -55
  917. data/docs/tutorials/01-intro.html +0 -736
  918. data/docs/tutorials/02-dialog.html +0 -302
  919. data/docs/unit-tests.html +0 -41
  920. data/docs/vp-icons.css +0 -1
  921. data/docs/why.html +0 -29
  922. data/docs-todo.md +0 -32
  923. data/dx/bash_customizations +0 -6
  924. data/dx/build +0 -73
  925. data/dx/build.pre +0 -15
  926. data/dx/docker-compose.env +0 -22
  927. data/dx/dx.sh.lib +0 -24
  928. data/dx/exec +0 -75
  929. data/dx/setupkit.sh.lib +0 -144
  930. data/dx/show-help-in-app-container-then-wait.sh +0 -38
  931. data/lib/brut/cli/app.rb +0 -238
  932. data/lib/brut/cli/app_runner.rb +0 -252
  933. data/lib/brut/cli/command.rb +0 -258
  934. data/lib/brut/cli/execution_results.rb +0 -119
  935. data/lib/brut/front_end/layouts/_internal.html.erb +0 -68
  936. data/lib/brut/front_end/pages/_missing_page.html.erb +0 -17
  937. data/mkbrut/.gitignore +0 -16
  938. data/mkbrut/CODE_OF_CONDUCT.txt +0 -100
  939. data/mkbrut/Gemfile +0 -3
  940. data/mkbrut/Gemfile.lock +0 -20
  941. data/mkbrut/LICENSE.txt +0 -370
  942. data/mkbrut/README.md +0 -145
  943. data/mkbrut/Rakefile +0 -2
  944. data/mkbrut/bin/build +0 -36
  945. data/mkbrut/bin/ci +0 -19
  946. data/mkbrut/bin/docs +0 -19
  947. data/mkbrut/bin/publish +0 -129
  948. data/mkbrut/bin/rake +0 -16
  949. data/mkbrut/bin/setup +0 -30
  950. data/mkbrut/brut-welcome.png +0 -0
  951. data/mkbrut/deploy/.dockerignore +0 -2
  952. data/mkbrut/deploy/Dockerfile +0 -25
  953. data/mkbrut/dx +0 -1
  954. data/mkbrut/exe/mkbrut +0 -5
  955. data/mkbrut/lib/mkbrut/app_name.rb +0 -29
  956. data/mkbrut/lib/mkbrut/app_options.rb +0 -36
  957. data/mkbrut/lib/mkbrut/cli.rb +0 -189
  958. data/mkbrut/lib/mkbrut/erb_binding_delegate.rb +0 -20
  959. data/mkbrut/lib/mkbrut/ops.rb +0 -17
  960. data/mkbrut/lib/mkbrut/organization.rb +0 -5
  961. data/mkbrut/lib/mkbrut/segments.rb +0 -8
  962. data/mkbrut/lib/mkbrut/version.rb +0 -3
  963. data/mkbrut/lib/mkbrut.rb +0 -20
  964. data/mkbrut/mkbrut.gemspec +0 -34
  965. data/mkbrut/templates/Base/app/src/front_end/images/LogoPylon.png +0 -0
  966. data/mkbrut/templates/Base/bin/build-assets +0 -7
  967. data/mkbrut/templates/Base/bin/ci +0 -39
  968. data/mkbrut/templates/Base/bin/db +0 -9
  969. data/mkbrut/templates/Base/bin/scaffold +0 -9
  970. data/mkbrut/templates/Base/bin/setup +0 -287
  971. data/mkbrut/templates/Base/bin/test +0 -9
  972. data/mkbrut/templates/Base/bin/test-server +0 -29
  973. data/mkbrut/templates/Base/dx/prune +0 -19
  974. data/mkbrut/templates/Base/dx/start +0 -30
  975. data/mkbrut/templates/Base/dx/stop +0 -23
  976. data/mkbrut/templates/segments/Heroku/deploy/heroku_config.rb +0 -27
  977. data/specs/brut/front_end/forms/input.spec.rb +0 -978
  978. data/specs/brut/front_end/forms/radio_button_group_input.spec.rb +0 -54
  979. data/specs/brut/front_end/forms/select_input.spec.rb +0 -54
  980. data/specs/brut/instrumentation/methods.spec.rb +0 -399
  981. data/specs/brut/junk_drawer.spec.rb +0 -79
  982. data/specs/spec_helper.rb +0 -27
  983. data/specs/support/matchers/have_constraint_violation.rb +0 -23
  984. data/specs/support/matchers.rb +0 -5
  985. data/specs/support.rb +0 -3
  986. /data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/prefixed_io.rb +0 -0
  987. /data/{mkbrut/templates → templates}/Base/.dockerignore +0 -0
  988. /data/{mkbrut/templates → templates}/Base/.env.development.erb +0 -0
  989. /data/{mkbrut/templates → templates}/Base/.env.test.erb +0 -0
  990. /data/{mkbrut/templates → templates}/Base/.gitignore +0 -0
  991. /data/{mkbrut/templates → templates}/Base/.projections.json +0 -0
  992. /data/{mkbrut/templates → templates}/Base/Dockerfile.dx +0 -0
  993. /data/{mkbrut/templates → templates}/Base/Gemfile.erb +0 -0
  994. /data/{mkbrut/templates → templates}/Base/Procfile.development +0 -0
  995. /data/{mkbrut/templates → templates}/Base/Procfile.test +0 -0
  996. /data/{mkbrut/templates → templates}/Base/README.md +0 -0
  997. /data/{mkbrut/templates → templates}/Base/README.md.erb +0 -0
  998. /data/{mkbrut/templates → templates}/Base/app/bootstrap.rb +0 -0
  999. /data/{mkbrut/templates → templates}/Base/app/config/i18n/en/1_defaults.rb +0 -0
  1000. /data/{mkbrut/templates → templates}/Base/app/config/i18n/en/2_app.rb +0 -0
  1001. /data/{mkbrut/templates → templates}/Base/app/public/static/manifest.json.erb +0 -0
  1002. /data/{mkbrut/templates → templates}/Base/app/src/app.rb.erb +0 -0
  1003. /data/{mkbrut/templates → templates}/Base/app/src/back_end/data_models/app_data_model.rb +0 -0
  1004. /data/{mkbrut/templates → templates}/Base/app/src/back_end/data_models/db.rb +0 -0
  1005. /data/{mkbrut/templates → templates}/Base/app/src/back_end/data_models/migrations/20240101130000_citext.rb +0 -0
  1006. /data/{mkbrut/templates → templates}/Base/app/src/back_end/data_models/seed/seed_data.rb +0 -0
  1007. /data/{mkbrut/templates → templates}/Base/app/src/front_end/components/app_component.rb +0 -0
  1008. /data/{mkbrut/templates → templates}/Base/app/src/front_end/components/custom_element_registration.rb.erb +0 -0
  1009. /data/{mkbrut/templates → templates}/Base/app/src/front_end/css/index.css +0 -0
  1010. /data/{mkbrut/templates → templates}/Base/app/src/front_end/css/svgs.css +0 -0
  1011. /data/{mkbrut/templates → templates}/Base/app/src/front_end/forms/app_form.rb +0 -0
  1012. /data/{mkbrut/templates → templates}/Base/app/src/front_end/handlers/app_handler.rb +0 -0
  1013. /data/{brutrb.com → templates/Base/app/src/front_end}/images/LogoPylon.png +0 -0
  1014. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/LogoTransit.png +0 -0
  1015. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/apple-touch-icon-120x120.png +0 -0
  1016. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/apple-touch-icon-152x152.png +0 -0
  1017. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/apple-touch-icon-167x167.png +0 -0
  1018. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/apple-touch-icon-180x180.png +0 -0
  1019. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/favicon.ico +0 -0
  1020. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/icon.png +0 -0
  1021. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/mkicons.sh +0 -0
  1022. /data/{mkbrut/templates → templates}/Base/app/src/front_end/js/index.js +0 -0
  1023. /data/{mkbrut/templates → templates}/Base/app/src/front_end/layouts/blank_layout.rb +0 -0
  1024. /data/{mkbrut/templates → templates}/Base/app/src/front_end/layouts/default_layout.rb.erb +0 -0
  1025. /data/{mkbrut/templates → templates}/Base/app/src/front_end/pages/app_page.rb +0 -0
  1026. /data/{mkbrut/templates → templates}/Base/app/src/front_end/pages/home_page.rb +0 -0
  1027. /data/{mkbrut/templates → templates}/Base/app/src/front_end/support/app_session.rb +0 -0
  1028. /data/{mkbrut/templates → templates}/Base/app/src/front_end/svgs/README.md +0 -0
  1029. /data/{mkbrut/templates → templates}/Base/app/src/front_end/svgs/comment-button.svg +0 -0
  1030. /data/{mkbrut/templates → templates}/Base/bin/README.md.erb +0 -0
  1031. /data/{mkbrut/templates → templates}/Base/bin/console +0 -0
  1032. /data/{mkbrut/templates → templates}/Base/bin/dbconsole +0 -0
  1033. /data/{mkbrut/templates → templates}/Base/bin/dev +0 -0
  1034. /data/{mkbrut/templates → templates}/Base/bin/run +0 -0
  1035. /data/{mkbrut/templates → templates}/Base/bin/run.run +0 -0
  1036. /data/{mkbrut/templates → templates}/Base/bin/startup-message +0 -0
  1037. /data/{mkbrut/templates → templates}/Base/config.ru +0 -0
  1038. /data/{mkbrut/templates → templates}/Base/docker-compose.dx.yml +0 -0
  1039. /data/{mkbrut/templates → templates}/Base/dx/README.md +0 -0
  1040. /data/{mkbrut/templates → templates}/Base/dx/bash_customizations +0 -0
  1041. /data/{mkbrut/templates → templates}/Base/dx/bash_customizations.local +0 -0
  1042. /data/{mkbrut/templates → templates}/Base/dx/build +0 -0
  1043. /data/{mkbrut/templates → templates}/Base/dx/dx.sh.lib +0 -0
  1044. /data/{mkbrut/templates → templates}/Base/dx/exec +0 -0
  1045. /data/{dx → templates/Base/dx}/prune +0 -0
  1046. /data/{mkbrut/templates → templates}/Base/dx/show-help-in-app-container-then-wait.sh +0 -0
  1047. /data/{dx → templates/Base/dx}/start +0 -0
  1048. /data/{dx → templates/Base/dx}/stop +0 -0
  1049. /data/{mkbrut/templates → templates}/Base/package.json.erb +0 -0
  1050. /data/{mkbrut/templates → templates}/Base/puma.config.rb +0 -0
  1051. /data/{mkbrut/templates → templates}/Base/specs/e2e/home_page.spec.rb.erb +0 -0
  1052. /data/{mkbrut/templates → templates}/Base/specs/front_end/js/SpecHelper.js +0 -0
  1053. /data/{mkbrut/templates → templates}/Base/specs/front_end/pages/home_page.spec.rb +0 -0
  1054. /data/{mkbrut/templates → templates}/Base/specs/lint_factories.spec.rb +0 -0
  1055. /data/{mkbrut/templates → templates}/Base/specs/spec_helper.rb +0 -0
  1056. /data/{mkbrut/templates → templates}/Base/specs/support.rb +0 -0
  1057. /data/{mkbrut/templates → templates}/segments/BareBones/app/src/front_end/handlers/trigger_exception_handler.rb +0 -0
  1058. /data/{mkbrut/templates → templates}/segments/BareBones/app/src/front_end/js/Example.js.erb +0 -0
  1059. /data/{mkbrut/templates → templates}/segments/BareBones/specs/front_end/handlers/trigger_exception_handler.spec.rb +0 -0
  1060. /data/{mkbrut/templates → templates}/segments/BareBones/specs/front_end/js/Example.spec.js.erb +0 -0
  1061. /data/{mkbrut/templates → templates}/segments/Demo/app/src/back_end/data_models/db/guestbook_message.rb +0 -0
  1062. /data/{mkbrut/templates → templates}/segments/Demo/app/src/back_end/data_models/migrations/20250628194124_guestbook.rb +0 -0
  1063. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/components/flash_component.rb +0 -0
  1064. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/css/constraint-violations.css +0 -0
  1065. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/fonts/monaspace-xenon.ttf +0 -0
  1066. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/forms/guestbook_message_form.rb +0 -0
  1067. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/handlers/guestbook_message_handler.rb +0 -0
  1068. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/pages/guestbook_page/message_component.rb +0 -0
  1069. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/pages/guestbook_page.rb +0 -0
  1070. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/pages/new_guestbook_message_page.rb +0 -0
  1071. /data/{mkbrut/templates → templates}/segments/Demo/specs/back_end/data_models/db/guestbook_message.spec.rb +0 -0
  1072. /data/{mkbrut/templates → templates}/segments/Demo/specs/e2e/guest_message.spec.rb +0 -0
  1073. /data/{mkbrut/templates → templates}/segments/Demo/specs/factories/db/guestbook_message.factory.rb +0 -0
  1074. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/components/flash_component.spec.rb +0 -0
  1075. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/handlers/guestbook_message_handler.spec.rb +0 -0
  1076. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/pages/guestbook_page/message_component.spec.rb +0 -0
  1077. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/pages/guestbook_page.spec.rb +0 -0
  1078. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/pages/new_guestbook_message_page.spec.rb +0 -0
  1079. /data/{mkbrut/templates → templates}/segments/Heroku/bin/deploy +0 -0
  1080. /data/{mkbrut/templates → templates}/segments/Heroku/deploy/docker-entrypoint +0 -0
  1081. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/boot_sidekiq.rb +0 -0
  1082. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/config/sidekiq.yml +0 -0
  1083. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/src/back_end/jobs/app_job.rb +0 -0
  1084. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/src/back_end/jobs/example_job.rb +0 -0
  1085. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/src/back_end/segments/sidekiq_segment.rb +0 -0
  1086. /data/{mkbrut/templates → templates}/segments/Sidekiq/bin/run.sidekiq +0 -0
  1087. /data/{mkbrut/templates → templates}/segments/Sidekiq/specs/back_end/jobs/example_job.spec.rb +0 -0
  1088. /data/{mkbrut/templates → templates}/segments/Sidekiq/specs/integration/sidekiq_works.spec.rb +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brut
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Bryant Copeland
@@ -247,6 +247,20 @@ dependencies:
247
247
  - - ">="
248
248
  - !ruby/object:Gem::Version
249
249
  version: '0'
250
+ - !ruby/object:Gem::Dependency
251
+ name: unicode-display_width
252
+ requirement: !ruby/object:Gem::Requirement
253
+ requirements:
254
+ - - ">="
255
+ - !ruby/object:Gem::Version
256
+ version: '0'
257
+ type: :runtime
258
+ prerelease: false
259
+ version_requirements: !ruby/object:Gem::Requirement
260
+ requirements:
261
+ - - ">="
262
+ - !ruby/object:Gem::Version
263
+ version: '0'
250
264
  - !ruby/object:Gem::Dependency
251
265
  name: activesupport
252
266
  requirement: !ruby/object:Gem::Requirement
@@ -275,6 +289,20 @@ dependencies:
275
289
  - - ">="
276
290
  - !ruby/object:Gem::Version
277
291
  version: '0'
292
+ - !ruby/object:Gem::Dependency
293
+ name: confidence-check
294
+ requirement: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: '0'
299
+ type: :development
300
+ prerelease: false
301
+ version_requirements: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - ">="
304
+ - !ruby/object:Gem::Version
305
+ version: '0'
278
306
  - !ruby/object:Gem::Dependency
279
307
  name: dotenv
280
308
  requirement: !ruby/object:Gem::Requirement
@@ -317,6 +345,20 @@ dependencies:
317
345
  - - ">="
318
346
  - !ruby/object:Gem::Version
319
347
  version: '0'
348
+ - !ruby/object:Gem::Dependency
349
+ name: pg
350
+ requirement: !ruby/object:Gem::Requirement
351
+ requirements:
352
+ - - ">="
353
+ - !ruby/object:Gem::Version
354
+ version: '0'
355
+ type: :development
356
+ prerelease: false
357
+ version_requirements: !ruby/object:Gem::Requirement
358
+ requirements:
359
+ - - ">="
360
+ - !ruby/object:Gem::Version
361
+ version: '0'
320
362
  - !ruby/object:Gem::Dependency
321
363
  name: rake
322
364
  requirement: !ruby/object:Gem::Requirement
@@ -401,6 +443,20 @@ dependencies:
401
443
  - - "~>"
402
444
  - !ruby/object:Gem::Version
403
445
  version: '3.0'
446
+ - !ruby/object:Gem::Dependency
447
+ name: with_clues
448
+ requirement: !ruby/object:Gem::Requirement
449
+ requirements:
450
+ - - ">="
451
+ - !ruby/object:Gem::Version
452
+ version: '0'
453
+ type: :development
454
+ prerelease: false
455
+ version_requirements: !ruby/object:Gem::Requirement
456
+ requirements:
457
+ - - ">="
458
+ - !ruby/object:Gem::Version
459
+ version: '0'
404
460
  - !ruby/object:Gem::Dependency
405
461
  name: yard
406
462
  requirement: !ruby/object:Gem::Requirement
@@ -418,832 +474,12 @@ dependencies:
418
474
  description: An opinionated web framework build on web standards
419
475
  email:
420
476
  - davec@thirdtank.com
421
- executables: []
477
+ executables:
478
+ - brut
422
479
  extensions: []
423
480
  extra_rdoc_files: []
424
481
  files:
425
- - ".gitignore"
426
- - ".projections.json"
427
- - CHANGELOG.md
428
- - CODE_OF_CONDUCT.txt
429
- - Dockerfile.dx
430
- - Gemfile
431
- - Gemfile.lock
432
- - LICENSE.txt
433
- - README.md
434
- - Rakefile
435
- - assets/Logo-Square.pxd
436
- - assets/LogoPylon.pxd
437
- - assets/LogoStop.pxd
438
- - assets/LogoTall.pxd
439
- - assets/MetroIcon.graffle
440
- - assets/MetroLogo.graffle
441
- - assets/SocialImage.png
442
- - assets/SocialImage.pxd
443
- - assets/YouTubeThumb.pxd
444
- - bin/bin_kit.rb
445
- - bin/build
446
- - bin/ci
447
- - bin/dev
448
- - bin/docs
449
- - bin/generate-and-run-rubocop
450
- - bin/new-version
451
- - bin/publish
452
- - bin/rake
453
- - bin/rspec
454
- - bin/rubocop
455
- - bin/setup
456
- - bin/test
457
- - brut-css/.nvim.lua
458
- - brut-css/README.md
459
- - brut-css/bin/build
460
- - brut-css/bin/ci
461
- - brut-css/bin/dev
462
- - brut-css/bin/docs
463
- - brut-css/bin/publish
464
- - brut-css/bin/setup
465
- - brut-css/config/media-queries-all.css
466
- - brut-css/config/media-queries-minimal.css
467
- - brut-css/config/postcss.config.cjs
468
- - brut-css/config/pseudo-classes-all.css
469
- - brut-css/dx
470
- - brut-css/package-lock.json
471
- - brut-css/package.json
472
- - brut-css/src/css/appearance.css
473
- - brut-css/src/css/border.css
474
- - brut-css/src/css/colors.css
475
- - brut-css/src/css/dimensions.css
476
- - brut-css/src/css/flex.css
477
- - brut-css/src/css/index.css
478
- - brut-css/src/css/layout.css
479
- - brut-css/src/css/list.css
480
- - brut-css/src/css/positioning.css
481
- - brut-css/src/css/properties/colors.css
482
- - brut-css/src/css/properties/index.css
483
- - brut-css/src/css/properties/spacing.css
484
- - brut-css/src/css/properties/typography.css
485
- - brut-css/src/css/reset.css
486
- - brut-css/src/css/spacing.css
487
- - brut-css/src/css/typography.css
488
- - brut-css/src/css/utils.css
489
- - brut-css/src/docs/1_getting-started/1_overview.md
490
- - brut-css/src/docs/1_getting-started/2_installation.md
491
- - brut-css/src/docs/1_getting-started/3_core-concepts.md
492
- - brut-css/src/docs/1_getting-started/4_simple-example.md
493
- - brut-css/src/docs/1_getting-started/page.html.ejs
494
- - brut-css/src/docs/2_properties/page.html.ejs
495
- - brut-css/src/docs/3_classes/color-demo.html.ejs
496
- - brut-css/src/docs/3_classes/page.html.ejs
497
- - brut-css/src/docs/4_customization/1_design-system.md
498
- - brut-css/src/docs/4_customization/2_breakpoints.md
499
- - brut-css/src/docs/4_customization/3_pseudo-classes.md
500
- - brut-css/src/docs/4_customization/4_advanced-configuration.md
501
- - brut-css/src/docs/4_customization/page.html.ejs
502
- - brut-css/src/docs/docs.css
503
- - brut-css/src/docs/includes/body-and-header.html.ejs
504
- - brut-css/src/docs/includes/footer-and-rest.html.ejs
505
- - brut-css/src/docs/includes/head.html.ejs
506
- - brut-css/src/docs/includes/nav.html.ejs
507
- - brut-css/src/docs/index.html.ejs
508
- - brut-css/src/docs/prism-twilight.min.css
509
- - brut-css/src/js/Logger.js
510
- - brut-css/src/js/build.js
511
- - brut-css/src/js/cli.js
512
- - brut-css/src/js/cli/CLIArgError.js
513
- - brut-css/src/js/cli/Debug.js
514
- - brut-css/src/js/cli/DocsDir.js
515
- - brut-css/src/js/cli/DocsTemplateSourceDir.js
516
- - brut-css/src/js/cli/InputFile.js
517
- - brut-css/src/js/cli/MediaQueryConfigFile.js
518
- - brut-css/src/js/cli/OutputFile.js
519
- - brut-css/src/js/cli/ParsedArg.js
520
- - brut-css/src/js/cli/PathToBrutCSSRoot.js
521
- - brut-css/src/js/cli/PseudoClassConfigFile.js
522
- - brut-css/src/js/docGenerator.js
523
- - brut-css/src/js/mediaQueryConfigParser.js
524
- - brut-css/src/js/post-css-plugins/addMediaQueriesPlugin.js
525
- - brut-css/src/js/post-css-plugins/addPseudoClassesPlugin.js
526
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin.js
527
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Category.js
528
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/DocState.js
529
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Documentable.js
530
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Group.js
531
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/ParsedComment.js
532
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Property.js
533
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/PropertyCategory.js
534
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/PropertyGroup.js
535
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Rule.js
536
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/RuleCategory.js
537
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/RuleGroup.js
538
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/SeeRef.js
539
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/SeeURL.js
540
- - brut-css/src/js/post-css-plugins/generateRootCustomPropertiesPlugin.js
541
- - brut-css/src/js/pseudoClassConfigParser.js
542
- - brut-js/.projections.json
543
- - brut-js/README.md
544
- - brut-js/bin/build
545
- - brut-js/bin/ci
546
- - brut-js/bin/docs
547
- - brut-js/bin/publish
548
- - brut-js/bin/setup
549
- - brut-js/docs/README.md
550
- - brut-js/docs/jsdoc-plugins/customElementTag.js
551
- - brut-js/docs/jsdoc-theme/publish.js
552
- - brut-js/docs/jsdoc-theme/static/scripts/linenumber.js
553
- - brut-js/docs/jsdoc-theme/static/scripts/prettify/Apache-License-2.0.txt
554
- - brut-js/docs/jsdoc-theme/static/scripts/prettify/lang-css.js
555
- - brut-js/docs/jsdoc-theme/static/scripts/prettify/prettify.js
556
- - brut-js/docs/jsdoc-theme/static/styles/jsdoc-default.css
557
- - brut-js/docs/jsdoc-theme/static/styles/prettify-jsdoc.css
558
- - brut-js/docs/jsdoc-theme/static/styles/prettify-tomorrow.css
559
- - brut-js/docs/jsdoc-theme/tmpl/augments.tmpl
560
- - brut-js/docs/jsdoc-theme/tmpl/container.tmpl
561
- - brut-js/docs/jsdoc-theme/tmpl/details.tmpl
562
- - brut-js/docs/jsdoc-theme/tmpl/example.tmpl
563
- - brut-js/docs/jsdoc-theme/tmpl/examples.tmpl
564
- - brut-js/docs/jsdoc-theme/tmpl/exceptions.tmpl
565
- - brut-js/docs/jsdoc-theme/tmpl/layout.tmpl
566
- - brut-js/docs/jsdoc-theme/tmpl/mainpage.tmpl
567
- - brut-js/docs/jsdoc-theme/tmpl/members.tmpl
568
- - brut-js/docs/jsdoc-theme/tmpl/method.tmpl
569
- - brut-js/docs/jsdoc-theme/tmpl/modifies.tmpl
570
- - brut-js/docs/jsdoc-theme/tmpl/params.tmpl
571
- - brut-js/docs/jsdoc-theme/tmpl/properties.tmpl
572
- - brut-js/docs/jsdoc-theme/tmpl/returns.tmpl
573
- - brut-js/docs/jsdoc-theme/tmpl/source.tmpl
574
- - brut-js/docs/jsdoc-theme/tmpl/tutorial.tmpl
575
- - brut-js/docs/jsdoc-theme/tmpl/type.tmpl
576
- - brut-js/docs/jsdoc.config.json
577
- - brut-js/docs/package-lock.json
578
- - brut-js/docs/package.json
579
- - brut-js/dx
580
- - brut-js/package-lock.json
581
- - brut-js/package.json
582
- - brut-js/specs/AjaxSubmit.spec.js
583
- - brut-js/specs/Autosubmit.spec.js
584
- - brut-js/specs/ConfirmSubmit.spec.js
585
- - brut-js/specs/ConstraintViolationMessage.spec.js
586
- - brut-js/specs/ConstraintViolationMessages.spec.js
587
- - brut-js/specs/CopyToClipboard.spec.js
588
- - brut-js/specs/Form.spec.js
589
- - brut-js/specs/I18nTranslation.spec.js
590
- - brut-js/specs/LocaleDetection.spec.js
591
- - brut-js/specs/Message.spec.js
592
- - brut-js/specs/SpecHelper.js
593
- - brut-js/specs/Tabs.spec.js
594
- - brut-js/specs/Toast.spec.js
595
- - brut-js/specs/config/asset_metadata.json
596
- - brut-js/src/AjaxSubmit.js
597
- - brut-js/src/Autosubmit.js
598
- - brut-js/src/BaseCustomElement.js
599
- - brut-js/src/ConfirmSubmit.js
600
- - brut-js/src/ConfirmationDialog.js
601
- - brut-js/src/ConstraintViolationMessage.js
602
- - brut-js/src/ConstraintViolationMessages.js
603
- - brut-js/src/CopyToClipboard.js
604
- - brut-js/src/Form.js
605
- - brut-js/src/I18nTranslation.js
606
- - brut-js/src/LocaleDetection.js
607
- - brut-js/src/Logger.js
608
- - brut-js/src/Message.js
609
- - brut-js/src/RichString.js
610
- - brut-js/src/Tabs.js
611
- - brut-js/src/Toast.js
612
- - brut-js/src/Tracing.js
613
- - brut-js/src/appForTestingOnly.js
614
- - brut-js/src/index.js
615
- - brut-js/src/testing/AssetMetadata.js
616
- - brut-js/src/testing/AssetMetadataLoader.js
617
- - brut-js/src/testing/CustomElementTest.js
618
- - brut-js/src/testing/DOMCreator.js
619
- - brut-js/src/testing/index.js
620
- - brut.gemspec
621
- - brutrb.com/.vitepress/config.mjs
622
- - brutrb.com/.vitepress/plugins/jsdocLinker.js
623
- - brutrb.com/.vitepress/plugins/rdocLinker.js
624
- - brutrb.com/.vitepress/theme/custom.css
625
- - brutrb.com/.vitepress/theme/index.js
626
- - brutrb.com/.vitepress/theme/style.css
627
- - brutrb.com/adrs.md
628
- - brutrb.com/ai.md
629
- - brutrb.com/assets.md
630
- - brutrb.com/bin/build
631
- - brutrb.com/bin/deploy
632
- - brutrb.com/bin/dev
633
- - brutrb.com/bin/setup
634
- - brutrb.com/brut-js.md
635
- - brutrb.com/business-logic.md
636
- - brutrb.com/cli.md
637
- - brutrb.com/components.md
638
- - brutrb.com/configuration.md
639
- - brutrb.com/css.md
640
- - brutrb.com/custom-element-tests.md
641
- - brutrb.com/database-access.md
642
- - brutrb.com/database-schema.md
643
- - brutrb.com/deployment.md
644
- - brutrb.com/dev-environment.md
645
- - brutrb.com/dir-structure.md
646
- - brutrb.com/doc-conventions.md
647
- - brutrb.com/dx
648
- - brutrb.com/end-to-end-tests.md
649
- - brutrb.com/features.md
650
- - brutrb.com/flash-and-session.md
651
- - brutrb.com/form-constraints.md
652
- - brutrb.com/forms.md
653
- - brutrb.com/getting-started.md
654
- - brutrb.com/handlers.md
655
- - brutrb.com/hooks.md
656
- - brutrb.com/i18n.md
657
- - brutrb.com/images/DevEnvironment.graffle
658
- - brutrb.com/images/DevEnvironment.png
659
- - brutrb.com/images/LogoPylon.png
660
- - brutrb.com/images/LogoSquare.png
661
- - brutrb.com/images/LogoStop.png
662
- - brutrb.com/images/LogoTall.png
663
- - brutrb.com/images/Makefile
664
- - brutrb.com/images/OverviewMetro.graffle
665
- - brutrb.com/images/OverviewMetro.png
666
- - brutrb.com/images/dev-env-overview.dot
667
- - brutrb.com/images/dev-env-overview.png
668
- - brutrb.com/images/dev-env-protocol.dot
669
- - brutrb.com/images/dev-env-protocol.png
670
- - brutrb.com/images/overview.graffle
671
- - brutrb.com/images/overview.png
672
- - brutrb.com/images/spa.dot
673
- - brutrb.com/images/spa.png
674
- - brutrb.com/images/tutorial/02-confirmation-dialog-browser-element-styled.png
675
- - brutrb.com/images/tutorial/02-confirmation-dialog-browser-element.png
676
- - brutrb.com/images/tutorial/02-confirmation-dialog-browser.png
677
- - brutrb.com/images/tutorial/02-confirmation-flow.graffle
678
- - brutrb.com/images/tutorial/02-confirmation-flow.png
679
- - brutrb.com/images/tutorial/basic-form-with-violations.png
680
- - brutrb.com/images/tutorial/basic-form.png
681
- - brutrb.com/images/tutorial/initial-home-page.png
682
- - brutrb.com/images/tutorial/new-post-editor.png
683
- - brutrb.com/images/tutorial/new-post-home-page.png
684
- - brutrb.com/images/tutorial/styled-form-with-server-side-violations.png
685
- - brutrb.com/images/tutorial/styled-form-with-violations.png
686
- - brutrb.com/images/tutorial/styled-home-page-with-posts.png
687
- - brutrb.com/images/tutorial/styled-home-page.png
688
- - brutrb.com/images/tutorial/welcome-to-brut.png
689
- - brutrb.com/images/workspace-protocol.dot
690
- - brutrb.com/images/workspace-protocol.png
691
- - brutrb.com/index.md
692
- - brutrb.com/instrumentation.md
693
- - brutrb.com/javascript.md
694
- - brutrb.com/jobs.md
695
- - brutrb.com/keyword-injection.md
696
- - brutrb.com/layouts.md
697
- - brutrb.com/lsp.md
698
- - brutrb.com/markdown-examples.md
699
- - brutrb.com/middleware.md
700
- - brutrb.com/overview.md
701
- - brutrb.com/package-lock.json
702
- - brutrb.com/package.json
703
- - brutrb.com/pages.md
704
- - brutrb.com/public/SocialImage.png
705
- - brutrb.com/public/favicon.ico
706
- - brutrb.com/recipes/alternate-layouts.md
707
- - brutrb.com/recipes/authentication.md
708
- - brutrb.com/recipes/custom-flash.md
709
- - brutrb.com/recipes/dev-env-secrets.md
710
- - brutrb.com/recipes/form-errors.md
711
- - brutrb.com/recipes/indexed-forms.md
712
- - brutrb.com/recipes/migrations.md
713
- - brutrb.com/recipes/text-field-component.md
714
- - brutrb.com/roadmap.md
715
- - brutrb.com/routes.md
716
- - brutrb.com/security.md
717
- - brutrb.com/seed-data.md
718
- - brutrb.com/space-time-continuum.md
719
- - brutrb.com/tutorial.md
720
- - brutrb.com/tutorials/01-intro.md
721
- - brutrb.com/tutorials/02-dialog.md
722
- - brutrb.com/unit-tests.md
723
- - brutrb.com/why.md
724
- - docker-compose.dx.yml
725
- - docs-todo.md
726
- - docs/404.html
727
- - docs/CNAME
728
- - docs/SocialImage.png
729
- - docs/adrs.html
730
- - docs/ai.html
731
- - docs/api/Brut.html
732
- - docs/api/Brut/BackEnd.html
733
- - docs/api/Brut/BackEnd/SeedData.html
734
- - docs/api/Brut/BackEnd/Sidekiq.html
735
- - docs/api/Brut/BackEnd/Sidekiq/Middlewares.html
736
- - docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html
737
- - docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html
738
- - docs/api/Brut/BackEnd/Validators.html
739
- - docs/api/Brut/BackEnd/Validators/FormValidator.html
740
- - docs/api/Brut/CLI.html
741
- - docs/api/Brut/CLI/App.html
742
- - docs/api/Brut/CLI/AppRunner.html
743
- - docs/api/Brut/CLI/Apps.html
744
- - docs/api/Brut/CLI/Apps/BuildAssets.html
745
- - docs/api/Brut/CLI/Apps/BuildAssets/All.html
746
- - docs/api/Brut/CLI/Apps/BuildAssets/CSS.html
747
- - docs/api/Brut/CLI/Apps/BuildAssets/Images.html
748
- - docs/api/Brut/CLI/Apps/BuildAssets/JS.html
749
- - docs/api/Brut/CLI/Apps/DB.html
750
- - docs/api/Brut/CLI/Apps/DB/Create.html
751
- - docs/api/Brut/CLI/Apps/DB/Drop.html
752
- - docs/api/Brut/CLI/Apps/DB/Migrate.html
753
- - docs/api/Brut/CLI/Apps/DB/NewMigration.html
754
- - docs/api/Brut/CLI/Apps/DB/Rebuild.html
755
- - docs/api/Brut/CLI/Apps/DB/Seed.html
756
- - docs/api/Brut/CLI/Apps/DB/Status.html
757
- - docs/api/Brut/CLI/Apps/DeployBase.html
758
- - docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html
759
- - docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html
760
- - docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html
761
- - docs/api/Brut/CLI/Apps/Scaffold.html
762
- - docs/api/Brut/CLI/Apps/Scaffold/Action.html
763
- - docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html
764
- - docs/api/Brut/CLI/Apps/Scaffold/Component.html
765
- - docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html
766
- - docs/api/Brut/CLI/Apps/Scaffold/DbModel.html
767
- - docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html
768
- - docs/api/Brut/CLI/Apps/Scaffold/Form.html
769
- - docs/api/Brut/CLI/Apps/Scaffold/Page.html
770
- - docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html
771
- - docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html
772
- - docs/api/Brut/CLI/Apps/Scaffold/Test.html
773
- - docs/api/Brut/CLI/Apps/Test.html
774
- - docs/api/Brut/CLI/Apps/Test/Audit.html
775
- - docs/api/Brut/CLI/Apps/Test/E2e.html
776
- - docs/api/Brut/CLI/Apps/Test/JS.html
777
- - docs/api/Brut/CLI/Apps/Test/Run.html
778
- - docs/api/Brut/CLI/Command.html
779
- - docs/api/Brut/CLI/Error.html
780
- - docs/api/Brut/CLI/ExecutionResults.html
781
- - docs/api/Brut/CLI/ExecutionResults/Result.html
782
- - docs/api/Brut/CLI/Executor.html
783
- - docs/api/Brut/CLI/InvalidOption.html
784
- - docs/api/Brut/CLI/Options.html
785
- - docs/api/Brut/CLI/Output.html
786
- - docs/api/Brut/CLI/SystemExecError.html
787
- - docs/api/Brut/FactoryBot.html
788
- - docs/api/Brut/Framework.html
789
- - docs/api/Brut/Framework/App.html
790
- - docs/api/Brut/Framework/Config.html
791
- - docs/api/Brut/Framework/Container.html
792
- - docs/api/Brut/Framework/Error.html
793
- - docs/api/Brut/Framework/Errors.html
794
- - docs/api/Brut/Framework/Errors/AbstractMethod.html
795
- - docs/api/Brut/Framework/Errors/Bug.html
796
- - docs/api/Brut/Framework/Errors/MissingConfiguration.html
797
- - docs/api/Brut/Framework/Errors/MissingParameter.html
798
- - docs/api/Brut/Framework/Errors/NoClassForPath.html
799
- - docs/api/Brut/Framework/Errors/NotFound.html
800
- - docs/api/Brut/Framework/Errors/NotImplemented.html
801
- - docs/api/Brut/Framework/FussyTypeEnforcement.html
802
- - docs/api/Brut/Framework/MCP.html
803
- - docs/api/Brut/Framework/ProjectEnvironment.html
804
- - docs/api/Brut/FrontEnd.html
805
- - docs/api/Brut/FrontEnd/AssetPathResolver.html
806
- - docs/api/Brut/FrontEnd/Component.html
807
- - docs/api/Brut/FrontEnd/Component/Helpers.html
808
- - docs/api/Brut/FrontEnd/Components.html
809
- - docs/api/Brut/FrontEnd/Components/ConstraintViolations.html
810
- - docs/api/Brut/FrontEnd/Components/FormTag.html
811
- - docs/api/Brut/FrontEnd/Components/I18nTranslations.html
812
- - docs/api/Brut/FrontEnd/Components/Input.html
813
- - docs/api/Brut/FrontEnd/Components/Inputs.html
814
- - docs/api/Brut/FrontEnd/Components/Inputs/ButtonTag.html
815
- - docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html
816
- - docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html
817
- - docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html
818
- - docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html
819
- - docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html
820
- - docs/api/Brut/FrontEnd/Components/LocaleDetection.html
821
- - docs/api/Brut/FrontEnd/Components/PageIdentifier.html
822
- - docs/api/Brut/FrontEnd/Components/TimeTag.html
823
- - docs/api/Brut/FrontEnd/Components/Traceparent.html
824
- - docs/api/Brut/FrontEnd/CsrfProtector.html
825
- - docs/api/Brut/FrontEnd/Download.html
826
- - docs/api/Brut/FrontEnd/Flash.html
827
- - docs/api/Brut/FrontEnd/Form.html
828
- - docs/api/Brut/FrontEnd/Forms.html
829
- - docs/api/Brut/FrontEnd/Forms/Button.html
830
- - docs/api/Brut/FrontEnd/Forms/ButtonInputDefinition.html
831
- - docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html
832
- - docs/api/Brut/FrontEnd/Forms/Input.html
833
- - docs/api/Brut/FrontEnd/Forms/Input/Color.html
834
- - docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html
835
- - docs/api/Brut/FrontEnd/Forms/InputDeclarations.html
836
- - docs/api/Brut/FrontEnd/Forms/InputDefinition.html
837
- - docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html
838
- - docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html
839
- - docs/api/Brut/FrontEnd/Forms/SelectInput.html
840
- - docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html
841
- - docs/api/Brut/FrontEnd/Forms/ValidityState.html
842
- - docs/api/Brut/FrontEnd/GenericResponse.html
843
- - docs/api/Brut/FrontEnd/Handler.html
844
- - docs/api/Brut/FrontEnd/Handlers.html
845
- - docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html
846
- - docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html
847
- - docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html
848
- - docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html
849
- - docs/api/Brut/FrontEnd/Handlers/MissingHandler.html
850
- - docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html
851
- - docs/api/Brut/FrontEnd/HandlingResults.html
852
- - docs/api/Brut/FrontEnd/HttpMethod.html
853
- - docs/api/Brut/FrontEnd/HttpStatus.html
854
- - docs/api/Brut/FrontEnd/InlineSvgLocator.html
855
- - docs/api/Brut/FrontEnd/Layout.html
856
- - docs/api/Brut/FrontEnd/Middleware.html
857
- - docs/api/Brut/FrontEnd/Middlewares.html
858
- - docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html
859
- - docs/api/Brut/FrontEnd/Middlewares/Favicon.html
860
- - docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html
861
- - docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html
862
- - docs/api/Brut/FrontEnd/Page.html
863
- - docs/api/Brut/FrontEnd/Pages.html
864
- - docs/api/Brut/FrontEnd/Pages/MissingPage.html
865
- - docs/api/Brut/FrontEnd/RequestContext.html
866
- - docs/api/Brut/FrontEnd/RouteHook.html
867
- - docs/api/Brut/FrontEnd/RouteHooks.html
868
- - docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html
869
- - docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html
870
- - docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html
871
- - docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html
872
- - docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html
873
- - docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html
874
- - docs/api/Brut/FrontEnd/Routing.html
875
- - docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html
876
- - docs/api/Brut/FrontEnd/Routing/FormRoute.html
877
- - docs/api/Brut/FrontEnd/Routing/MissingForm.html
878
- - docs/api/Brut/FrontEnd/Routing/MissingHandler.html
879
- - docs/api/Brut/FrontEnd/Routing/MissingPage.html
880
- - docs/api/Brut/FrontEnd/Routing/MissingPath.html
881
- - docs/api/Brut/FrontEnd/Routing/PageRoute.html
882
- - docs/api/Brut/FrontEnd/Routing/Route.html
883
- - docs/api/Brut/FrontEnd/Session.html
884
- - docs/api/Brut/I18n.html
885
- - docs/api/Brut/I18n/BaseMethods.html
886
- - docs/api/Brut/I18n/ForBackEnd.html
887
- - docs/api/Brut/I18n/ForCLI.html
888
- - docs/api/Brut/I18n/ForHTML.html
889
- - docs/api/Brut/I18n/HTTPAcceptLanguage.html
890
- - docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html
891
- - docs/api/Brut/Instrumentation.html
892
- - docs/api/Brut/Instrumentation/LoggerSpanExporter.html
893
- - docs/api/Brut/Instrumentation/Methods.html
894
- - docs/api/Brut/Instrumentation/Methods/ClassMethods.html
895
- - docs/api/Brut/Instrumentation/OpenTelemetry.html
896
- - docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html
897
- - docs/api/Brut/Instrumentation/OpenTelemetry/Span.html
898
- - docs/api/Brut/RubocopConfig.html
899
- - docs/api/Brut/SinatraHelpers.html
900
- - docs/api/Brut/SinatraHelpers/ClassMethods.html
901
- - docs/api/Brut/SpecSupport.html
902
- - docs/api/Brut/SpecSupport/ClockSupport.html
903
- - docs/api/Brut/SpecSupport/ComponentSupport.html
904
- - docs/api/Brut/SpecSupport/E2ETestServer.html
905
- - docs/api/Brut/SpecSupport/E2eSupport.html
906
- - docs/api/Brut/SpecSupport/EnhancedNode.html
907
- - docs/api/Brut/SpecSupport/FlashSupport.html
908
- - docs/api/Brut/SpecSupport/GeneralSupport.html
909
- - docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html
910
- - docs/api/Brut/SpecSupport/HandlerSupport.html
911
- - docs/api/Brut/SpecSupport/Matchers.html
912
- - docs/api/Brut/SpecSupport/Matchers/BeABug.html
913
- - docs/api/Brut/SpecSupport/Matchers/BePageFor.html
914
- - docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html
915
- - docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html
916
- - docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html
917
- - docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html
918
- - docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html
919
- - docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html
920
- - docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html
921
- - docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html
922
- - docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html
923
- - docs/api/Brut/SpecSupport/RSpecSetup.html
924
- - docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html
925
- - docs/api/Brut/SpecSupport/SessionSupport.html
926
- - docs/api/Clock.html
927
- - docs/api/ModuleName.html
928
- - docs/api/RichString.html
929
- - docs/api/SemanticLogger/Appender/Async.html
930
- - docs/api/Sequel.html
931
- - docs/api/Sequel/Extensions.html
932
- - docs/api/Sequel/Extensions/BrutInstrumentation.html
933
- - docs/api/Sequel/Extensions/BrutMigrations.html
934
- - docs/api/Sequel/Plugins.html
935
- - docs/api/Sequel/Plugins/CreatedAt.html
936
- - docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html
937
- - docs/api/Sequel/Plugins/ExternalId.html
938
- - docs/api/Sequel/Plugins/ExternalId/ClassMethods.html
939
- - docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html
940
- - docs/api/Sequel/Plugins/FindBang.html
941
- - docs/api/Sequel/Plugins/FindBang/ClassMethods.html
942
- - docs/api/_index.html
943
- - docs/api/class_list.html
944
- - docs/api/css/common.css
945
- - docs/api/css/full_list.css
946
- - docs/api/css/style.css
947
- - docs/api/file.README.html
948
- - docs/api/file_list.html
949
- - docs/api/frames.html
950
- - docs/api/index.html
951
- - docs/api/js/app.js
952
- - docs/api/js/full_list.js
953
- - docs/api/js/jquery.js
954
- - docs/api/method_list.html
955
- - docs/api/top-level-namespace.html
956
- - docs/assets.html
957
- - docs/assets/02-confirmation-dialog-browser-element-styled.3NEGM20-.png
958
- - docs/assets/02-confirmation-dialog-browser-element.DPsf0xUW.png
959
- - docs/assets/02-confirmation-dialog-browser.DH8ALFO4.png
960
- - docs/assets/02-confirmation-flow.D9gZ0S5U.png
961
- - docs/assets/DevEnvironment.DaFcVfwP.png
962
- - docs/assets/LogoStop.Gb3tDhL1.png
963
- - docs/assets/OverviewMetro.DUS-5fUZ.png
964
- - docs/assets/adrs.md.YglbWtQe.js
965
- - docs/assets/adrs.md.YglbWtQe.lean.js
966
- - docs/assets/ai.md.ChLnvDAX.js
967
- - docs/assets/ai.md.ChLnvDAX.lean.js
968
- - docs/assets/app.CovevI7X.js
969
- - docs/assets/assets.md.BEF6Oz6K.js
970
- - docs/assets/assets.md.BEF6Oz6K.lean.js
971
- - docs/assets/basic-form-with-violations.Cv6Y9-Q_.png
972
- - docs/assets/basic-form.DbHnu0oW.png
973
- - docs/assets/brut-js.md.BMz0X1Rz.js
974
- - docs/assets/brut-js.md.BMz0X1Rz.lean.js
975
- - docs/assets/business-logic.md.DbuaOYGU.js
976
- - docs/assets/business-logic.md.DbuaOYGU.lean.js
977
- - docs/assets/chunks/@localSearchIndexroot.BiNc3tFI.js
978
- - docs/assets/chunks/VPLocalSearchBox.CrvLAvKW.js
979
- - docs/assets/chunks/framework.C4nOkCZI.js
980
- - docs/assets/chunks/theme.BAi5_yQI.js
981
- - docs/assets/cli.md.DDMar_51.js
982
- - docs/assets/cli.md.DDMar_51.lean.js
983
- - docs/assets/components.md.9sqJ27Oc.js
984
- - docs/assets/components.md.9sqJ27Oc.lean.js
985
- - docs/assets/configuration.md.Cb_oAR8Z.js
986
- - docs/assets/configuration.md.Cb_oAR8Z.lean.js
987
- - docs/assets/css.md.K5rOCOQY.js
988
- - docs/assets/css.md.K5rOCOQY.lean.js
989
- - docs/assets/custom-element-tests.md.DiLe-eFw.js
990
- - docs/assets/custom-element-tests.md.DiLe-eFw.lean.js
991
- - docs/assets/database-access.md.Dc8l2Plf.js
992
- - docs/assets/database-access.md.Dc8l2Plf.lean.js
993
- - docs/assets/database-schema.md.BJ_JhXmO.js
994
- - docs/assets/database-schema.md.BJ_JhXmO.lean.js
995
- - docs/assets/deployment.md.CHTx2eTR.js
996
- - docs/assets/deployment.md.CHTx2eTR.lean.js
997
- - docs/assets/dev-env-protocol.DysDAtnz.png
998
- - docs/assets/dev-environment.md.B1S9p5ZK.js
999
- - docs/assets/dev-environment.md.B1S9p5ZK.lean.js
1000
- - docs/assets/dir-structure.md.D1T2kGwj.js
1001
- - docs/assets/dir-structure.md.D1T2kGwj.lean.js
1002
- - docs/assets/doc-conventions.md.CDnWaEFg.js
1003
- - docs/assets/doc-conventions.md.CDnWaEFg.lean.js
1004
- - docs/assets/end-to-end-tests.md.BJJdNDYL.js
1005
- - docs/assets/end-to-end-tests.md.BJJdNDYL.lean.js
1006
- - docs/assets/features.md.BDWxnyNO.js
1007
- - docs/assets/features.md.BDWxnyNO.lean.js
1008
- - docs/assets/flash-and-session.md.CUsMxoNl.js
1009
- - docs/assets/flash-and-session.md.CUsMxoNl.lean.js
1010
- - docs/assets/form-constraints.md.KlfXSKm2.js
1011
- - docs/assets/form-constraints.md.KlfXSKm2.lean.js
1012
- - docs/assets/forms.md.BdpYpNIk.js
1013
- - docs/assets/forms.md.BdpYpNIk.lean.js
1014
- - docs/assets/getting-started.md.CKpNGvno.js
1015
- - docs/assets/getting-started.md.CKpNGvno.lean.js
1016
- - docs/assets/handlers.md.C5tUwmmo.js
1017
- - docs/assets/handlers.md.C5tUwmmo.lean.js
1018
- - docs/assets/hooks.md.CoiYCKRc.js
1019
- - docs/assets/hooks.md.CoiYCKRc.lean.js
1020
- - docs/assets/i18n.md.DxkCKhUw.js
1021
- - docs/assets/i18n.md.DxkCKhUw.lean.js
1022
- - docs/assets/index.md.DnphWyQd.js
1023
- - docs/assets/index.md.DnphWyQd.lean.js
1024
- - docs/assets/initial-home-page.DNIaYmgP.png
1025
- - docs/assets/instrumentation.md.BcxjC4jd.js
1026
- - docs/assets/instrumentation.md.BcxjC4jd.lean.js
1027
- - docs/assets/javascript.md.D6fxhaQb.js
1028
- - docs/assets/javascript.md.D6fxhaQb.lean.js
1029
- - docs/assets/jobs.md.Bi3qb3v6.js
1030
- - docs/assets/jobs.md.Bi3qb3v6.lean.js
1031
- - docs/assets/keyword-injection.md.CqLnnzIz.js
1032
- - docs/assets/keyword-injection.md.CqLnnzIz.lean.js
1033
- - docs/assets/layouts.md.HEbeK7Jr.js
1034
- - docs/assets/layouts.md.HEbeK7Jr.lean.js
1035
- - docs/assets/lsp.md.bE9dW8n9.js
1036
- - docs/assets/lsp.md.bE9dW8n9.lean.js
1037
- - docs/assets/markdown-examples.md.BPmtHlc-.js
1038
- - docs/assets/markdown-examples.md.BPmtHlc-.lean.js
1039
- - docs/assets/middleware.md.BhOIsg59.js
1040
- - docs/assets/middleware.md.BhOIsg59.lean.js
1041
- - docs/assets/new-post-editor.DrHr-5oh.png
1042
- - docs/assets/new-post-home-page.Bm34lyMg.png
1043
- - docs/assets/overview.md.BpWAgPFH.js
1044
- - docs/assets/overview.md.BpWAgPFH.lean.js
1045
- - docs/assets/pages.md.B3sQXpEd.js
1046
- - docs/assets/pages.md.B3sQXpEd.lean.js
1047
- - docs/assets/recipes_alternate-layouts.md.C1QzVkA7.js
1048
- - docs/assets/recipes_alternate-layouts.md.C1QzVkA7.lean.js
1049
- - docs/assets/recipes_authentication.md.CyvoIW82.js
1050
- - docs/assets/recipes_authentication.md.CyvoIW82.lean.js
1051
- - docs/assets/recipes_custom-flash.md.6gFqf2uL.js
1052
- - docs/assets/recipes_custom-flash.md.6gFqf2uL.lean.js
1053
- - docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.js
1054
- - docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.lean.js
1055
- - docs/assets/recipes_form-errors.md.B5ptSzMO.js
1056
- - docs/assets/recipes_form-errors.md.B5ptSzMO.lean.js
1057
- - docs/assets/recipes_indexed-forms.md.BYYQGW2C.js
1058
- - docs/assets/recipes_indexed-forms.md.BYYQGW2C.lean.js
1059
- - docs/assets/recipes_migrations.md.Cid7-3cu.js
1060
- - docs/assets/recipes_migrations.md.Cid7-3cu.lean.js
1061
- - docs/assets/recipes_text-field-component.md.VhOsCtKI.js
1062
- - docs/assets/recipes_text-field-component.md.VhOsCtKI.lean.js
1063
- - docs/assets/roadmap.md.DqC1Y7Zt.js
1064
- - docs/assets/roadmap.md.DqC1Y7Zt.lean.js
1065
- - docs/assets/routes.md.C1dgIBtD.js
1066
- - docs/assets/routes.md.C1dgIBtD.lean.js
1067
- - docs/assets/security.md.Jn4SY1uK.js
1068
- - docs/assets/security.md.Jn4SY1uK.lean.js
1069
- - docs/assets/seed-data.md.UZW0WxYN.js
1070
- - docs/assets/seed-data.md.UZW0WxYN.lean.js
1071
- - docs/assets/spa.qejUdp-5.png
1072
- - docs/assets/space-time-continuum.md.D9rYGDFH.js
1073
- - docs/assets/space-time-continuum.md.D9rYGDFH.lean.js
1074
- - docs/assets/style.B1z60PPQ.css
1075
- - docs/assets/styled-form-with-server-side-violations.Bjxd8Dpv.png
1076
- - docs/assets/styled-form-with-violations.Bv_sa9tg.png
1077
- - docs/assets/styled-home-page-with-posts.Dd4kG89D.png
1078
- - docs/assets/styled-home-page.BzdI7dWz.png
1079
- - docs/assets/tutorial.md.BX6f6l00.js
1080
- - docs/assets/tutorial.md.BX6f6l00.lean.js
1081
- - docs/assets/tutorials_01-intro.md.CzZ3kpF_.js
1082
- - docs/assets/tutorials_01-intro.md.CzZ3kpF_.lean.js
1083
- - docs/assets/tutorials_02-dialog.md.Z_DOF2mU.js
1084
- - docs/assets/tutorials_02-dialog.md.Z_DOF2mU.lean.js
1085
- - docs/assets/unit-tests.md.vDsdBbO_.js
1086
- - docs/assets/unit-tests.md.vDsdBbO_.lean.js
1087
- - docs/assets/welcome-to-brut.VSWzl17-.png
1088
- - docs/assets/why.md.4WpxdrQ2.js
1089
- - docs/assets/why.md.4WpxdrQ2.lean.js
1090
- - docs/assets/workspace-protocol.C0gXsoDb.png
1091
- - docs/brut-css/brut.max.css
1092
- - docs/brut-css/classes/appearances.html
1093
- - docs/brut-css/classes/background-colors.html
1094
- - docs/brut-css/classes/border-colors.html
1095
- - docs/brut-css/classes/borders.html
1096
- - docs/brut-css/classes/dimensions.html
1097
- - docs/brut-css/classes/flex.html
1098
- - docs/brut-css/classes/foreground-colors.html
1099
- - docs/brut-css/classes/junk-drawer.html
1100
- - docs/brut-css/classes/layout.html
1101
- - docs/brut-css/classes/lists.html
1102
- - docs/brut-css/classes/positioning.html
1103
- - docs/brut-css/classes/spacings.html
1104
- - docs/brut-css/classes/typography.html
1105
- - docs/brut-css/customization/advanced-configuration.html
1106
- - docs/brut-css/customization/breakpoints.html
1107
- - docs/brut-css/customization/design-system.html
1108
- - docs/brut-css/customization/pseudo-classes.html
1109
- - docs/brut-css/docs.css
1110
- - docs/brut-css/getting-started/core-concepts.html
1111
- - docs/brut-css/getting-started/installation.html
1112
- - docs/brut-css/getting-started/overview.html
1113
- - docs/brut-css/getting-started/simple-example.html
1114
- - docs/brut-css/index.html
1115
- - docs/brut-css/prism-twilight.min.css
1116
- - docs/brut-css/properties/colors.html
1117
- - docs/brut-css/properties/spacings.html
1118
- - docs/brut-css/properties/typography.html
1119
- - docs/brut-js.html
1120
- - docs/brut-js/api/AjaxSubmit.html
1121
- - docs/brut-js/api/AjaxSubmit.js.html
1122
- - docs/brut-js/api/Autosubmit.html
1123
- - docs/brut-js/api/Autosubmit.js.html
1124
- - docs/brut-js/api/BaseCustomElement.html
1125
- - docs/brut-js/api/BaseCustomElement.js.html
1126
- - docs/brut-js/api/BrutCustomElements.html
1127
- - docs/brut-js/api/BufferedLogger.html
1128
- - docs/brut-js/api/ConfirmSubmit.html
1129
- - docs/brut-js/api/ConfirmSubmit.js.html
1130
- - docs/brut-js/api/ConfirmationDialog.html
1131
- - docs/brut-js/api/ConfirmationDialog.js.html
1132
- - docs/brut-js/api/ConstraintViolationMessage.html
1133
- - docs/brut-js/api/ConstraintViolationMessage.js.html
1134
- - docs/brut-js/api/ConstraintViolationMessages.html
1135
- - docs/brut-js/api/ConstraintViolationMessages.js.html
1136
- - docs/brut-js/api/CopyToClipboard.html
1137
- - docs/brut-js/api/CopyToClipboard.js.html
1138
- - docs/brut-js/api/Form.html
1139
- - docs/brut-js/api/Form.js.html
1140
- - docs/brut-js/api/I18nTranslation.html
1141
- - docs/brut-js/api/I18nTranslation.js.html
1142
- - docs/brut-js/api/LocaleDetection.html
1143
- - docs/brut-js/api/LocaleDetection.js.html
1144
- - docs/brut-js/api/Logger.html
1145
- - docs/brut-js/api/Logger.js.html
1146
- - docs/brut-js/api/Message.html
1147
- - docs/brut-js/api/Message.js.html
1148
- - docs/brut-js/api/PrefixedLogger.html
1149
- - docs/brut-js/api/RichString.html
1150
- - docs/brut-js/api/RichString.js.html
1151
- - docs/brut-js/api/Tabs.html
1152
- - docs/brut-js/api/Tabs.js.html
1153
- - docs/brut-js/api/Toast.html
1154
- - docs/brut-js/api/Toast.js.html
1155
- - docs/brut-js/api/Tracing.html
1156
- - docs/brut-js/api/Tracing.js.html
1157
- - docs/brut-js/api/external-CustomElementRegistry.html
1158
- - docs/brut-js/api/external-Performance.html
1159
- - docs/brut-js/api/external-Promise.html
1160
- - docs/brut-js/api/external-ValidityState.html
1161
- - docs/brut-js/api/external-Window.html
1162
- - docs/brut-js/api/external-fetch.html
1163
- - docs/brut-js/api/global.html
1164
- - docs/brut-js/api/index.html
1165
- - docs/brut-js/api/index.js.html
1166
- - docs/brut-js/api/module-testing.html
1167
- - docs/brut-js/api/scripts/linenumber.js
1168
- - docs/brut-js/api/scripts/prettify/Apache-License-2.0.txt
1169
- - docs/brut-js/api/scripts/prettify/lang-css.js
1170
- - docs/brut-js/api/scripts/prettify/prettify.js
1171
- - docs/brut-js/api/styles/jsdoc-default.css
1172
- - docs/brut-js/api/styles/prettify-jsdoc.css
1173
- - docs/brut-js/api/styles/prettify-tomorrow.css
1174
- - docs/brut-js/api/testing.AssetMetadata.html
1175
- - docs/brut-js/api/testing.AssetMetadataLoader.html
1176
- - docs/brut-js/api/testing.CustomElementTest.html
1177
- - docs/brut-js/api/testing.DOMCreator.html
1178
- - docs/brut-js/api/testing_AssetMetadata.js.html
1179
- - docs/brut-js/api/testing_AssetMetadataLoader.js.html
1180
- - docs/brut-js/api/testing_CustomElementTest.js.html
1181
- - docs/brut-js/api/testing_DOMCreator.js.html
1182
- - docs/brut-js/api/testing_index.js.html
1183
- - docs/business-logic.html
1184
- - docs/cli.html
1185
- - docs/components.html
1186
- - docs/configuration.html
1187
- - docs/css.html
1188
- - docs/custom-element-tests.html
1189
- - docs/database-access.html
1190
- - docs/database-schema.html
1191
- - docs/deployment.html
1192
- - docs/dev-environment.html
1193
- - docs/dir-structure.html
1194
- - docs/doc-conventions.html
1195
- - docs/end-to-end-tests.html
1196
- - docs/favicon.ico
1197
- - docs/features.html
1198
- - docs/flash-and-session.html
1199
- - docs/form-constraints.html
1200
- - docs/forms.html
1201
- - docs/getting-started.html
1202
- - docs/handlers.html
1203
- - docs/hashmap.json
1204
- - docs/hooks.html
1205
- - docs/i18n.html
1206
- - docs/index.html
1207
- - docs/instrumentation.html
1208
- - docs/javascript.html
1209
- - docs/jobs.html
1210
- - docs/keyword-injection.html
1211
- - docs/layouts.html
1212
- - docs/lsp.html
1213
- - docs/markdown-examples.html
1214
- - docs/middleware.html
1215
- - docs/overview.html
1216
- - docs/pages.html
1217
- - docs/recipes/alternate-layouts.html
1218
- - docs/recipes/authentication.html
1219
- - docs/recipes/custom-flash.html
1220
- - docs/recipes/dev-env-secrets.html
1221
- - docs/recipes/form-errors.html
1222
- - docs/recipes/indexed-forms.html
1223
- - docs/recipes/migrations.html
1224
- - docs/recipes/text-field-component.html
1225
- - docs/roadmap.html
1226
- - docs/routes.html
1227
- - docs/security.html
1228
- - docs/seed-data.html
1229
- - docs/space-time-continuum.html
1230
- - docs/tutorial.html
1231
- - docs/tutorials/01-intro.html
1232
- - docs/tutorials/02-dialog.html
1233
- - docs/unit-tests.html
1234
- - docs/vp-icons.css
1235
- - docs/why.html
1236
- - dx/bash_customizations
1237
- - dx/build
1238
- - dx/build.pre
1239
- - dx/docker-compose.env
1240
- - dx/dx.sh.lib
1241
- - dx/exec
1242
- - dx/prune
1243
- - dx/setupkit.sh.lib
1244
- - dx/show-help-in-app-container-then-wait.sh
1245
- - dx/start
1246
- - dx/stop
482
+ - exe/brut
1247
483
  - lib/brut.rb
1248
484
  - lib/brut/back_end.rb
1249
485
  - lib/brut/back_end/seed_data.rb
@@ -1254,20 +490,62 @@ files:
1254
490
  - lib/brut/back_end/validator.rb
1255
491
  - lib/brut/back_end/validators/form_validator.rb
1256
492
  - lib/brut/cli.rb
1257
- - lib/brut/cli/app.rb
1258
- - lib/brut/cli/app_runner.rb
1259
493
  - lib/brut/cli/apps/build_assets.rb
1260
494
  - lib/brut/cli/apps/db.rb
495
+ - lib/brut/cli/apps/deploy.rb
1261
496
  - lib/brut/cli/apps/deploy_base.rb
1262
497
  - lib/brut/cli/apps/heroku_container_based_deploy.rb
498
+ - lib/brut/cli/apps/new.rb
499
+ - lib/brut/cli/apps/new/add_segment.rb
500
+ - lib/brut/cli/apps/new/add_segment_options.rb
501
+ - lib/brut/cli/apps/new/app.rb
502
+ - lib/brut/cli/apps/new/app_id.rb
503
+ - lib/brut/cli/apps/new/app_name.rb
504
+ - lib/brut/cli/apps/new/base.rb
505
+ - lib/brut/cli/apps/new/erb_binding_delegate.rb
506
+ - lib/brut/cli/apps/new/internet_identifier.rb
507
+ - lib/brut/cli/apps/new/invalid_identifier.rb
508
+ - lib/brut/cli/apps/new/old_app.rb
509
+ - lib/brut/cli/apps/new/ops.rb
510
+ - lib/brut/cli/apps/new/ops/add_css_import.rb
511
+ - lib/brut/cli/apps/new/ops/add_i18n_message.rb
512
+ - lib/brut/cli/apps/new/ops/add_method.rb
513
+ - lib/brut/cli/apps/new/ops/append_to_file.rb
514
+ - lib/brut/cli/apps/new/ops/base_op.rb
515
+ - lib/brut/cli/apps/new/ops/copy_file.rb
516
+ - lib/brut/cli/apps/new/ops/insert_code_in_method.rb
517
+ - lib/brut/cli/apps/new/ops/insert_into_file.rb
518
+ - lib/brut/cli/apps/new/ops/insert_route.rb
519
+ - lib/brut/cli/apps/new/ops/mkdir.rb
520
+ - lib/brut/cli/apps/new/ops/prism_parsing_op.rb
521
+ - lib/brut/cli/apps/new/ops/render_template.rb
522
+ - lib/brut/cli/apps/new/ops/skip_file.rb
523
+ - lib/brut/cli/apps/new/organization.rb
524
+ - lib/brut/cli/apps/new/prefix.rb
525
+ - lib/brut/cli/apps/new/prefixed_io.rb
526
+ - lib/brut/cli/apps/new/segments.rb
527
+ - lib/brut/cli/apps/new/segments/bare_bones.rb
528
+ - lib/brut/cli/apps/new/segments/demo.rb
529
+ - lib/brut/cli/apps/new/segments/heroku.rb
530
+ - lib/brut/cli/apps/new/segments/sidekiq.rb
531
+ - lib/brut/cli/apps/new/version.rb
532
+ - lib/brut/cli/apps/new/versions.rb
1263
533
  - lib/brut/cli/apps/scaffold.rb
1264
534
  - lib/brut/cli/apps/test.rb
1265
- - lib/brut/cli/command.rb
535
+ - lib/brut/cli/commands.rb
536
+ - lib/brut/cli/commands/base_command.rb
537
+ - lib/brut/cli/commands/compound_command.rb
538
+ - lib/brut/cli/commands/execution_context.rb
539
+ - lib/brut/cli/commands/help.rb
540
+ - lib/brut/cli/commands/output_error.rb
541
+ - lib/brut/cli/commands/raise_error.rb
1266
542
  - lib/brut/cli/error.rb
1267
- - lib/brut/cli/execution_results.rb
543
+ - lib/brut/cli/execute_result.rb
1268
544
  - lib/brut/cli/executor.rb
1269
545
  - lib/brut/cli/options.rb
1270
546
  - lib/brut/cli/output.rb
547
+ - lib/brut/cli/parsed_command_line.rb
548
+ - lib/brut/cli/runner.rb
1271
549
  - lib/brut/factory_bot.rb
1272
550
  - lib/brut/framework.rb
1273
551
  - lib/brut/framework/app.rb
@@ -1329,14 +607,12 @@ files:
1329
607
  - lib/brut/front_end/http_status.rb
1330
608
  - lib/brut/front_end/inline_svg_locator.rb
1331
609
  - lib/brut/front_end/layout.rb
1332
- - lib/brut/front_end/layouts/_internal.html.erb
1333
610
  - lib/brut/front_end/middleware.rb
1334
611
  - lib/brut/front_end/middlewares/annotate_brut_owned_paths.rb
1335
612
  - lib/brut/front_end/middlewares/favicon.rb
1336
613
  - lib/brut/front_end/middlewares/open_telemetry_span.rb
1337
614
  - lib/brut/front_end/middlewares/reload_app.rb
1338
615
  - lib/brut/front_end/page.rb
1339
- - lib/brut/front_end/pages/_missing_page.html.erb
1340
616
  - lib/brut/front_end/pages/missing_page.rb
1341
617
  - lib/brut/front_end/request_context.rb
1342
618
  - lib/brut/front_end/route_hook.rb
@@ -1361,6 +637,7 @@ files:
1361
637
  - lib/brut/rubocop_config.rb
1362
638
  - lib/brut/sinatra_helpers.rb
1363
639
  - lib/brut/spec_support.rb
640
+ - lib/brut/spec_support/cli_command_support.rb
1364
641
  - lib/brut/spec_support/clock_support.rb
1365
642
  - lib/brut/spec_support/component_support.rb
1366
643
  - lib/brut/spec_support/e2e_support.rb
@@ -1374,6 +651,7 @@ files:
1374
651
  - lib/brut/spec_support/matchers/be_page_for.rb
1375
652
  - lib/brut/spec_support/matchers/be_routing_for.rb
1376
653
  - lib/brut/spec_support/matchers/have_constraint_violation.rb
654
+ - lib/brut/spec_support/matchers/have_executed.rb
1377
655
  - lib/brut/spec_support/matchers/have_generated.rb
1378
656
  - lib/brut/spec_support/matchers/have_html_attribute.rb
1379
657
  - lib/brut/spec_support/matchers/have_i18n_string.rb
@@ -1383,6 +661,41 @@ files:
1383
661
  - lib/brut/spec_support/matchers/have_returned_rack_response.rb
1384
662
  - lib/brut/spec_support/rspec_setup.rb
1385
663
  - lib/brut/spec_support/session_support.rb
664
+ - lib/brut/tui.rb
665
+ - lib/brut/tui/ansi_escape_code.rb
666
+ - lib/brut/tui/event_loop.rb
667
+ - lib/brut/tui/events.rb
668
+ - lib/brut/tui/events/base_event.rb
669
+ - lib/brut/tui/events/event_bus.rb
670
+ - lib/brut/tui/events/event_loop_started.rb
671
+ - lib/brut/tui/events/exception.rb
672
+ - lib/brut/tui/events/tick.rb
673
+ - lib/brut/tui/markup_string.rb
674
+ - lib/brut/tui/script.rb
675
+ - lib/brut/tui/script/block_step.rb
676
+ - lib/brut/tui/script/events.rb
677
+ - lib/brut/tui/script/events/command_execution_failed.rb
678
+ - lib/brut/tui/script/events/command_execution_succeeded.rb
679
+ - lib/brut/tui/script/events/command_std_err.rb
680
+ - lib/brut/tui/script/events/command_std_out.rb
681
+ - lib/brut/tui/script/events/executing_command.rb
682
+ - lib/brut/tui/script/events/message.rb
683
+ - lib/brut/tui/script/events/phase_completed.rb
684
+ - lib/brut/tui/script/events/phase_started.rb
685
+ - lib/brut/tui/script/events/script_completed.rb
686
+ - lib/brut/tui/script/events/script_started.rb
687
+ - lib/brut/tui/script/events/step_completed.rb
688
+ - lib/brut/tui/script/events/step_started.rb
689
+ - lib/brut/tui/script/exec_step.rb
690
+ - lib/brut/tui/script/logging_subscriber.rb
691
+ - lib/brut/tui/script/puts_subscriber.rb
692
+ - lib/brut/tui/script/step.rb
693
+ - lib/brut/tui/terminal.rb
694
+ - lib/brut/tui/terminal_theme.rb
695
+ - lib/brut/tui/themes.rb
696
+ - lib/brut/tui/themes/dark.rb
697
+ - lib/brut/tui/themes/light.rb
698
+ - lib/brut/tui/themes/none.rb
1386
699
  - lib/brut/version.rb
1387
700
  - lib/sequel/extensions/brut_instrumentation.rb
1388
701
  - lib/sequel/extensions/brut_migrations.rb
@@ -1390,185 +703,117 @@ files:
1390
703
  - lib/sequel/plugins/created_at.rb
1391
704
  - lib/sequel/plugins/external_id.rb
1392
705
  - lib/sequel/plugins/find_bang.rb
1393
- - mkbrut/.gitignore
1394
- - mkbrut/CODE_OF_CONDUCT.txt
1395
- - mkbrut/Gemfile
1396
- - mkbrut/Gemfile.lock
1397
- - mkbrut/LICENSE.txt
1398
- - mkbrut/README.md
1399
- - mkbrut/Rakefile
1400
- - mkbrut/bin/build
1401
- - mkbrut/bin/ci
1402
- - mkbrut/bin/docs
1403
- - mkbrut/bin/publish
1404
- - mkbrut/bin/rake
1405
- - mkbrut/bin/setup
1406
- - mkbrut/brut-welcome.png
1407
- - mkbrut/deploy/.dockerignore
1408
- - mkbrut/deploy/Dockerfile
1409
- - mkbrut/dx
1410
- - mkbrut/exe/mkbrut
1411
- - mkbrut/lib/mkbrut.rb
1412
- - mkbrut/lib/mkbrut/add_segment.rb
1413
- - mkbrut/lib/mkbrut/add_segment_options.rb
1414
- - mkbrut/lib/mkbrut/app.rb
1415
- - mkbrut/lib/mkbrut/app_id.rb
1416
- - mkbrut/lib/mkbrut/app_name.rb
1417
- - mkbrut/lib/mkbrut/app_options.rb
1418
- - mkbrut/lib/mkbrut/base.rb
1419
- - mkbrut/lib/mkbrut/cli.rb
1420
- - mkbrut/lib/mkbrut/erb_binding_delegate.rb
1421
- - mkbrut/lib/mkbrut/internet_identifier.rb
1422
- - mkbrut/lib/mkbrut/invalid_identifier.rb
1423
- - mkbrut/lib/mkbrut/ops.rb
1424
- - mkbrut/lib/mkbrut/ops/add_css_import.rb
1425
- - mkbrut/lib/mkbrut/ops/add_i18n_message.rb
1426
- - mkbrut/lib/mkbrut/ops/add_method.rb
1427
- - mkbrut/lib/mkbrut/ops/append_to_file.rb
1428
- - mkbrut/lib/mkbrut/ops/base_op.rb
1429
- - mkbrut/lib/mkbrut/ops/copy_file.rb
1430
- - mkbrut/lib/mkbrut/ops/insert_code_in_method.rb
1431
- - mkbrut/lib/mkbrut/ops/insert_into_file.rb
1432
- - mkbrut/lib/mkbrut/ops/insert_route.rb
1433
- - mkbrut/lib/mkbrut/ops/mkdir.rb
1434
- - mkbrut/lib/mkbrut/ops/prism_parsing_op.rb
1435
- - mkbrut/lib/mkbrut/ops/render_template.rb
1436
- - mkbrut/lib/mkbrut/ops/skip_file.rb
1437
- - mkbrut/lib/mkbrut/organization.rb
1438
- - mkbrut/lib/mkbrut/prefix.rb
1439
- - mkbrut/lib/mkbrut/prefixed_io.rb
1440
- - mkbrut/lib/mkbrut/segments.rb
1441
- - mkbrut/lib/mkbrut/segments/bare_bones.rb
1442
- - mkbrut/lib/mkbrut/segments/demo.rb
1443
- - mkbrut/lib/mkbrut/segments/heroku.rb
1444
- - mkbrut/lib/mkbrut/segments/sidekiq.rb
1445
- - mkbrut/lib/mkbrut/version.rb
1446
- - mkbrut/lib/mkbrut/versions.rb
1447
- - mkbrut/mkbrut.gemspec
1448
- - mkbrut/templates/Base/.dockerignore
1449
- - mkbrut/templates/Base/.env.development.erb
1450
- - mkbrut/templates/Base/.env.test.erb
1451
- - mkbrut/templates/Base/.gitignore
1452
- - mkbrut/templates/Base/.projections.json
1453
- - mkbrut/templates/Base/Dockerfile.dx
1454
- - mkbrut/templates/Base/Gemfile.erb
1455
- - mkbrut/templates/Base/Procfile.development
1456
- - mkbrut/templates/Base/Procfile.test
1457
- - mkbrut/templates/Base/README.md
1458
- - mkbrut/templates/Base/README.md.erb
1459
- - mkbrut/templates/Base/app/bootstrap.rb
1460
- - mkbrut/templates/Base/app/config/i18n/en/1_defaults.rb
1461
- - mkbrut/templates/Base/app/config/i18n/en/2_app.rb
1462
- - mkbrut/templates/Base/app/public/static/manifest.json.erb
1463
- - mkbrut/templates/Base/app/src/app.rb.erb
1464
- - mkbrut/templates/Base/app/src/back_end/data_models/app_data_model.rb
1465
- - mkbrut/templates/Base/app/src/back_end/data_models/db.rb
1466
- - mkbrut/templates/Base/app/src/back_end/data_models/migrations/20240101130000_citext.rb
1467
- - mkbrut/templates/Base/app/src/back_end/data_models/seed/seed_data.rb
1468
- - mkbrut/templates/Base/app/src/front_end/components/app_component.rb
1469
- - mkbrut/templates/Base/app/src/front_end/components/custom_element_registration.rb.erb
1470
- - mkbrut/templates/Base/app/src/front_end/css/index.css
1471
- - mkbrut/templates/Base/app/src/front_end/css/svgs.css
1472
- - mkbrut/templates/Base/app/src/front_end/forms/app_form.rb
1473
- - mkbrut/templates/Base/app/src/front_end/handlers/app_handler.rb
1474
- - mkbrut/templates/Base/app/src/front_end/images/LogoPylon.png
1475
- - mkbrut/templates/Base/app/src/front_end/images/LogoTransit.png
1476
- - mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-120x120.png
1477
- - mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-152x152.png
1478
- - mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-167x167.png
1479
- - mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-180x180.png
1480
- - mkbrut/templates/Base/app/src/front_end/images/favicon.ico
1481
- - mkbrut/templates/Base/app/src/front_end/images/icon.png
1482
- - mkbrut/templates/Base/app/src/front_end/images/mkicons.sh
1483
- - mkbrut/templates/Base/app/src/front_end/js/index.js
1484
- - mkbrut/templates/Base/app/src/front_end/layouts/blank_layout.rb
1485
- - mkbrut/templates/Base/app/src/front_end/layouts/default_layout.rb.erb
1486
- - mkbrut/templates/Base/app/src/front_end/pages/app_page.rb
1487
- - mkbrut/templates/Base/app/src/front_end/pages/home_page.rb
1488
- - mkbrut/templates/Base/app/src/front_end/support/app_session.rb
1489
- - mkbrut/templates/Base/app/src/front_end/svgs/README.md
1490
- - mkbrut/templates/Base/app/src/front_end/svgs/comment-button.svg
1491
- - mkbrut/templates/Base/bin/README.md.erb
1492
- - mkbrut/templates/Base/bin/build-assets
1493
- - mkbrut/templates/Base/bin/ci
1494
- - mkbrut/templates/Base/bin/console
1495
- - mkbrut/templates/Base/bin/db
1496
- - mkbrut/templates/Base/bin/dbconsole
1497
- - mkbrut/templates/Base/bin/dev
1498
- - mkbrut/templates/Base/bin/release
1499
- - mkbrut/templates/Base/bin/run
1500
- - mkbrut/templates/Base/bin/run.run
1501
- - mkbrut/templates/Base/bin/scaffold
1502
- - mkbrut/templates/Base/bin/setup
1503
- - mkbrut/templates/Base/bin/startup-message
1504
- - mkbrut/templates/Base/bin/test
1505
- - mkbrut/templates/Base/bin/test-server
1506
- - mkbrut/templates/Base/bin/watch-and-build-assets
1507
- - mkbrut/templates/Base/config.ru
1508
- - mkbrut/templates/Base/docker-compose.dx.yml
1509
- - mkbrut/templates/Base/dx/README.md
1510
- - mkbrut/templates/Base/dx/bash_customizations
1511
- - mkbrut/templates/Base/dx/bash_customizations.local
1512
- - mkbrut/templates/Base/dx/build
1513
- - mkbrut/templates/Base/dx/docker-compose.env.erb
1514
- - mkbrut/templates/Base/dx/dx.sh.lib
1515
- - mkbrut/templates/Base/dx/exec
1516
- - mkbrut/templates/Base/dx/prune
1517
- - mkbrut/templates/Base/dx/show-help-in-app-container-then-wait.sh
1518
- - mkbrut/templates/Base/dx/start
1519
- - mkbrut/templates/Base/dx/stop
1520
- - mkbrut/templates/Base/package.json.erb
1521
- - mkbrut/templates/Base/puma.config.rb
1522
- - mkbrut/templates/Base/specs/e2e/home_page.spec.rb.erb
1523
- - mkbrut/templates/Base/specs/front_end/js/SpecHelper.js
1524
- - mkbrut/templates/Base/specs/front_end/pages/home_page.spec.rb
1525
- - mkbrut/templates/Base/specs/lint_factories.spec.rb
1526
- - mkbrut/templates/Base/specs/spec_helper.rb
1527
- - mkbrut/templates/Base/specs/support.rb
1528
- - mkbrut/templates/segments/BareBones/app/src/front_end/handlers/trigger_exception_handler.rb
1529
- - mkbrut/templates/segments/BareBones/app/src/front_end/js/Example.js.erb
1530
- - mkbrut/templates/segments/BareBones/specs/front_end/handlers/trigger_exception_handler.spec.rb
1531
- - mkbrut/templates/segments/BareBones/specs/front_end/js/Example.spec.js.erb
1532
- - mkbrut/templates/segments/Demo/app/src/back_end/data_models/db/guestbook_message.rb
1533
- - mkbrut/templates/segments/Demo/app/src/back_end/data_models/migrations/20250628194124_guestbook.rb
1534
- - mkbrut/templates/segments/Demo/app/src/front_end/components/flash_component.rb
1535
- - mkbrut/templates/segments/Demo/app/src/front_end/css/constraint-violations.css
1536
- - mkbrut/templates/segments/Demo/app/src/front_end/css/fonts.css
1537
- - mkbrut/templates/segments/Demo/app/src/front_end/fonts/monaspace-xenon.ttf
1538
- - mkbrut/templates/segments/Demo/app/src/front_end/forms/guestbook_message_form.rb
1539
- - mkbrut/templates/segments/Demo/app/src/front_end/handlers/guestbook_message_handler.rb
1540
- - mkbrut/templates/segments/Demo/app/src/front_end/pages/guestbook_page.rb
1541
- - mkbrut/templates/segments/Demo/app/src/front_end/pages/guestbook_page/message_component.rb
1542
- - mkbrut/templates/segments/Demo/app/src/front_end/pages/new_guestbook_message_page.rb
1543
- - mkbrut/templates/segments/Demo/specs/back_end/data_models/db/guestbook_message.spec.rb
1544
- - mkbrut/templates/segments/Demo/specs/e2e/guest_message.spec.rb
1545
- - mkbrut/templates/segments/Demo/specs/factories/db/guestbook_message.factory.rb
1546
- - mkbrut/templates/segments/Demo/specs/front_end/components/flash_component.spec.rb
1547
- - mkbrut/templates/segments/Demo/specs/front_end/handlers/guestbook_message_handler.spec.rb
1548
- - mkbrut/templates/segments/Demo/specs/front_end/pages/guestbook_page.spec.rb
1549
- - mkbrut/templates/segments/Demo/specs/front_end/pages/guestbook_page/message_component.spec.rb
1550
- - mkbrut/templates/segments/Demo/specs/front_end/pages/new_guestbook_message_page.spec.rb
1551
- - mkbrut/templates/segments/Heroku/bin/deploy
1552
- - mkbrut/templates/segments/Heroku/deploy/Dockerfile
1553
- - mkbrut/templates/segments/Heroku/deploy/docker-entrypoint
1554
- - mkbrut/templates/segments/Heroku/deploy/heroku_config.rb
1555
- - mkbrut/templates/segments/Sidekiq/app/boot_sidekiq.rb
1556
- - mkbrut/templates/segments/Sidekiq/app/config/sidekiq.yml
1557
- - mkbrut/templates/segments/Sidekiq/app/src/back_end/jobs/app_job.rb
1558
- - mkbrut/templates/segments/Sidekiq/app/src/back_end/jobs/example_job.rb
1559
- - mkbrut/templates/segments/Sidekiq/app/src/back_end/segments/sidekiq_segment.rb
1560
- - mkbrut/templates/segments/Sidekiq/bin/run.sidekiq
1561
- - mkbrut/templates/segments/Sidekiq/specs/back_end/jobs/example_job.spec.rb
1562
- - mkbrut/templates/segments/Sidekiq/specs/integration/sidekiq_works.spec.rb
1563
- - specs/brut/front_end/forms/input.spec.rb
1564
- - specs/brut/front_end/forms/radio_button_group_input.spec.rb
1565
- - specs/brut/front_end/forms/select_input.spec.rb
1566
- - specs/brut/instrumentation/methods.spec.rb
1567
- - specs/brut/junk_drawer.spec.rb
1568
- - specs/spec_helper.rb
1569
- - specs/support.rb
1570
- - specs/support/matchers.rb
1571
- - specs/support/matchers/have_constraint_violation.rb
706
+ - templates/Base/.dockerignore
707
+ - templates/Base/.env.development.erb
708
+ - templates/Base/.env.development.local
709
+ - templates/Base/.env.test.erb
710
+ - templates/Base/.gitignore
711
+ - templates/Base/.projections.json
712
+ - templates/Base/Dockerfile.dx
713
+ - templates/Base/Gemfile.erb
714
+ - templates/Base/Procfile.development
715
+ - templates/Base/Procfile.test
716
+ - templates/Base/README.md
717
+ - templates/Base/README.md.erb
718
+ - templates/Base/app/bootstrap.rb
719
+ - templates/Base/app/config/i18n/en/1_defaults.rb
720
+ - templates/Base/app/config/i18n/en/2_app.rb
721
+ - templates/Base/app/public/static/manifest.json.erb
722
+ - templates/Base/app/src/app.rb.erb
723
+ - templates/Base/app/src/back_end/data_models/app_data_model.rb
724
+ - templates/Base/app/src/back_end/data_models/db.rb
725
+ - templates/Base/app/src/back_end/data_models/migrations/20240101130000_citext.rb
726
+ - templates/Base/app/src/back_end/data_models/seed/seed_data.rb
727
+ - templates/Base/app/src/front_end/components/app_component.rb
728
+ - templates/Base/app/src/front_end/components/custom_element_registration.rb.erb
729
+ - templates/Base/app/src/front_end/css/index.css
730
+ - templates/Base/app/src/front_end/css/svgs.css
731
+ - templates/Base/app/src/front_end/forms/app_form.rb
732
+ - templates/Base/app/src/front_end/handlers/app_handler.rb
733
+ - templates/Base/app/src/front_end/images/LogoPylon.png
734
+ - templates/Base/app/src/front_end/images/LogoTransit.png
735
+ - templates/Base/app/src/front_end/images/apple-touch-icon-120x120.png
736
+ - templates/Base/app/src/front_end/images/apple-touch-icon-152x152.png
737
+ - templates/Base/app/src/front_end/images/apple-touch-icon-167x167.png
738
+ - templates/Base/app/src/front_end/images/apple-touch-icon-180x180.png
739
+ - templates/Base/app/src/front_end/images/favicon.ico
740
+ - templates/Base/app/src/front_end/images/icon.png
741
+ - templates/Base/app/src/front_end/images/mkicons.sh
742
+ - templates/Base/app/src/front_end/js/index.js
743
+ - templates/Base/app/src/front_end/layouts/blank_layout.rb
744
+ - templates/Base/app/src/front_end/layouts/default_layout.rb.erb
745
+ - templates/Base/app/src/front_end/pages/app_page.rb
746
+ - templates/Base/app/src/front_end/pages/home_page.rb
747
+ - templates/Base/app/src/front_end/support/app_session.rb
748
+ - templates/Base/app/src/front_end/svgs/README.md
749
+ - templates/Base/app/src/front_end/svgs/comment-button.svg
750
+ - templates/Base/bin/README.md.erb
751
+ - templates/Base/bin/ci
752
+ - templates/Base/bin/console
753
+ - templates/Base/bin/dbconsole
754
+ - templates/Base/bin/dev
755
+ - templates/Base/bin/release
756
+ - templates/Base/bin/run
757
+ - templates/Base/bin/run.run
758
+ - templates/Base/bin/setup
759
+ - templates/Base/bin/startup-message
760
+ - templates/Base/bin/watch-and-build-assets
761
+ - templates/Base/config.ru
762
+ - templates/Base/docker-compose.dx.yml
763
+ - templates/Base/dx/README.md
764
+ - templates/Base/dx/bash_customizations
765
+ - templates/Base/dx/bash_customizations.local
766
+ - templates/Base/dx/build
767
+ - templates/Base/dx/docker-compose.env.erb
768
+ - templates/Base/dx/dx.sh.lib
769
+ - templates/Base/dx/exec
770
+ - templates/Base/dx/prune
771
+ - templates/Base/dx/show-help-in-app-container-then-wait.sh
772
+ - templates/Base/dx/start
773
+ - templates/Base/dx/stop
774
+ - templates/Base/package.json.erb
775
+ - templates/Base/puma.config.rb
776
+ - templates/Base/specs/e2e/home_page.spec.rb.erb
777
+ - templates/Base/specs/front_end/js/SpecHelper.js
778
+ - templates/Base/specs/front_end/pages/home_page.spec.rb
779
+ - templates/Base/specs/lint_factories.spec.rb
780
+ - templates/Base/specs/spec_helper.rb
781
+ - templates/Base/specs/support.rb
782
+ - templates/segments/BareBones/app/src/front_end/handlers/trigger_exception_handler.rb
783
+ - templates/segments/BareBones/app/src/front_end/js/Example.js.erb
784
+ - templates/segments/BareBones/specs/front_end/handlers/trigger_exception_handler.spec.rb
785
+ - templates/segments/BareBones/specs/front_end/js/Example.spec.js.erb
786
+ - templates/segments/Demo/app/src/back_end/data_models/db/guestbook_message.rb
787
+ - templates/segments/Demo/app/src/back_end/data_models/migrations/20250628194124_guestbook.rb
788
+ - templates/segments/Demo/app/src/front_end/components/flash_component.rb
789
+ - templates/segments/Demo/app/src/front_end/css/constraint-violations.css
790
+ - templates/segments/Demo/app/src/front_end/css/fonts.css
791
+ - templates/segments/Demo/app/src/front_end/fonts/monaspace-xenon.ttf
792
+ - templates/segments/Demo/app/src/front_end/forms/guestbook_message_form.rb
793
+ - templates/segments/Demo/app/src/front_end/handlers/guestbook_message_handler.rb
794
+ - templates/segments/Demo/app/src/front_end/pages/guestbook_page.rb
795
+ - templates/segments/Demo/app/src/front_end/pages/guestbook_page/message_component.rb
796
+ - templates/segments/Demo/app/src/front_end/pages/new_guestbook_message_page.rb
797
+ - templates/segments/Demo/specs/back_end/data_models/db/guestbook_message.spec.rb
798
+ - templates/segments/Demo/specs/e2e/guest_message.spec.rb
799
+ - templates/segments/Demo/specs/factories/db/guestbook_message.factory.rb
800
+ - templates/segments/Demo/specs/front_end/components/flash_component.spec.rb
801
+ - templates/segments/Demo/specs/front_end/handlers/guestbook_message_handler.spec.rb
802
+ - templates/segments/Demo/specs/front_end/pages/guestbook_page.spec.rb
803
+ - templates/segments/Demo/specs/front_end/pages/guestbook_page/message_component.spec.rb
804
+ - templates/segments/Demo/specs/front_end/pages/new_guestbook_message_page.spec.rb
805
+ - templates/segments/Heroku/bin/deploy
806
+ - templates/segments/Heroku/deploy/Dockerfile
807
+ - templates/segments/Heroku/deploy/docker-entrypoint
808
+ - templates/segments/Heroku/deploy/docker_config.rb
809
+ - templates/segments/Sidekiq/app/boot_sidekiq.rb
810
+ - templates/segments/Sidekiq/app/config/sidekiq.yml
811
+ - templates/segments/Sidekiq/app/src/back_end/jobs/app_job.rb
812
+ - templates/segments/Sidekiq/app/src/back_end/jobs/example_job.rb
813
+ - templates/segments/Sidekiq/app/src/back_end/segments/sidekiq_segment.rb
814
+ - templates/segments/Sidekiq/bin/run.sidekiq
815
+ - templates/segments/Sidekiq/specs/back_end/jobs/example_job.spec.rb
816
+ - templates/segments/Sidekiq/specs/integration/sidekiq_works.spec.rb
1572
817
  homepage: https://brutrb.com
1573
818
  licenses: []
1574
819
  metadata: