defmodule Argos.Config do @moduledoc """ Configuración centralizada de Argos. Proporciona helpers de entorno y banderas para controlar el arranque del sistema paralelo y su configuración básica. """ @spec start_parallel_system? :: boolean def start_parallel_system? do Application.get_env(:argos, :start_parallel_system, true) end @spec env :: atom def env do Application.get_env(:argos, :env, :dev) end @spec test? :: boolean def test? do env() == :test end @spec dev? :: boolean def dev? do env() == :dev end @spec prod? :: boolean def prod? do env() == :prod end @spec parallel_config :: keyword def parallel_config do Application.get_env(:argos, :parallel, []) end @spec should_start_supervisor? :: boolean def should_start_supervisor? do case Keyword.fetch(parallel_config(), :start_supervisor) do {:ok, value} -> value :error -> start_parallel_system?() end end end