apprc-core 0.25.0__tar.gz

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 (305) hide show
  1. apprc_core-0.25.0/AGENTS.md +38 -0
  2. apprc_core-0.25.0/CHANGELOG.md +1506 -0
  3. apprc_core-0.25.0/LICENSE +21 -0
  4. apprc_core-0.25.0/PKG-INFO +172 -0
  5. apprc_core-0.25.0/README.md +143 -0
  6. apprc_core-0.25.0/README.pypi.md +144 -0
  7. apprc_core-0.25.0/TODO.md +165 -0
  8. apprc_core-0.25.0/docs/Development.md +181 -0
  9. apprc_core-0.25.0/docs/EXAMPLES.md +319 -0
  10. apprc_core-0.25.0/docs/Explanations.md +390 -0
  11. apprc_core-0.25.0/docs/How-To-User-Guides.md +821 -0
  12. apprc_core-0.25.0/docs/README.md +120 -0
  13. apprc_core-0.25.0/docs/References.md +377 -0
  14. apprc_core-0.25.0/docs/assets/_graphigs_svg.py +71 -0
  15. apprc_core-0.25.0/docs/assets/apprc-abstract-configuration-overview.svg +305 -0
  16. apprc_core-0.25.0/docs/assets/apprc-abstract-contract-workflows.svg +251 -0
  17. apprc_core-0.25.0/docs/assets/apprc-abstract-layer-cake.svg +136 -0
  18. apprc_core-0.25.0/docs/assets/apprc-abstract-user-journey.svg +152 -0
  19. apprc_core-0.25.0/docs/assets/apprc-runtime-layers.svg +104 -0
  20. apprc_core-0.25.0/docs/assets/apprc-storage-config-locations.svg +325 -0
  21. apprc_core-0.25.0/docs/assets/apprc_abstract_configuration_overview.py +426 -0
  22. apprc_core-0.25.0/docs/assets/apprc_abstract_contract_workflows.py +192 -0
  23. apprc_core-0.25.0/docs/assets/apprc_abstract_layer_cake.py +155 -0
  24. apprc_core-0.25.0/docs/assets/apprc_abstract_user_journey.py +213 -0
  25. apprc_core-0.25.0/docs/assets/apprc_runtime_layers.py +128 -0
  26. apprc_core-0.25.0/docs/assets/apprc_storage_config_locations.py +658 -0
  27. apprc_core-0.25.0/docs/assets/docs-reading-map.svg +97 -0
  28. apprc_core-0.25.0/docs/assets/docs_reading_map.py +121 -0
  29. apprc_core-0.25.0/docs/assets/render_all.py +82 -0
  30. apprc_core-0.25.0/examples/example_apps/README.md +112 -0
  31. apprc_core-0.25.0/examples/example_apps/pyproject.toml +38 -0
  32. apprc_core-0.25.0/examples/example_apps/src/_example_apps_utils/README.md +15 -0
  33. apprc_core-0.25.0/examples/example_apps/src/_example_apps_utils/__init__.py +17 -0
  34. apprc_core-0.25.0/examples/example_apps/src/_example_apps_utils/lab.py +163 -0
  35. apprc_core-0.25.0/examples/example_apps/src/_example_apps_utils/registry.py +127 -0
  36. apprc_core-0.25.0/examples/example_apps/src/_example_apps_utils/run_all.py +230 -0
  37. apprc_core-0.25.0/examples/example_apps/src/cli_runtime/README.md +28 -0
  38. apprc_core-0.25.0/examples/example_apps/src/cli_runtime/__init__.py +17 -0
  39. apprc_core-0.25.0/examples/example_apps/src/cli_runtime/cli.py +218 -0
  40. apprc_core-0.25.0/examples/example_apps/src/cli_runtime/config/__init__.py +1 -0
  41. apprc_core-0.25.0/examples/example_apps/src/cli_runtime/config/app.py +13 -0
  42. apprc_core-0.25.0/examples/example_apps/src/cli_runtime/config/apprc.defaults.env +4 -0
  43. apprc_core-0.25.0/examples/example_apps/src/cli_runtime/config/bundle.py +14 -0
  44. apprc_core-0.25.0/examples/example_apps/src/cli_runtime/config/sections/__init__.py +1 -0
  45. apprc_core-0.25.0/examples/example_apps/src/cli_runtime/config/sections/runtime/__init__.py +1 -0
  46. apprc_core-0.25.0/examples/example_apps/src/cli_runtime/config/sections/runtime/settings.py +34 -0
  47. apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/README.md +30 -0
  48. apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/__init__.py +9 -0
  49. apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/cli.py +82 -0
  50. apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/config/__init__.py +1 -0
  51. apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/config/app.py +13 -0
  52. apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/config/apprc.defaults.env +4 -0
  53. apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/config/bundle.py +18 -0
  54. apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/config/sections/__init__.py +1 -0
  55. apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/config/sections/app.py +31 -0
  56. apprc_core-0.25.0/examples/example_apps/src/library_client/README.md +40 -0
  57. apprc_core-0.25.0/examples/example_apps/src/library_client/__init__.py +5 -0
  58. apprc_core-0.25.0/examples/example_apps/src/library_client/cli.py +72 -0
  59. apprc_core-0.25.0/examples/example_apps/src/library_client/client.py +24 -0
  60. apprc_core-0.25.0/examples/example_apps/src/library_client/config/__init__.py +1 -0
  61. apprc_core-0.25.0/examples/example_apps/src/library_client/config/app.py +12 -0
  62. apprc_core-0.25.0/examples/example_apps/src/library_client/config/apprc.defaults.env +1 -0
  63. apprc_core-0.25.0/examples/example_apps/src/library_client/config/bundle.py +14 -0
  64. apprc_core-0.25.0/examples/example_apps/src/library_client/config/sections/__init__.py +1 -0
  65. apprc_core-0.25.0/examples/example_apps/src/library_client/config/sections/client.py +16 -0
  66. apprc_core-0.25.0/examples/example_apps/src/process_env/README.md +9 -0
  67. apprc_core-0.25.0/examples/example_apps/src/process_env/__init__.py +8 -0
  68. apprc_core-0.25.0/examples/example_apps/src/process_env/cli.py +74 -0
  69. apprc_core-0.25.0/examples/example_apps/src/process_env/config/__init__.py +1 -0
  70. apprc_core-0.25.0/examples/example_apps/src/process_env/config/app.py +11 -0
  71. apprc_core-0.25.0/examples/example_apps/src/process_env/config/bundle.py +14 -0
  72. apprc_core-0.25.0/examples/example_apps/src/process_env/config/sections/__init__.py +1 -0
  73. apprc_core-0.25.0/examples/example_apps/src/process_env/config/sections/app.py +22 -0
  74. apprc_core-0.25.0/examples/example_apps/src/storage/README.md +8 -0
  75. apprc_core-0.25.0/examples/example_apps/src/storage/__init__.py +8 -0
  76. apprc_core-0.25.0/examples/example_apps/src/storage/cli.py +80 -0
  77. apprc_core-0.25.0/examples/example_apps/src/storage/config/__init__.py +1 -0
  78. apprc_core-0.25.0/examples/example_apps/src/storage/config/app.py +12 -0
  79. apprc_core-0.25.0/examples/example_apps/src/storage/config/bundle.py +14 -0
  80. apprc_core-0.25.0/examples/example_apps/src/storage/config/sections/__init__.py +1 -0
  81. apprc_core-0.25.0/examples/example_apps/src/storage/config/sections/app.py +32 -0
  82. apprc_core-0.25.0/examples/example_apps/src/user_dotenv/README.md +9 -0
  83. apprc_core-0.25.0/examples/example_apps/src/user_dotenv/__init__.py +8 -0
  84. apprc_core-0.25.0/examples/example_apps/src/user_dotenv/cli.py +74 -0
  85. apprc_core-0.25.0/examples/example_apps/src/user_dotenv/config/__init__.py +1 -0
  86. apprc_core-0.25.0/examples/example_apps/src/user_dotenv/config/app.py +12 -0
  87. apprc_core-0.25.0/examples/example_apps/src/user_dotenv/config/bundle.py +14 -0
  88. apprc_core-0.25.0/examples/example_apps/src/user_dotenv/config/sections/__init__.py +1 -0
  89. apprc_core-0.25.0/examples/example_apps/src/user_dotenv/config/sections/app.py +22 -0
  90. apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/README.md +9 -0
  91. apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/__init__.py +15 -0
  92. apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/cli.py +82 -0
  93. apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/config/__init__.py +1 -0
  94. apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/config/app.py +13 -0
  95. apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/config/bundle.py +14 -0
  96. apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/config/sections/__init__.py +1 -0
  97. apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/config/sections/app.py +32 -0
  98. apprc_core-0.25.0/examples/section_bundle.py +64 -0
  99. apprc_core-0.25.0/pyproject.toml +134 -0
  100. apprc_core-0.25.0/pyproject.toml.orig +165 -0
  101. apprc_core-0.25.0/src/apprc/__init__.py +21 -0
  102. apprc_core-0.25.0/src/apprc/__main__.py +7 -0
  103. apprc_core-0.25.0/src/apprc/_cli_app.py +116 -0
  104. apprc_core-0.25.0/src/apprc/_dotenv_guard.py +29 -0
  105. apprc_core-0.25.0/src/apprc/_exports.py +18 -0
  106. apprc_core-0.25.0/src/apprc/_lazy.py +62 -0
  107. apprc_core-0.25.0/src/apprc/cli/__init__.py +7 -0
  108. apprc_core-0.25.0/src/apprc/cli/__init__.pyi +65 -0
  109. apprc_core-0.25.0/src/apprc/cli/_facade.py +81 -0
  110. apprc_core-0.25.0/src/apprc/definition/__init__.py +1 -0
  111. apprc_core-0.25.0/src/apprc/definition/app_config/__init__.py +7 -0
  112. apprc_core-0.25.0/src/apprc/definition/app_config/_validation.py +57 -0
  113. apprc_core-0.25.0/src/apprc/definition/app_config/spec.py +214 -0
  114. apprc_core-0.25.0/src/apprc/definition/app_config/storage.py +20 -0
  115. apprc_core-0.25.0/src/apprc/definition/app_config/user_dotenv.py +19 -0
  116. apprc_core-0.25.0/src/apprc/definition/env_config/__init__.py +19 -0
  117. apprc_core-0.25.0/src/apprc/definition/env_config/_validation.py +154 -0
  118. apprc_core-0.25.0/src/apprc/definition/env_config/conversion.py +93 -0
  119. apprc_core-0.25.0/src/apprc/definition/env_config/lookup.py +79 -0
  120. apprc_core-0.25.0/src/apprc/definition/env_config/schema.py +185 -0
  121. apprc_core-0.25.0/src/apprc/definition/env_config/sentinels.py +17 -0
  122. apprc_core-0.25.0/src/apprc/definition/provenance.py +108 -0
  123. apprc_core-0.25.0/src/apprc/definition/resolution.py +86 -0
  124. apprc_core-0.25.0/src/apprc/files/__init__.py +25 -0
  125. apprc_core-0.25.0/src/apprc/files/_exports.py +19 -0
  126. apprc_core-0.25.0/src/apprc/interfaces/__init__.py +7 -0
  127. apprc_core-0.25.0/src/apprc/interfaces/__init__.pyi +33 -0
  128. apprc_core-0.25.0/src/apprc/interfaces/_facade.py +45 -0
  129. apprc_core-0.25.0/src/apprc/interfaces/_setup_text.py +165 -0
  130. apprc_core-0.25.0/src/apprc/interfaces/_terminal_styles.py +129 -0
  131. apprc_core-0.25.0/src/apprc/interfaces/cli/__init__.py +64 -0
  132. apprc_core-0.25.0/src/apprc/interfaces/cli/_errors.py +20 -0
  133. apprc_core-0.25.0/src/apprc/interfaces/cli/_interactive_setup.py +207 -0
  134. apprc_core-0.25.0/src/apprc/interfaces/cli/_resolution.py +113 -0
  135. apprc_core-0.25.0/src/apprc/interfaces/cli/_typer_utils.py +261 -0
  136. apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/__init__.py +27 -0
  137. apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_base.py +414 -0
  138. apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_editor_commands.py +106 -0
  139. apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_editor_launcher.py +190 -0
  140. apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_handlers.py +55 -0
  141. apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_output.py +146 -0
  142. apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_prompts.py +185 -0
  143. apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_runtime_commands.py +486 -0
  144. apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_runtime_payload.py +58 -0
  145. apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_selector_context.py +219 -0
  146. apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_storage_commands.py +201 -0
  147. apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/app.py +479 -0
  148. apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/group_options.py +50 -0
  149. apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/state.py +328 -0
  150. apprc_core-0.25.0/src/apprc/interfaces/cli/context.py +288 -0
  151. apprc_core-0.25.0/src/apprc/interfaces/cli/diagnostics/__init__.py +13 -0
  152. apprc_core-0.25.0/src/apprc/interfaces/cli/diagnostics/_diagnosis.py +191 -0
  153. apprc_core-0.25.0/src/apprc/interfaces/cli/diagnostics/messages.py +191 -0
  154. apprc_core-0.25.0/src/apprc/interfaces/cli/diagnostics/payload.py +220 -0
  155. apprc_core-0.25.0/src/apprc/interfaces/cli/diagnostics/status.py +17 -0
  156. apprc_core-0.25.0/src/apprc/interfaces/cli/doctor_output.py +334 -0
  157. apprc_core-0.25.0/src/apprc/interfaces/cli/mount.py +251 -0
  158. apprc_core-0.25.0/src/apprc/interfaces/cli/options.py +73 -0
  159. apprc_core-0.25.0/src/apprc/interfaces/cli/runtime.py +802 -0
  160. apprc_core-0.25.0/src/apprc/interfaces/cli/setup_command.py +331 -0
  161. apprc_core-0.25.0/src/apprc/interfaces/tui/__init__.py +9 -0
  162. apprc_core-0.25.0/src/apprc/interfaces/tui/_field_state.py +139 -0
  163. apprc_core-0.25.0/src/apprc/interfaces/tui/_primitives.py +359 -0
  164. apprc_core-0.25.0/src/apprc/interfaces/tui/_rendering.py +413 -0
  165. apprc_core-0.25.0/src/apprc/interfaces/tui/_styles.py +78 -0
  166. apprc_core-0.25.0/src/apprc/interfaces/tui/_value_modal_rendering.py +202 -0
  167. apprc_core-0.25.0/src/apprc/interfaces/tui/editor/__init__.py +8 -0
  168. apprc_core-0.25.0/src/apprc/interfaces/tui/editor/app.py +1101 -0
  169. apprc_core-0.25.0/src/apprc/interfaces/tui/editor/setup.py +339 -0
  170. apprc_core-0.25.0/src/apprc/interfaces/tui/editor/storage_archive.py +102 -0
  171. apprc_core-0.25.0/src/apprc/interfaces/tui/editor/storage_base.py +19 -0
  172. apprc_core-0.25.0/src/apprc/interfaces/tui/editor/storage_editing.py +256 -0
  173. apprc_core-0.25.0/src/apprc/interfaces/tui/editor/storage_registration.py +180 -0
  174. apprc_core-0.25.0/src/apprc/interfaces/tui/editor/storage_removal.py +111 -0
  175. apprc_core-0.25.0/src/apprc/interfaces/tui/editor/workflows.py +240 -0
  176. apprc_core-0.25.0/src/apprc/interfaces/tui/modals/__init__.py +11 -0
  177. apprc_core-0.25.0/src/apprc/interfaces/tui/modals/screens.py +604 -0
  178. apprc_core-0.25.0/src/apprc/interfaces/tui/setup/__init__.py +5 -0
  179. apprc_core-0.25.0/src/apprc/interfaces/tui/setup/app.py +32 -0
  180. apprc_core-0.25.0/src/apprc/interfaces/tui/storage/__init__.py +19 -0
  181. apprc_core-0.25.0/src/apprc/interfaces/tui/storage/entries.py +138 -0
  182. apprc_core-0.25.0/src/apprc/interfaces/tui/storage/selection.py +62 -0
  183. apprc_core-0.25.0/src/apprc/provenance/__init__.py +23 -0
  184. apprc_core-0.25.0/src/apprc/provenance/_exports.py +19 -0
  185. apprc_core-0.25.0/src/apprc/public/__init__.py +8 -0
  186. apprc_core-0.25.0/src/apprc/public/app_rc.py +749 -0
  187. apprc_core-0.25.0/src/apprc/public/config.py +5 -0
  188. apprc_core-0.25.0/src/apprc/public/field.py +196 -0
  189. apprc_core-0.25.0/src/apprc/py.typed +1 -0
  190. apprc_core-0.25.0/src/apprc/runtime/__init__.py +1 -0
  191. apprc_core-0.25.0/src/apprc/runtime/_selection.py +15 -0
  192. apprc_core-0.25.0/src/apprc/runtime/config/__init__.py +1 -0
  193. apprc_core-0.25.0/src/apprc/runtime/config/_binding.py +157 -0
  194. apprc_core-0.25.0/src/apprc/runtime/config/_defaults.py +79 -0
  195. apprc_core-0.25.0/src/apprc/runtime/config/_loading.py +79 -0
  196. apprc_core-0.25.0/src/apprc/runtime/config/_origins.py +75 -0
  197. apprc_core-0.25.0/src/apprc/runtime/config/_post_env_overrides.py +197 -0
  198. apprc_core-0.25.0/src/apprc/runtime/config/_runtime_validation.py +105 -0
  199. apprc_core-0.25.0/src/apprc/runtime/config/_state_transfer.py +166 -0
  200. apprc_core-0.25.0/src/apprc/runtime/config/base.py +373 -0
  201. apprc_core-0.25.0/src/apprc/runtime/config/config.py +411 -0
  202. apprc_core-0.25.0/src/apprc/runtime/logging.py +10 -0
  203. apprc_core-0.25.0/src/apprc/runtime/provenance/__init__.py +25 -0
  204. apprc_core-0.25.0/src/apprc/runtime/provenance/formatting.py +15 -0
  205. apprc_core-0.25.0/src/apprc/runtime/provenance/python.py +148 -0
  206. apprc_core-0.25.0/src/apprc/runtime/resolution.py +388 -0
  207. apprc_core-0.25.0/src/apprc/scaffold/__init__.py +9 -0
  208. apprc_core-0.25.0/src/apprc/scaffold/config_package.py +306 -0
  209. apprc_core-0.25.0/src/apprc/schema/__init__.py +21 -0
  210. apprc_core-0.25.0/src/apprc/schema/_exports.py +13 -0
  211. apprc_core-0.25.0/src/apprc/services/__init__.py +1 -0
  212. apprc_core-0.25.0/src/apprc/services/inspection.py +98 -0
  213. apprc_core-0.25.0/src/apprc/services/manager.py +585 -0
  214. apprc_core-0.25.0/src/apprc/storage/__init__.py +30 -0
  215. apprc_core-0.25.0/src/apprc/storage/_exports.py +18 -0
  216. apprc_core-0.25.0/src/apprc/tui/__init__.py +5 -0
  217. apprc_core-0.25.0/src/apprc/tui/__init__.pyi +6 -0
  218. apprc_core-0.25.0/src/apprc/tui/_facade.py +13 -0
  219. apprc_core-0.25.0/src/apprc/user_files/__init__.py +1 -0
  220. apprc_core-0.25.0/src/apprc/user_files/app_home/__init__.py +17 -0
  221. apprc_core-0.25.0/src/apprc/user_files/app_home/_package_resources.py +36 -0
  222. apprc_core-0.25.0/src/apprc/user_files/app_home/_paths.py +24 -0
  223. apprc_core-0.25.0/src/apprc/user_files/app_home/application.py +106 -0
  224. apprc_core-0.25.0/src/apprc/user_files/app_home/locations.py +228 -0
  225. apprc_core-0.25.0/src/apprc/user_files/app_home/writes.py +42 -0
  226. apprc_core-0.25.0/src/apprc/user_files/env_files/__init__.py +19 -0
  227. apprc_core-0.25.0/src/apprc/user_files/env_files/_document.py +250 -0
  228. apprc_core-0.25.0/src/apprc/user_files/env_files/_parsing.py +61 -0
  229. apprc_core-0.25.0/src/apprc/user_files/env_files/files.py +126 -0
  230. apprc_core-0.25.0/src/apprc/user_files/env_files/layers.py +81 -0
  231. apprc_core-0.25.0/src/apprc/user_files/env_files/updates.py +358 -0
  232. apprc_core-0.25.0/src/apprc/user_files/env_files/values.py +44 -0
  233. apprc_core-0.25.0/src/apprc/user_files/migration.py +802 -0
  234. apprc_core-0.25.0/src/apprc/user_files/purge.py +261 -0
  235. apprc_core-0.25.0/src/apprc/user_files/setup/__init__.py +9 -0
  236. apprc_core-0.25.0/src/apprc/user_files/setup/flow.py +248 -0
  237. apprc_core-0.25.0/src/apprc/user_files/storage_roots/__init__.py +1 -0
  238. apprc_core-0.25.0/src/apprc/user_files/storage_roots/_io.py +275 -0
  239. apprc_core-0.25.0/src/apprc/user_files/storage_roots/_loading.py +257 -0
  240. apprc_core-0.25.0/src/apprc/user_files/storage_roots/_naming.py +41 -0
  241. apprc_core-0.25.0/src/apprc/user_files/storage_roots/archive.py +344 -0
  242. apprc_core-0.25.0/src/apprc/user_files/storage_roots/model.py +71 -0
  243. apprc_core-0.25.0/src/apprc/user_files/storage_roots/move.py +316 -0
  244. apprc_core-0.25.0/src/apprc/user_files/storage_roots/paths.py +142 -0
  245. apprc_core-0.25.0/src/apprc/user_files/storage_roots/readiness.py +83 -0
  246. apprc_core-0.25.0/src/apprc/user_files/storage_roots/registry.py +498 -0
  247. apprc_core-0.25.0/src/apprc/user_files/storage_roots/selector.py +415 -0
  248. apprc_core-0.25.0/src/apprc/utils/__init__.py +12 -0
  249. apprc_core-0.25.0/src/apprc/utils/stdlib.py +143 -0
  250. apprc_core-0.25.0/src/apprc_dev/packaging/artifact_check.py +154 -0
  251. apprc_core-0.25.0/src/apprc_dev/packaging/install_smoke.py +82 -0
  252. apprc_core-0.25.0/src/apprc_dev/packaging/pypi_readme.py +182 -0
  253. apprc_core-0.25.0/src/apprc_dev/packaging/release_notes.py +252 -0
  254. apprc_core-0.25.0/src/apprc_dev/packaging/terminal/LICENSE +21 -0
  255. apprc_core-0.25.0/src/apprc_dev/packaging/terminal/README.md +144 -0
  256. apprc_core-0.25.0/src/apprc_dev/packaging/terminal/pyproject.toml +31 -0
  257. apprc_core-0.25.0/src/apprc_dev/packaging/terminal_metadata.py +98 -0
  258. apprc_core-0.25.0/tests/__init__.py +1 -0
  259. apprc_core-0.25.0/tests/conftest.py +125 -0
  260. apprc_core-0.25.0/tests/public/test_app_rc_public_api.py +572 -0
  261. apprc_core-0.25.0/tests/public/test_management.py +237 -0
  262. apprc_core-0.25.0/tests/public/test_public_api_exports.py +60 -0
  263. apprc_core-0.25.0/tests/public/test_resolution.py +225 -0
  264. apprc_core-0.25.0/tests/snapshots/apprc_root_facade.txt +14 -0
  265. apprc_core-0.25.0/tests/support_config.py +408 -0
  266. apprc_core-0.25.0/tests/support_declaration.py +71 -0
  267. apprc_core-0.25.0/tests/support_tui.py +78 -0
  268. apprc_core-0.25.0/tests/test_app_cli_scaffold.py +224 -0
  269. apprc_core-0.25.0/tests/test_app_spec.py +230 -0
  270. apprc_core-0.25.0/tests/test_architecture_public_api.py +214 -0
  271. apprc_core-0.25.0/tests/test_base_config.py +894 -0
  272. apprc_core-0.25.0/tests/test_cli_integration.py +838 -0
  273. apprc_core-0.25.0/tests/test_cli_runtime.py +1047 -0
  274. apprc_core-0.25.0/tests/test_config_commands.py +447 -0
  275. apprc_core-0.25.0/tests/test_config_doctor_conventions.py +54 -0
  276. apprc_core-0.25.0/tests/test_config_home.py +100 -0
  277. apprc_core-0.25.0/tests/test_config_inspection.py +376 -0
  278. apprc_core-0.25.0/tests/test_config_migration.py +379 -0
  279. apprc_core-0.25.0/tests/test_config_purge.py +148 -0
  280. apprc_core-0.25.0/tests/test_config_setup_cli.py +273 -0
  281. apprc_core-0.25.0/tests/test_config_tui_editor.py +390 -0
  282. apprc_core-0.25.0/tests/test_config_tui_field_state.py +145 -0
  283. apprc_core-0.25.0/tests/test_config_tui_modal.py +92 -0
  284. apprc_core-0.25.0/tests/test_config_tui_rendering.py +236 -0
  285. apprc_core-0.25.0/tests/test_config_tui_setup.py +299 -0
  286. apprc_core-0.25.0/tests/test_config_tui_storage_entries.py +100 -0
  287. apprc_core-0.25.0/tests/test_documentation.py +200 -0
  288. apprc_core-0.25.0/tests/test_dotenv_parsing.py +53 -0
  289. apprc_core-0.25.0/tests/test_env_file.py +368 -0
  290. apprc_core-0.25.0/tests/test_example_app_registry.py +39 -0
  291. apprc_core-0.25.0/tests/test_example_lab.py +99 -0
  292. apprc_core-0.25.0/tests/test_example_library_client.py +46 -0
  293. apprc_core-0.25.0/tests/test_first_run_setup.py +231 -0
  294. apprc_core-0.25.0/tests/test_install_smoke.py +55 -0
  295. apprc_core-0.25.0/tests/test_main_cli.py +941 -0
  296. apprc_core-0.25.0/tests/test_public_facades.py +272 -0
  297. apprc_core-0.25.0/tests/test_pypi_readme.py +79 -0
  298. apprc_core-0.25.0/tests/test_release_notes.py +193 -0
  299. apprc_core-0.25.0/tests/test_source_resolution.py +589 -0
  300. apprc_core-0.25.0/tests/test_storage_archive.py +276 -0
  301. apprc_core-0.25.0/tests/test_storage_move.py +106 -0
  302. apprc_core-0.25.0/tests/test_storage_output.py +52 -0
  303. apprc_core-0.25.0/tests/test_storage_registry.py +868 -0
  304. apprc_core-0.25.0/tests/test_typer_utils.py +164 -0
  305. apprc_core-0.25.0/tests/test_utils.py +21 -0
