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.
- apprc_core-0.25.0/AGENTS.md +38 -0
- apprc_core-0.25.0/CHANGELOG.md +1506 -0
- apprc_core-0.25.0/LICENSE +21 -0
- apprc_core-0.25.0/PKG-INFO +172 -0
- apprc_core-0.25.0/README.md +143 -0
- apprc_core-0.25.0/README.pypi.md +144 -0
- apprc_core-0.25.0/TODO.md +165 -0
- apprc_core-0.25.0/docs/Development.md +181 -0
- apprc_core-0.25.0/docs/EXAMPLES.md +319 -0
- apprc_core-0.25.0/docs/Explanations.md +390 -0
- apprc_core-0.25.0/docs/How-To-User-Guides.md +821 -0
- apprc_core-0.25.0/docs/README.md +120 -0
- apprc_core-0.25.0/docs/References.md +377 -0
- apprc_core-0.25.0/docs/assets/_graphigs_svg.py +71 -0
- apprc_core-0.25.0/docs/assets/apprc-abstract-configuration-overview.svg +305 -0
- apprc_core-0.25.0/docs/assets/apprc-abstract-contract-workflows.svg +251 -0
- apprc_core-0.25.0/docs/assets/apprc-abstract-layer-cake.svg +136 -0
- apprc_core-0.25.0/docs/assets/apprc-abstract-user-journey.svg +152 -0
- apprc_core-0.25.0/docs/assets/apprc-runtime-layers.svg +104 -0
- apprc_core-0.25.0/docs/assets/apprc-storage-config-locations.svg +325 -0
- apprc_core-0.25.0/docs/assets/apprc_abstract_configuration_overview.py +426 -0
- apprc_core-0.25.0/docs/assets/apprc_abstract_contract_workflows.py +192 -0
- apprc_core-0.25.0/docs/assets/apprc_abstract_layer_cake.py +155 -0
- apprc_core-0.25.0/docs/assets/apprc_abstract_user_journey.py +213 -0
- apprc_core-0.25.0/docs/assets/apprc_runtime_layers.py +128 -0
- apprc_core-0.25.0/docs/assets/apprc_storage_config_locations.py +658 -0
- apprc_core-0.25.0/docs/assets/docs-reading-map.svg +97 -0
- apprc_core-0.25.0/docs/assets/docs_reading_map.py +121 -0
- apprc_core-0.25.0/docs/assets/render_all.py +82 -0
- apprc_core-0.25.0/examples/example_apps/README.md +112 -0
- apprc_core-0.25.0/examples/example_apps/pyproject.toml +38 -0
- apprc_core-0.25.0/examples/example_apps/src/_example_apps_utils/README.md +15 -0
- apprc_core-0.25.0/examples/example_apps/src/_example_apps_utils/__init__.py +17 -0
- apprc_core-0.25.0/examples/example_apps/src/_example_apps_utils/lab.py +163 -0
- apprc_core-0.25.0/examples/example_apps/src/_example_apps_utils/registry.py +127 -0
- apprc_core-0.25.0/examples/example_apps/src/_example_apps_utils/run_all.py +230 -0
- apprc_core-0.25.0/examples/example_apps/src/cli_runtime/README.md +28 -0
- apprc_core-0.25.0/examples/example_apps/src/cli_runtime/__init__.py +17 -0
- apprc_core-0.25.0/examples/example_apps/src/cli_runtime/cli.py +218 -0
- apprc_core-0.25.0/examples/example_apps/src/cli_runtime/config/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/cli_runtime/config/app.py +13 -0
- apprc_core-0.25.0/examples/example_apps/src/cli_runtime/config/apprc.defaults.env +4 -0
- apprc_core-0.25.0/examples/example_apps/src/cli_runtime/config/bundle.py +14 -0
- apprc_core-0.25.0/examples/example_apps/src/cli_runtime/config/sections/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/cli_runtime/config/sections/runtime/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/cli_runtime/config/sections/runtime/settings.py +34 -0
- apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/README.md +30 -0
- apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/__init__.py +9 -0
- apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/cli.py +82 -0
- apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/config/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/config/app.py +13 -0
- apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/config/apprc.defaults.env +4 -0
- apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/config/bundle.py +18 -0
- apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/config/sections/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/explicit_env_precedence/config/sections/app.py +31 -0
- apprc_core-0.25.0/examples/example_apps/src/library_client/README.md +40 -0
- apprc_core-0.25.0/examples/example_apps/src/library_client/__init__.py +5 -0
- apprc_core-0.25.0/examples/example_apps/src/library_client/cli.py +72 -0
- apprc_core-0.25.0/examples/example_apps/src/library_client/client.py +24 -0
- apprc_core-0.25.0/examples/example_apps/src/library_client/config/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/library_client/config/app.py +12 -0
- apprc_core-0.25.0/examples/example_apps/src/library_client/config/apprc.defaults.env +1 -0
- apprc_core-0.25.0/examples/example_apps/src/library_client/config/bundle.py +14 -0
- apprc_core-0.25.0/examples/example_apps/src/library_client/config/sections/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/library_client/config/sections/client.py +16 -0
- apprc_core-0.25.0/examples/example_apps/src/process_env/README.md +9 -0
- apprc_core-0.25.0/examples/example_apps/src/process_env/__init__.py +8 -0
- apprc_core-0.25.0/examples/example_apps/src/process_env/cli.py +74 -0
- apprc_core-0.25.0/examples/example_apps/src/process_env/config/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/process_env/config/app.py +11 -0
- apprc_core-0.25.0/examples/example_apps/src/process_env/config/bundle.py +14 -0
- apprc_core-0.25.0/examples/example_apps/src/process_env/config/sections/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/process_env/config/sections/app.py +22 -0
- apprc_core-0.25.0/examples/example_apps/src/storage/README.md +8 -0
- apprc_core-0.25.0/examples/example_apps/src/storage/__init__.py +8 -0
- apprc_core-0.25.0/examples/example_apps/src/storage/cli.py +80 -0
- apprc_core-0.25.0/examples/example_apps/src/storage/config/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/storage/config/app.py +12 -0
- apprc_core-0.25.0/examples/example_apps/src/storage/config/bundle.py +14 -0
- apprc_core-0.25.0/examples/example_apps/src/storage/config/sections/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/storage/config/sections/app.py +32 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv/README.md +9 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv/__init__.py +8 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv/cli.py +74 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv/config/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv/config/app.py +12 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv/config/bundle.py +14 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv/config/sections/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv/config/sections/app.py +22 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/README.md +9 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/__init__.py +15 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/cli.py +82 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/config/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/config/app.py +13 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/config/bundle.py +14 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/config/sections/__init__.py +1 -0
- apprc_core-0.25.0/examples/example_apps/src/user_dotenv_with_storage/config/sections/app.py +32 -0
- apprc_core-0.25.0/examples/section_bundle.py +64 -0
- apprc_core-0.25.0/pyproject.toml +134 -0
- apprc_core-0.25.0/pyproject.toml.orig +165 -0
- apprc_core-0.25.0/src/apprc/__init__.py +21 -0
- apprc_core-0.25.0/src/apprc/__main__.py +7 -0
- apprc_core-0.25.0/src/apprc/_cli_app.py +116 -0
- apprc_core-0.25.0/src/apprc/_dotenv_guard.py +29 -0
- apprc_core-0.25.0/src/apprc/_exports.py +18 -0
- apprc_core-0.25.0/src/apprc/_lazy.py +62 -0
- apprc_core-0.25.0/src/apprc/cli/__init__.py +7 -0
- apprc_core-0.25.0/src/apprc/cli/__init__.pyi +65 -0
- apprc_core-0.25.0/src/apprc/cli/_facade.py +81 -0
- apprc_core-0.25.0/src/apprc/definition/__init__.py +1 -0
- apprc_core-0.25.0/src/apprc/definition/app_config/__init__.py +7 -0
- apprc_core-0.25.0/src/apprc/definition/app_config/_validation.py +57 -0
- apprc_core-0.25.0/src/apprc/definition/app_config/spec.py +214 -0
- apprc_core-0.25.0/src/apprc/definition/app_config/storage.py +20 -0
- apprc_core-0.25.0/src/apprc/definition/app_config/user_dotenv.py +19 -0
- apprc_core-0.25.0/src/apprc/definition/env_config/__init__.py +19 -0
- apprc_core-0.25.0/src/apprc/definition/env_config/_validation.py +154 -0
- apprc_core-0.25.0/src/apprc/definition/env_config/conversion.py +93 -0
- apprc_core-0.25.0/src/apprc/definition/env_config/lookup.py +79 -0
- apprc_core-0.25.0/src/apprc/definition/env_config/schema.py +185 -0
- apprc_core-0.25.0/src/apprc/definition/env_config/sentinels.py +17 -0
- apprc_core-0.25.0/src/apprc/definition/provenance.py +108 -0
- apprc_core-0.25.0/src/apprc/definition/resolution.py +86 -0
- apprc_core-0.25.0/src/apprc/files/__init__.py +25 -0
- apprc_core-0.25.0/src/apprc/files/_exports.py +19 -0
- apprc_core-0.25.0/src/apprc/interfaces/__init__.py +7 -0
- apprc_core-0.25.0/src/apprc/interfaces/__init__.pyi +33 -0
- apprc_core-0.25.0/src/apprc/interfaces/_facade.py +45 -0
- apprc_core-0.25.0/src/apprc/interfaces/_setup_text.py +165 -0
- apprc_core-0.25.0/src/apprc/interfaces/_terminal_styles.py +129 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/__init__.py +64 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/_errors.py +20 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/_interactive_setup.py +207 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/_resolution.py +113 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/_typer_utils.py +261 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/__init__.py +27 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_base.py +414 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_editor_commands.py +106 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_editor_launcher.py +190 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_handlers.py +55 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_output.py +146 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_prompts.py +185 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_runtime_commands.py +486 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_runtime_payload.py +58 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_selector_context.py +219 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/_storage_commands.py +201 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/app.py +479 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/group_options.py +50 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/config_command/state.py +328 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/context.py +288 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/diagnostics/__init__.py +13 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/diagnostics/_diagnosis.py +191 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/diagnostics/messages.py +191 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/diagnostics/payload.py +220 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/diagnostics/status.py +17 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/doctor_output.py +334 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/mount.py +251 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/options.py +73 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/runtime.py +802 -0
- apprc_core-0.25.0/src/apprc/interfaces/cli/setup_command.py +331 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/__init__.py +9 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/_field_state.py +139 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/_primitives.py +359 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/_rendering.py +413 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/_styles.py +78 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/_value_modal_rendering.py +202 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/editor/__init__.py +8 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/editor/app.py +1101 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/editor/setup.py +339 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/editor/storage_archive.py +102 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/editor/storage_base.py +19 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/editor/storage_editing.py +256 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/editor/storage_registration.py +180 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/editor/storage_removal.py +111 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/editor/workflows.py +240 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/modals/__init__.py +11 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/modals/screens.py +604 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/setup/__init__.py +5 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/setup/app.py +32 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/storage/__init__.py +19 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/storage/entries.py +138 -0
- apprc_core-0.25.0/src/apprc/interfaces/tui/storage/selection.py +62 -0
- apprc_core-0.25.0/src/apprc/provenance/__init__.py +23 -0
- apprc_core-0.25.0/src/apprc/provenance/_exports.py +19 -0
- apprc_core-0.25.0/src/apprc/public/__init__.py +8 -0
- apprc_core-0.25.0/src/apprc/public/app_rc.py +749 -0
- apprc_core-0.25.0/src/apprc/public/config.py +5 -0
- apprc_core-0.25.0/src/apprc/public/field.py +196 -0
- apprc_core-0.25.0/src/apprc/py.typed +1 -0
- apprc_core-0.25.0/src/apprc/runtime/__init__.py +1 -0
- apprc_core-0.25.0/src/apprc/runtime/_selection.py +15 -0
- apprc_core-0.25.0/src/apprc/runtime/config/__init__.py +1 -0
- apprc_core-0.25.0/src/apprc/runtime/config/_binding.py +157 -0
- apprc_core-0.25.0/src/apprc/runtime/config/_defaults.py +79 -0
- apprc_core-0.25.0/src/apprc/runtime/config/_loading.py +79 -0
- apprc_core-0.25.0/src/apprc/runtime/config/_origins.py +75 -0
- apprc_core-0.25.0/src/apprc/runtime/config/_post_env_overrides.py +197 -0
- apprc_core-0.25.0/src/apprc/runtime/config/_runtime_validation.py +105 -0
- apprc_core-0.25.0/src/apprc/runtime/config/_state_transfer.py +166 -0
- apprc_core-0.25.0/src/apprc/runtime/config/base.py +373 -0
- apprc_core-0.25.0/src/apprc/runtime/config/config.py +411 -0
- apprc_core-0.25.0/src/apprc/runtime/logging.py +10 -0
- apprc_core-0.25.0/src/apprc/runtime/provenance/__init__.py +25 -0
- apprc_core-0.25.0/src/apprc/runtime/provenance/formatting.py +15 -0
- apprc_core-0.25.0/src/apprc/runtime/provenance/python.py +148 -0
- apprc_core-0.25.0/src/apprc/runtime/resolution.py +388 -0
- apprc_core-0.25.0/src/apprc/scaffold/__init__.py +9 -0
- apprc_core-0.25.0/src/apprc/scaffold/config_package.py +306 -0
- apprc_core-0.25.0/src/apprc/schema/__init__.py +21 -0
- apprc_core-0.25.0/src/apprc/schema/_exports.py +13 -0
- apprc_core-0.25.0/src/apprc/services/__init__.py +1 -0
- apprc_core-0.25.0/src/apprc/services/inspection.py +98 -0
- apprc_core-0.25.0/src/apprc/services/manager.py +585 -0
- apprc_core-0.25.0/src/apprc/storage/__init__.py +30 -0
- apprc_core-0.25.0/src/apprc/storage/_exports.py +18 -0
- apprc_core-0.25.0/src/apprc/tui/__init__.py +5 -0
- apprc_core-0.25.0/src/apprc/tui/__init__.pyi +6 -0
- apprc_core-0.25.0/src/apprc/tui/_facade.py +13 -0
- apprc_core-0.25.0/src/apprc/user_files/__init__.py +1 -0
- apprc_core-0.25.0/src/apprc/user_files/app_home/__init__.py +17 -0
- apprc_core-0.25.0/src/apprc/user_files/app_home/_package_resources.py +36 -0
- apprc_core-0.25.0/src/apprc/user_files/app_home/_paths.py +24 -0
- apprc_core-0.25.0/src/apprc/user_files/app_home/application.py +106 -0
- apprc_core-0.25.0/src/apprc/user_files/app_home/locations.py +228 -0
- apprc_core-0.25.0/src/apprc/user_files/app_home/writes.py +42 -0
- apprc_core-0.25.0/src/apprc/user_files/env_files/__init__.py +19 -0
- apprc_core-0.25.0/src/apprc/user_files/env_files/_document.py +250 -0
- apprc_core-0.25.0/src/apprc/user_files/env_files/_parsing.py +61 -0
- apprc_core-0.25.0/src/apprc/user_files/env_files/files.py +126 -0
- apprc_core-0.25.0/src/apprc/user_files/env_files/layers.py +81 -0
- apprc_core-0.25.0/src/apprc/user_files/env_files/updates.py +358 -0
- apprc_core-0.25.0/src/apprc/user_files/env_files/values.py +44 -0
- apprc_core-0.25.0/src/apprc/user_files/migration.py +802 -0
- apprc_core-0.25.0/src/apprc/user_files/purge.py +261 -0
- apprc_core-0.25.0/src/apprc/user_files/setup/__init__.py +9 -0
- apprc_core-0.25.0/src/apprc/user_files/setup/flow.py +248 -0
- apprc_core-0.25.0/src/apprc/user_files/storage_roots/__init__.py +1 -0
- apprc_core-0.25.0/src/apprc/user_files/storage_roots/_io.py +275 -0
- apprc_core-0.25.0/src/apprc/user_files/storage_roots/_loading.py +257 -0
- apprc_core-0.25.0/src/apprc/user_files/storage_roots/_naming.py +41 -0
- apprc_core-0.25.0/src/apprc/user_files/storage_roots/archive.py +344 -0
- apprc_core-0.25.0/src/apprc/user_files/storage_roots/model.py +71 -0
- apprc_core-0.25.0/src/apprc/user_files/storage_roots/move.py +316 -0
- apprc_core-0.25.0/src/apprc/user_files/storage_roots/paths.py +142 -0
- apprc_core-0.25.0/src/apprc/user_files/storage_roots/readiness.py +83 -0
- apprc_core-0.25.0/src/apprc/user_files/storage_roots/registry.py +498 -0
- apprc_core-0.25.0/src/apprc/user_files/storage_roots/selector.py +415 -0
- apprc_core-0.25.0/src/apprc/utils/__init__.py +12 -0
- apprc_core-0.25.0/src/apprc/utils/stdlib.py +143 -0
- apprc_core-0.25.0/src/apprc_dev/packaging/artifact_check.py +154 -0
- apprc_core-0.25.0/src/apprc_dev/packaging/install_smoke.py +82 -0
- apprc_core-0.25.0/src/apprc_dev/packaging/pypi_readme.py +182 -0
- apprc_core-0.25.0/src/apprc_dev/packaging/release_notes.py +252 -0
- apprc_core-0.25.0/src/apprc_dev/packaging/terminal/LICENSE +21 -0
- apprc_core-0.25.0/src/apprc_dev/packaging/terminal/README.md +144 -0
- apprc_core-0.25.0/src/apprc_dev/packaging/terminal/pyproject.toml +31 -0
- apprc_core-0.25.0/src/apprc_dev/packaging/terminal_metadata.py +98 -0
- apprc_core-0.25.0/tests/__init__.py +1 -0
- apprc_core-0.25.0/tests/conftest.py +125 -0
- apprc_core-0.25.0/tests/public/test_app_rc_public_api.py +572 -0
- apprc_core-0.25.0/tests/public/test_management.py +237 -0
- apprc_core-0.25.0/tests/public/test_public_api_exports.py +60 -0
- apprc_core-0.25.0/tests/public/test_resolution.py +225 -0
- apprc_core-0.25.0/tests/snapshots/apprc_root_facade.txt +14 -0
- apprc_core-0.25.0/tests/support_config.py +408 -0
- apprc_core-0.25.0/tests/support_declaration.py +71 -0
- apprc_core-0.25.0/tests/support_tui.py +78 -0
- apprc_core-0.25.0/tests/test_app_cli_scaffold.py +224 -0
- apprc_core-0.25.0/tests/test_app_spec.py +230 -0
- apprc_core-0.25.0/tests/test_architecture_public_api.py +214 -0
- apprc_core-0.25.0/tests/test_base_config.py +894 -0
- apprc_core-0.25.0/tests/test_cli_integration.py +838 -0
- apprc_core-0.25.0/tests/test_cli_runtime.py +1047 -0
- apprc_core-0.25.0/tests/test_config_commands.py +447 -0
- apprc_core-0.25.0/tests/test_config_doctor_conventions.py +54 -0
- apprc_core-0.25.0/tests/test_config_home.py +100 -0
- apprc_core-0.25.0/tests/test_config_inspection.py +376 -0
- apprc_core-0.25.0/tests/test_config_migration.py +379 -0
- apprc_core-0.25.0/tests/test_config_purge.py +148 -0
- apprc_core-0.25.0/tests/test_config_setup_cli.py +273 -0
- apprc_core-0.25.0/tests/test_config_tui_editor.py +390 -0
- apprc_core-0.25.0/tests/test_config_tui_field_state.py +145 -0
- apprc_core-0.25.0/tests/test_config_tui_modal.py +92 -0
- apprc_core-0.25.0/tests/test_config_tui_rendering.py +236 -0
- apprc_core-0.25.0/tests/test_config_tui_setup.py +299 -0
- apprc_core-0.25.0/tests/test_config_tui_storage_entries.py +100 -0
- apprc_core-0.25.0/tests/test_documentation.py +200 -0
- apprc_core-0.25.0/tests/test_dotenv_parsing.py +53 -0
- apprc_core-0.25.0/tests/test_env_file.py +368 -0
- apprc_core-0.25.0/tests/test_example_app_registry.py +39 -0
- apprc_core-0.25.0/tests/test_example_lab.py +99 -0
- apprc_core-0.25.0/tests/test_example_library_client.py +46 -0
- apprc_core-0.25.0/tests/test_first_run_setup.py +231 -0
- apprc_core-0.25.0/tests/test_install_smoke.py +55 -0
- apprc_core-0.25.0/tests/test_main_cli.py +941 -0
- apprc_core-0.25.0/tests/test_public_facades.py +272 -0
- apprc_core-0.25.0/tests/test_pypi_readme.py +79 -0
- apprc_core-0.25.0/tests/test_release_notes.py +193 -0
- apprc_core-0.25.0/tests/test_source_resolution.py +589 -0
- apprc_core-0.25.0/tests/test_storage_archive.py +276 -0
- apprc_core-0.25.0/tests/test_storage_move.py +106 -0
- apprc_core-0.25.0/tests/test_storage_output.py +52 -0
- apprc_core-0.25.0/tests/test_storage_registry.py +868 -0
- apprc_core-0.25.0/tests/test_typer_utils.py +164 -0
- 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.
|