Skip to content

docs: Verify HexDocs generation and public API documentation#58

Merged
zacky1972 merged 2 commits into
mainfrom
47
May 16, 2026
Merged

docs: Verify HexDocs generation and public API documentation#58
zacky1972 merged 2 commits into
mainfrom
47

Conversation

@zacky1972
Copy link
Copy Markdown
Owner

Summary

Improve HexDocs readiness for the v0.1.0 public preview API.

This PR keeps the existing v0.1.0 release scope and package metadata intact, then strengthens the generated documentation for first-time Hex users:

  • expands LeanLsp docs around the narrow v0.1.0 runtime-preview API;
  • documents LeanLsp.runtime_config/1 as side-effect-free option normalization;
  • documents LeanLsp.start_runtime/1 as Docker-backed runtime startup with caller cleanup responsibility;
  • expands LeanLsp.Runtime behaviour docs, types, callback return shapes, and runtime side-effect expectations;
  • adds public docs for all LeanLsp.Runtime.Config functions;
  • makes LeanLsp.Runtime.Docker.start_link/1, stop/1, and exec/3 visible in ExDoc despite being behaviour implementations;
  • documents Docker startup, docker exec command execution, container cleanup, external Docker requirements, runtime options, mounts, env vars, and timeouts;
  • adds ExDoc module and extras grouping to improve generated HexDocs navigation.

Notes

mix docs already completed without warnings before this change, but the generated docs showed two gaps:

  1. LeanLsp.Runtime.Config public functions rendered mostly as specs without explanatory docs.
  2. LeanLsp.Runtime.Docker callback implementations were hidden from the module page because @impl marks callback implementations as undocumented unless @doc is explicitly provided.

This PR addresses both gaps without changing README content or the README ## License section.

Validation

Run from a branch that contains the latest origin/main:

mix format --check-formatted
mix docs --warnings-as-errors
mix check

Manual docs review checklist:

  • LeanLsp explains that v0.1.0 is a runtime-preview release, not a complete Lean LSP client.
  • LeanLsp.Runtime.Config has docs for default_runtime/0, default_docker_image/0, default_container_workspace_root/0, normalize/1, and to_runtime_options/1.
  • LeanLsp.Runtime.Docker shows child_spec/1, start_link/1, stop/1, and exec/3 with side-effect and cleanup notes.
  • README and extra docs still appear in generated HexDocs navigation.

@zacky1972 zacky1972 merged commit f32d0a3 into main May 16, 2026
1 check passed
@zacky1972 zacky1972 deleted the 47 branch May 16, 2026 02:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant