Which THREE actions are best practices when publishing a module to a private registry?
Semantic Versioning communicates breaking, feature and patch changes predictably, letting consumers pin safe ranges. Applying SemVer to every release satisfies the stem's best-practice requirement for a private registry, where consumers depend on clear version signals.
Why this answer
Option A is correct because Semantic Versioning (MAJOR.MINOR.PATCH) gives consumers a predictable contract: breaking changes bump MAJOR, backward-compatible features bump MINOR, and fixes bump PATCH, which private registries rely on for version constraints and dependency resolution. Option B is correct because an 'examples/' directory provides runnable usage snippets that document real inputs/outputs and let consumers validate the module before adopting it. Option D is correct because a root-level README.md is the primary documentation surface a private registry renders, explaining purpose, inputs, outputs, and usage.
Option C is not a best practice because mixing tests and all files in the root harms maintainability; tests belong in a 'tests/' or 'test/' directory and modules should be organized into logical subfolders. Option E is not a best practice for a module because the 'terraform-provider-' prefix is a naming convention for Terraform providers, not reusable modules, so it would be misleading.
Exam trap
AWS provider exams often test whether candidates know the reserved naming conventions — the trap is confusing provider repository prefixes (terraform-provider-) with module repository prefixes (terraform-<PROVIDER>-<NAME>), and assuming test files belong at the module root.