# `mix virtual_time.doctor`
[🔗](https://github.com/d-led/gen_server_virtual_time/blob/v1.0.1/packages/gen_server_virtual_time/lib/mix/tasks/virtual_time.doctor.ex#L1)

Reports modules your project uses that live in another package of the family,
and the dependency line that makes the build work again.

The library is published as a family of packages that share one version:
`gen_server_virtual_time` (the clock and the OTP wrappers),
`actor_simulation` (the DSL, statistics and diagrams) and
`actor_simulation_codegen` (the code generators). A module keeps its name when
it moves to another package, so a project that is missing one of them does not
need code changes — it needs a dependency.

## Usage

    mix virtual_time.doctor                  # report, always exit 0
    mix virtual_time.doctor --check          # exit 1 when something is missing (CI)
    mix virtual_time.doctor --paths lib,test,config

## Example

    $ mix virtual_time.doctor

    This project refers to modules that are not available.

    Add these to your deps:

        {:actor_simulation, "~> 1.0"}

    No code changes are needed — a module keeps its name when it changes
    package. Then run `mix deps.get`.

    Where they are used:
        lib/my_app/pipeline.ex:12: ActorSimulation.new  →  {:actor_simulation, "~> 1.0"}

---

*Consult [api-reference.md](api-reference.md) for complete listing*
