LeanLsp v0.1.0 should expose only dependencies that are needed by package users at runtime. Development tooling must stay in :dev and :test so it is not part of runtime dependency resolution for downstream applications.

Production dependency decision

DependencyScopeRuntime reasonHex packageLicense decision
docker_availabilityProduction/runtimeLeanLsp.Runtime.Docker calls DockerAvailability.check/0 before starting the default Docker-backed runtime.YesApache-2.0; compatible with this package license.

Expected Hex dry-run production dependency list for v0.1.0:

docker_availability ~> 1.0

docker_availability is intentionally kept as a production dependency because Docker availability probing is part of the public Docker runtime startup path.

Development and test dependency decisions

DependencyScopeReasonHex packageLicense decision
nstandardonly: [:dev, :test], runtime: falseRepository standards, linting, CI, and Hex publish-readiness setup. It is not called by lib/ at runtime.YesApache-2.0; compatible with this package license.
ex_doconly: [:dev, :test], runtime: falseDocumentation generation.YesApache-2.0; compatible with this package license.
dialyxironly: [:dev, :test], runtime: falseDialyzer integration for local checks.YesApache-2.0; compatible with this package license.
credoonly: [:dev, :test], runtime: falseStatic analysis during local and CI checks.YesMIT; permissive and compatible with this package license.
spellweaveronly: [:dev, :test], runtime: falseSpelling checks for documentation and repository text.YesApache-2.0; compatible with this package license.

These dependencies should not appear as production dependencies in mix hex.publish --dry-run --yes output.

Maintainer validation commands

Run these before publishing:

mix deps.unlock --check-unused
mix dependency.audit
mix publish.check

mix dependency.audit runs the unused-lock check and a non-interactive Hex dry-run. mix publish.check still owns the broader pre-publish path for package build, documentation generation, and Hex dry-run validation.