defmodule Extools.MixProject do use Mix.Project def project do [ app: :extools, version: "0.1.0", # Tested on Elixir 1.20 / OTP 29. hermes_mcp requires ~> 1.18. elixir: "~> 1.18", start_permanent: Mix.env() == :prod, elixirc_paths: elixirc_paths(Mix.env()), deps: deps(), package: package(), description: description() ] end def application do [ # :runtime_tools provides :dbg (used by the trace_function tool) extra_applications: [:logger, :runtime_tools], mod: {Extools.Application, []} ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] defp deps do [ {:hermes_mcp, "~> 0.14"}, {:bandit, "~> 1.0", optional: true}, {:jason, "~> 1.4"}, {:ecto, "~> 3.12", optional: true}, {:ecto_sql, "~> 3.12", optional: true, only: [:test, :dev]}, {:ex_doc, "~> 0.34", only: :dev, runtime: false} ] end defp package do [ name: "extools", licenses: ["MIT"], maintainers: ["Alvaro Lizama"], files: ~w[lib mix.exs README.md LICENSE .formatter.exs], links: %{ "GitHub" => "https://github.com/alvarolizama/hermes-extools", "Docs" => "https://hexdocs.pm/extools" } ] end defp description do "MCP server exposing live Elixir runtime introspection tools to AI agents." end end