@@ -0,0 +1,38 @@
1
+ # Repository conventions
2
+
3
+ ## Repo routing
4
+ - Warn me if the paths below appear outdated.
5
+ - Reuse existing helpers and utilities before adding new helper functions.
6
+ - Check these modules first:
7
+ - `apprc.utils`
8
+ - If a helper is broadly reusable, place it in the appropriate shared module.
9
+ - Mind the TODO.md before starting, assess if issues are related to your task and fix those that should be solved as part of your pass.
10
+
11
+ ## Project rules
12
+ - Do not duplicate helpers or re-implement existing utilities without checking first.
13
+ - Import `apprc`-owned utility helpers through the facade: `import apprc.utils as ut`.
14
+ - AppRC production code must use stdlib `logging`; semantic logging helpers
15
+ live outside this repository.
16
+ - For facade `__init__.py` files, prefer clean batch re-export imports plus file-level `# ruff: noqa: F401`; do not use redundant `symbol as symbol` aliases solely to satisfy Ruff.
17
+ - Update `README.md`, docs, and changelogs when a change affects usage,
18
+ setup, CLI behavior, public APIs, environment variables, user-visible
19
+ workflows, or release-relevant behavior.
20
+ - Add minimal `__main__` demo code only when it improves discoverability or manual testing.
21
+ - If a test needs a lighter setup, add or reuse a dedicated test helper instead of widening production code to `Any`.
22
+ - If a boundary is truly dynamic, model that boundary explicitly; do not probe strict domain objects defensively.
23
+ - Update the TODO.md when you find a new issue that is real, actionable, and out of scope for the current change. Do not modify `TODO.md` when there is nothing useful to add.
24
+
25
+ ## Blocking user-input policy
26
+
27
+ - When invoking `request_user_input`, never set or pass `autoResolutionMs`.
28
+ - Treat every question as blocking and wait indefinitely for my explicit response.
29
+ - Never infer, choose, submit, or continue based on a presumed answer.
30
+ - If my answer is required, do not continue until I explicitly provide it.
31
+
32
+ ## Documentation
33
+ - Read and follow [Documentation rules](docs/README.md#documentation-rules) before editing documentation.
34
+ - Keep component names and document labels fixed; use inline links to exact explanations, guides, references, and examples.
35
+
36
+ ## Verification
37
+ - Review the diff for duplicate helpers, naming drift, unnecessary abstractions, and regressions.
38
+ - Run the project’s relevant lint, type-check, and test commands before considering the task done.