{erl_opts, [
    debug_info,
    warnings_as_errors,
    warn_unused_vars,
    warn_shadow_vars,
    warn_unused_import,
    warn_obsolete_guard
]}.

{deps, [
    %% Optional: telemetry for observability
    {telemetry, "1.3.0"}
]}.

%% Optional dependencies for additional config formats.
%% Users should add these to their own deps if needed:
%%
%% For YAML config files (.yaml, .yml):
%%   {yamerl, "0.10.0"}
%%
%% JSON is supported natively in OTP 27+.
%% For older OTP versions, add jsx or jiffy.

{project_plugins, [
    rebar3_ex_doc,
    rebar3_hex
]}.

{profiles, [
    {test, [
        {erl_opts, [nowarn_export_all]},
        {deps, [
            {meck, "0.9.2"}
        ]}
    ]}
]}.

{shell, [
    {apps, [bc_gitops]}
]}.

{xref_checks, [
    undefined_function_calls,
    undefined_functions,
    locals_not_used,
    deprecated_function_calls,
    deprecated_functions
]}.

{dialyzer, [
    {warnings, [
        unknown
    ]},
    {plt_apps, all_deps},
    {plt_extra_apps, []}
]}.

{ex_doc, [
    {extras, [
        {"README.md", #{title => <<"Overview">>}},
        {"guides/getting_started.md", #{title => <<"Getting Started (Erlang)">>}},
        {"guides/getting_started_elixir.md", #{title => <<"Getting Started (Elixir)">>}},
        {"guides/api.md", #{title => <<"API Reference">>}},
        {"guides/runtime_implementation.md", #{title => <<"Runtime Implementation">>}},
        {"CHANGELOG.md", #{title => <<"Changelog">>}},
        {"CONTRIBUTING.md", #{title => <<"Contributing">>}},
        {"LICENSE", #{title => <<"License">>}}
    ]},
    {main, <<"README.md">>},
    {source_url, <<"https://github.com/beam-campus/bc-gitops">>},
    {assets, #{<<"assets">> => <<"assets">>}}
]}.

{hex, [
    {doc, #{provider => ex_doc}}
]}.
