.envctl.yaml
.gitattributes
.gitignore
.importlinter
.pre-commit-config.yaml
CHANGELOG.md
CONTRIBUTING.md
LICENSE
Makefile
README.md
SECURITY.md
clinter.toml
mkdocs.yml
pyproject.toml
uv.lock
.githooks/_shared_hook.sh
.githooks/post-checkout
.githooks/post-commit
.githooks/post-merge
.githooks/pre-commit
.githooks/pre-push
.github/dependabot.yml
.github/pull_request_template.md
.github/release-playbook.md
.github/ISSUE_TEMPLATE/bug_report.md
.github/ISSUE_TEMPLATE/feature_request.md
.github/workflows/ci-coverage.yml
.github/workflows/ci-quality.yml
.github/workflows/ci-tests.yml
.github/workflows/dependabot-auto-merge.yml
.github/workflows/docs.yml
.github/workflows/release.yml
brand/README.md
brand/banner/.gitkeep
brand/logo/.gitkeep
brand/logo/envctl-logo.png
brand/mascot/.gitkeep
brand/palette/.gitkeep
docs/index.md
docs/architecture/boundaries.md
docs/architecture/index.md
docs/architecture/layers.md
docs/assets/favicon/favicon.ico
docs/assets/images/404.png
docs/assets/images/diagrams/.gitkeep
docs/assets/images/diagrams/envctl-model.svg
docs/assets/images/guides/.gitkeep
docs/assets/images/screenshots/.gitkeep
docs/assets/images/social/envctl-banner.png
docs/assets/javascripts/00-core.js
docs/assets/javascripts/01-header.js
docs/assets/javascripts/02-tabs.js
docs/assets/javascripts/03-reveal.js
docs/assets/javascripts/04-copy.js
docs/assets/javascripts/05-backtotop.js
docs/assets/javascripts/scripts.js
docs/assets/logo/envctl-logo.png
docs/assets/mascot/.gitkeep
docs/assets/stylesheets/00-fonts.css
docs/assets/stylesheets/01-tokens-dark.css
docs/assets/stylesheets/01-tokens.css
docs/assets/stylesheets/02-base.css
docs/assets/stylesheets/03-landing-dark.css
docs/assets/stylesheets/03-landing.css
docs/assets/stylesheets/04-docs.css
docs/assets/stylesheets/05-components-dark.css
docs/assets/stylesheets/05-components.css
docs/assets/stylesheets/06-overrides-material-dark.css
docs/assets/stylesheets/06-overrides-material.css
docs/assets/stylesheets/07-utilities.css
docs/assets/stylesheets/styles.css
docs/concepts/binding.md
docs/concepts/contract.md
docs/concepts/hooks.md
docs/concepts/index.md
docs/concepts/metadata.md
docs/concepts/profiles.md
docs/concepts/projection.md
docs/concepts/resolution.md
docs/concepts/vault.md
docs/getting-started/first-project.md
docs/getting-started/index.md
docs/getting-started/installation.md
docs/getting-started/mental-model.md
docs/getting-started/quickstart.md
docs/guides/ci.md
docs/guides/debugging.md
docs/guides/docker.md
docs/guides/hooks.md
docs/guides/index.md
docs/guides/profiles.md
docs/guides/team.md
docs/internals/architecture.md
docs/internals/compatibility.md
docs/reference/configuration.md
docs/reference/distribution.md
docs/reference/encryption.md
docs/reference/index.md
docs/reference/observability.md
docs/reference/platforms.md
docs/reference/profiles.md
docs/reference/roadmap.md
docs/reference/security.md
docs/reference/vault.md
docs/reference/commands/add.md
docs/reference/commands/check.md
docs/reference/commands/config.md
docs/reference/commands/export.md
docs/reference/commands/fill.md
docs/reference/commands/guard.md
docs/reference/commands/hooks.md
docs/reference/commands/index.md
docs/reference/commands/init.md
docs/reference/commands/inspect.md
docs/reference/commands/profile.md
docs/reference/commands/project.md
docs/reference/commands/remove.md
docs/reference/commands/run.md
docs/reference/commands/set.md
docs/reference/commands/status.md
docs/reference/commands/sync.md
docs/reference/commands/unset.md
docs/reference/commands/vault.md
docs/troubleshooting/common-errors.md
docs/troubleshooting/hooks.md
docs/troubleshooting/index.md
docs/troubleshooting/recovery.md
docs/workflows/daily.md
overrides/404.html
overrides/home.html
overrides/main.html
overrides/partials/.gitkeep
overrides/partials/advanced-note.html
overrides/partials/page-context.html
overrides/partials/icons/github.html
src/envctl/__init__.py
src/envctl/__main__.py
src/envctl/constants.py
src/envctl/errors.py
src/envctl/vault_crypto.py
src/envctl.egg-info/PKG-INFO
src/envctl.egg-info/SOURCES.txt
src/envctl.egg-info/dependency_links.txt
src/envctl.egg-info/entry_points.txt
src/envctl.egg-info/requires.txt
src/envctl.egg-info/top_level.txt
src/envctl/adapters/__init__.py
src/envctl/adapters/dotenv.py
src/envctl/adapters/editor.py
src/envctl/adapters/git.py
src/envctl/adapters/projection_rendering.py
src/envctl/cli/__init__.py
src/envctl/cli/app.py
src/envctl/cli/callbacks.py
src/envctl/cli/command_support.py
src/envctl/cli/decorators.py
src/envctl/cli/lazy_group.py
src/envctl/cli/runtime.py
src/envctl/cli/typer_theme.py
src/envctl/cli/types.py
src/envctl/cli/commands/__init__.py
src/envctl/cli/commands/add/__init__.py
src/envctl/cli/commands/add/command.py
src/envctl/cli/commands/check/__init__.py
src/envctl/cli/commands/check/command.py
src/envctl/cli/commands/config/__init__.py
src/envctl/cli/commands/config/app.py
src/envctl/cli/commands/doctor/__init__.py
src/envctl/cli/commands/doctor/command.py
src/envctl/cli/commands/explain/__init__.py
src/envctl/cli/commands/explain/command.py
src/envctl/cli/commands/export/__init__.py
src/envctl/cli/commands/export/command.py
src/envctl/cli/commands/fill/__init__.py
src/envctl/cli/commands/fill/command.py
src/envctl/cli/commands/guard/__init__.py
src/envctl/cli/commands/guard/app.py
src/envctl/cli/commands/guard/command.py
src/envctl/cli/commands/hook_run/__init__.py
src/envctl/cli/commands/hook_run/command.py
src/envctl/cli/commands/hooks/__init__.py
src/envctl/cli/commands/hooks/app.py
src/envctl/cli/commands/hooks/command.py
src/envctl/cli/commands/init/__init__.py
src/envctl/cli/commands/init/command.py
src/envctl/cli/commands/inspect/__init__.py
src/envctl/cli/commands/inspect/command.py
src/envctl/cli/commands/profile/__init__.py
src/envctl/cli/commands/profile/app.py
src/envctl/cli/commands/profile/commands/__init__.py
src/envctl/cli/commands/profile/commands/copy.py
src/envctl/cli/commands/profile/commands/create.py
src/envctl/cli/commands/profile/commands/list.py
src/envctl/cli/commands/profile/commands/path.py
src/envctl/cli/commands/profile/commands/remove.py
src/envctl/cli/commands/project/__init__.py
src/envctl/cli/commands/project/app.py
src/envctl/cli/commands/project/commands/__init__.py
src/envctl/cli/commands/project/commands/bind.py
src/envctl/cli/commands/project/commands/rebind.py
src/envctl/cli/commands/project/commands/repair.py
src/envctl/cli/commands/project/commands/unbind.py
src/envctl/cli/commands/remove/__init__.py
src/envctl/cli/commands/remove/command.py
src/envctl/cli/commands/run/__init__.py
src/envctl/cli/commands/run/command.py
src/envctl/cli/commands/set/__init__.py
src/envctl/cli/commands/set/command.py
src/envctl/cli/commands/status/__init__.py
src/envctl/cli/commands/status/command.py
src/envctl/cli/commands/sync/__init__.py
src/envctl/cli/commands/sync/command.py
src/envctl/cli/commands/unset/__init__.py
src/envctl/cli/commands/unset/command.py
src/envctl/cli/commands/vault/__init__.py
src/envctl/cli/commands/vault/app.py
src/envctl/cli/commands/vault/commands/__init__.py
src/envctl/cli/commands/vault/commands/audit.py
src/envctl/cli/commands/vault/commands/check.py
src/envctl/cli/commands/vault/commands/decrypt.py
src/envctl/cli/commands/vault/commands/edit.py
src/envctl/cli/commands/vault/commands/encrypt.py
src/envctl/cli/commands/vault/commands/path.py
src/envctl/cli/commands/vault/commands/prune.py
src/envctl/cli/commands/vault/commands/show.py
src/envctl/cli/compat/__init__.py
src/envctl/cli/compat/deprecated_commands.py
src/envctl/cli/compat/legacy_json.py
src/envctl/cli/presenters/__init__.py
src/envctl/cli/presenters/action_presenter.py
src/envctl/cli/presenters/check_presenter.py
src/envctl/cli/presenters/common.py
src/envctl/cli/presenters/config_error_presenter.py
src/envctl/cli/presenters/contract_error_presenter.py
src/envctl/cli/presenters/deprecation_presenter.py
src/envctl/cli/presenters/hooks_presenter.py
src/envctl/cli/presenters/inspect_presenter.py
src/envctl/cli/presenters/profile_presenter.py
src/envctl/cli/presenters/project_presenter.py
src/envctl/cli/presenters/projection_error_presenter.py
src/envctl/cli/presenters/repository_error_presenter.py
src/envctl/cli/presenters/resolution_presenter.py
src/envctl/cli/presenters/run_presenter.py
src/envctl/cli/presenters/state_error_presenter.py
src/envctl/cli/presenters/status_presenter.py
src/envctl/cli/presenters/vault_presenter.py
src/envctl/cli/prompts/__init__.py
src/envctl/cli/prompts/confirmation_prompts.py
src/envctl/cli/prompts/input.py
src/envctl/cli/serializers/__init__.py
src/envctl/cli/serializers/check.py
src/envctl/cli/serializers/common.py
src/envctl/cli/serializers/context.py
src/envctl/cli/serializers/deprecations.py
src/envctl/cli/serializers/diagnostics.py
src/envctl/cli/serializers/errors.py
src/envctl/cli/serializers/export.py
src/envctl/cli/serializers/hooks.py
src/envctl/cli/serializers/inspect.py
src/envctl/cli/serializers/resolution.py
src/envctl/cli/serializers/status.py
src/envctl/cli/serializers/warnings.py
src/envctl/config/__init__.py
src/envctl/config/defaults.py
src/envctl/config/loader.py
src/envctl/config/profile_resolution.py
src/envctl/config/writer.py
src/envctl/domain/__init__.py
src/envctl/domain/app_config.py
src/envctl/domain/contract.py
src/envctl/domain/contract_inference.py
src/envctl/domain/contract_sets.py
src/envctl/domain/deprecations.py
src/envctl/domain/diagnostics.py
src/envctl/domain/error_diagnostics.py
src/envctl/domain/expansion.py
src/envctl/domain/hooks.py
src/envctl/domain/operations.py
src/envctl/domain/project.py
src/envctl/domain/resolution.py
src/envctl/domain/runtime.py
src/envctl/domain/selection.py
src/envctl/domain/selection_resolution.py
src/envctl/domain/status.py
src/envctl/observability/__init__.py
src/envctl/observability/context.py
src/envctl/observability/emitters.py
src/envctl/observability/error_mapping.py
src/envctl/observability/events.py
src/envctl/observability/fields.py
src/envctl/observability/models.py
src/envctl/observability/recorder.py
src/envctl/observability/renderers.py
src/envctl/observability/sanitization.py
src/envctl/observability/settings.py
src/envctl/observability/timing.py
src/envctl/repository/__init__.py
src/envctl/repository/contract_composition.py
src/envctl/repository/contract_discovery.py
src/envctl/repository/contract_graph.py
src/envctl/repository/contract_repository.py
src/envctl/repository/hook_repository.py
src/envctl/repository/profile_repository.py
src/envctl/repository/state_repository.py
src/envctl/repository/project_context/__init__.py
src/envctl/repository/project_context/bindings.py
src/envctl/repository/project_context/builders.py
src/envctl/repository/project_context/context.py
src/envctl/repository/project_context/discovery.py
src/envctl/repository/project_context/identity.py
src/envctl/repository/project_context/recovery.py
src/envctl/services/__init__.py
src/envctl/services/add_service.py
src/envctl/services/bind_service.py
src/envctl/services/check_service.py
src/envctl/services/config_service.py
src/envctl/services/context_service.py
src/envctl/services/diagnostics_actions.py
src/envctl/services/export_service.py
src/envctl/services/fill_service.py
src/envctl/services/git_secret_guard_service.py
src/envctl/services/hook_service.py
src/envctl/services/init_service.py
src/envctl/services/inspect_service.py
src/envctl/services/profile_service.py
src/envctl/services/projection_validation.py
src/envctl/services/rebind_service.py
src/envctl/services/remove_service.py
src/envctl/services/repair_service.py
src/envctl/services/resolution_diagnostics.py
src/envctl/services/run_service.py
src/envctl/services/selection_filtering.py
src/envctl/services/set_service.py
src/envctl/services/status_service.py
src/envctl/services/sync_service.py
src/envctl/services/unbind_service.py
src/envctl/services/unset_service.py
src/envctl/services/vault_mutations.py
src/envctl/services/vault_project_crypto.py
src/envctl/services/vault_queries.py
src/envctl/services/vault_service.py
src/envctl/services/vault_support.py
src/envctl/services/resolution_service/__init__.py
src/envctl/services/resolution_service/builders.py
src/envctl/services/resolution_service/expansion.py
src/envctl/services/resolution_service/resolution.py
src/envctl/services/resolution_service/selection.py
src/envctl/services/resolution_service/types.py
src/envctl/services/resolution_service/validation.py
src/envctl/utils/__init__.py
src/envctl/utils/atomic.py
src/envctl/utils/filesystem.py
src/envctl/utils/masking.py
src/envctl/utils/output.py
src/envctl/utils/project_ids.py
src/envctl/utils/project_names.py
src/envctl/utils/project_paths.py
src/envctl/utils/shells.py
src/envctl/utils/tilde.py
tests/__init__.py
tests/conftest.py
tests/integration/cli/conftest.py
tests/integration/cli/test_ci_mode.py
tests/integration/cli/test_config.py
tests/integration/cli/test_doctor_profiles.py
tests/integration/cli/test_export.py
tests/integration/cli/test_guard_secrets.py
tests/integration/cli/test_hooks.py
tests/integration/cli/test_init_status.py
tests/integration/cli/test_inspect_composed_contracts.py
tests/integration/cli/test_json_output.py
tests/integration/cli/test_json_string_roundtrip.py
tests/integration/cli/test_profiles_contract_flow.py
tests/integration/cli/test_profiles_management.py
tests/integration/cli/test_profiles_projection_flow.py
tests/integration/cli/test_profiles_write_flow.py
tests/integration/cli/test_set_check_sync.py
tests/integration/cli/test_trace_observability.py
tests/support/__init__.py
tests/support/app_config.py
tests/support/assertions.py
tests/support/builders.py
tests/support/callables.py
tests/support/contexts.py
tests/support/contracts.py
tests/support/paths.py
tests/support/profile_values.py
tests/support/projection_validation.py
tests/unit/test_main_module.py
tests/unit/test_package_init.py
tests/unit/adapters/test_dotenv.py
tests/unit/adapters/test_editor.py
tests/unit/adapters/test_git.py
tests/unit/adapters/test_input.py
tests/unit/architecture/test_no_legacy_logging.py
tests/unit/cli/test_app.py
tests/unit/cli/test_callbacks.py
tests/unit/cli/test_command_support.py
tests/unit/cli/test_decorators.py
tests/unit/cli/test_runtime.py
tests/unit/cli/test_serializers.py
tests/unit/cli/test_typer_theme.py
tests/unit/cli/commands/test_add.py
tests/unit/cli/commands/test_add_usage.py
tests/unit/cli/commands/test_check.py
tests/unit/cli/commands/test_doctor.py
tests/unit/cli/commands/test_explain.py
tests/unit/cli/commands/test_export.py
tests/unit/cli/commands/test_fill.py
tests/unit/cli/commands/test_hooks_commands.py
tests/unit/cli/commands/test_init.py
tests/unit/cli/commands/test_inspect.py
tests/unit/cli/commands/test_rebind.py
tests/unit/cli/commands/test_remove.py
tests/unit/cli/commands/test_run.py
tests/unit/cli/commands/test_status.py
tests/unit/cli/commands/test_sync.py
tests/unit/cli/commands/profiles/test_profile_commands.py
tests/unit/cli/commands/vault/test_vault_check.py
tests/unit/cli/commands/vault/test_vault_edit.py
tests/unit/cli/commands/vault/test_vault_encrypt.py
tests/unit/cli/commands/vault/test_vault_path.py
tests/unit/cli/commands/vault/test_vault_prune.py
tests/unit/cli/commands/vault/test_vault_show.py
tests/unit/cli/compat/test_deprecated_commands.py
tests/unit/cli/presenters/test_action_presenter.py
tests/unit/cli/presenters/test_contract_error_presenter.py
tests/unit/cli/presenters/test_hooks_presenter.py
tests/unit/cli/presenters/test_profile_presenter.py
tests/unit/cli/presenters/test_project_presenter.py
tests/unit/cli/presenters/test_projection_error_presenter.py
tests/unit/cli/presenters/test_resolution_presenter.py
tests/unit/cli/presenters/test_run_presenter.py
tests/unit/cli/presenters/test_status_presenter.py
tests/unit/cli/presenters/test_structured_error_presenters.py
tests/unit/cli/presenters/test_vault_presenter.py
tests/unit/cli/prompts/test_confirmation_prompts.py
tests/unit/config/test_defaults.py
tests/unit/config/test_loader.py
tests/unit/config/test_loader_encryption.py
tests/unit/config/test_profile_resolution.py
tests/unit/config/test_writer.py
tests/unit/domain/test_app_config.py
tests/unit/domain/test_contract.py
tests/unit/domain/test_contract_inference.py
tests/unit/observability/test_api.py
tests/unit/observability/test_emitters.py
tests/unit/observability/test_events_contract.py
tests/unit/observability/test_human_renderer_snapshots.py
tests/unit/observability/test_profile_artifacts.py
tests/unit/observability/test_recorder.py
tests/unit/observability/test_renderers.py
tests/unit/observability/test_sanitization.py
tests/unit/observability/test_timing.py
tests/unit/observability/snapshots/check_trace.txt
tests/unit/observability/snapshots/run_trace.txt
tests/unit/observability/snapshots/vault_audit_trace.txt
tests/unit/repository/test_contract_composition.py
tests/unit/repository/test_contract_discovery.py
tests/unit/repository/test_contract_graph.py
tests/unit/repository/test_contract_repository.py
tests/unit/repository/test_hook_repository.py
tests/unit/repository/test_profile_repository.py
tests/unit/repository/test_profile_repository_crypto.py
tests/unit/repository/test_project_context.py
tests/unit/repository/test_state_repository.py
tests/unit/services/test_add_service.py
tests/unit/services/test_bind_service.py
tests/unit/services/test_expansion.py
tests/unit/services/test_export_service.py
tests/unit/services/test_fill_service.py
tests/unit/services/test_git_secret_guard_service.py
tests/unit/services/test_hook_service.py
tests/unit/services/test_init_service.py
tests/unit/services/test_inspect_service.py
tests/unit/services/test_profile_service.py
tests/unit/services/test_projection_validation.py
tests/unit/services/test_rebind_service.py
tests/unit/services/test_remove_service.py
tests/unit/services/test_repair_service.py
tests/unit/services/test_resolution_diagnostics.py
tests/unit/services/test_resolution_service.py
tests/unit/services/test_run_service.py
tests/unit/services/test_status_service.py
tests/unit/services/test_sync_service.py
tests/unit/services/test_unbind_service.py
tests/unit/services/test_unset_service.py
tests/unit/services/test_vault_service.py
tests/unit/services/test_vault_service_crypto.py
tests/unit/utils/test_filesystem.py
tests/unit/utils/test_masking.py
tests/unit/utils/test_output.py
tests/unit/utils/test_project_names.py
tests/unit/utils/test_project_paths.py
tests/unit/utils/test_projection_rendering.py
tests/unit/utils/test_tilde.py
tests/unit/vault_crypto/test_vault_crypto.py