Current section
Files
Jump to
Current section
Files
macula_tweann
rebar.config
rebar.config
{erl_opts, [
debug_info,
{i, "include"},
warnings_as_errors,
warn_unused_vars,
warn_export_all,
warn_shadow_vars,
warn_unused_import,
warn_unused_function,
warn_bif_clash,
warn_unused_record,
warn_deprecated_function,
warn_obsolete_guard,
warn_export_vars,
warn_exported_vars
]}.
{deps, []}.
%% Pre-compile hooks for Rust NIF
%% Note: Run 'make nif' manually or use the Makefile for NIF compilation
%% The NIF is optional - pure Erlang fallback is available
%% Hooks are disabled by default to avoid build issues in Docker/CI
%% To build NIF locally: cd native && cargo build --release
%% {pre_hooks, [
%% {"(linux|darwin|solaris)", compile, "bash -c 'cd native && cargo build --release' 2>/dev/null || true"},
%% {"win32", compile, "cd native && cargo build --release 2>NUL || exit 0"}
%% ]}.
%%
%% {post_hooks, [
%% {"(linux|darwin|solaris)", compile, "bash -c 'mkdir -p priv && cp native/target/release/libtweann_nif.so priv/tweann_nif.so' 2>/dev/null || true"},
%% {"win32", compile, "if not exist priv mkdir priv && copy native\\target\\release\\tweann_nif.dll priv\\tweann_nif.dll 2>NUL || exit 0"}
%% ]}.
%% Project plugins
{project_plugins, [
rebar3_hex,
rebar3_ex_doc
]}.
%% Documentation with ex_doc
{ex_doc, [
{extras, [
{"guides/overview.md", #{title => "Overview"}},
{"guides/tweann-basics.md", #{title => "TWEANN Basics"}},
{"guides/installation.md", #{title => "Installation"}},
{"guides/quickstart.md", #{title => "Quick Start"}},
{"guides/ltc-neurons.md", #{title => "LTC Neurons"}},
{"guides/ltc-usage-guide.md", #{title => "LTC Usage Guide"}},
{"guides/ltc-evolution.md", #{title => "LTC Evolution Guide"}},
{"guides/CUSTOM_MORPHOLOGIES.md", #{title => "Custom Morphologies"}},
{"guides/c4-architecture.md", #{title => "C4 Architecture"}},
{"guides/architecture.md", #{title => "Architecture Details"}},
{"guides/vision-distributed-mega-brain.md", #{title => "Vision: Distributed Mega-Brain"}},
{"guides/addendum-military-civil-resilience.md", #{title => "Addendum: Military & Civil Resilience"}},
{"guides/addendum-anti-drone-defense.md", #{title => "Addendum: Anti-Drone Defense"}},
{"design_docs/releases/RELEASE_STRATEGY.md", #{title => "Release Strategy"}},
{"design_docs/releases/CHANGELOG.md", #{title => "Changelog"}},
{"design_docs/releases/v0.1.0-project-bootstrap.md", #{title => "v0.1.0 - Project Bootstrap"}},
{"design_docs/releases/v0.2.0-core-primitives.md", #{title => "v0.2.0 - Core Primitives"}},
{"design_docs/releases/v0.3.0-neural-core.md", #{title => "v0.3.0 - Neural Core"}},
{"design_docs/releases/v0.3.1-architectural-alignment.md", #{title => "v0.3.1 - Architectural Alignment"}},
{"design_docs/releases/v0.4.0-network-lifecycle.md", #{title => "v0.4.0 - Network Lifecycle"}},
{"design_docs/releases/v0.5.0-evolution-engine.md", #{title => "v0.5.0 - Evolution Engine"}},
{"design_docs/releases/v0.6.0-population-management.md", #{title => "v0.6.0 - Population Management"}},
{"design_docs/releases/v0.6.1-modular-evolution.md", #{title => "v0.6.1 - Modular Evolution"}},
{"design_docs/releases/v0.7.0-hardened-core.md", #{title => "v0.7.0 - Hardened Core"}},
{"design_docs/releases/v0.8.0-process-safety.md", #{title => "v0.8.0 - Process Safety"}},
{"design_docs/releases/v0.9.0-library-refactoring.md", #{title => "v0.9.0 - Library Refactoring"}},
{"design_docs/releases/v0.10.0-ltc-neurons.md", #{title => "v0.10.0 - LTC Neurons"}},
{"design_docs/releases/FUTURE_OPTIMIZATION.md", #{title => "Future: Performance Optimization"}},
{"design_docs/releases/v1.0.0-production-ready.md", #{title => "v1.0.0 - Production Ready (Planned)"}},
{"README.md", #{title => "README"}}
]},
{main, "overview"},
{source_url, "https://github.com/macula-io/macula-tweann"},
{assets, #{"design_docs/diagrams" => "assets"}},
{prefix_ref_vsn_with_v, false}
]}.
%% Hex.pm package metadata
{hex, [
{doc, #{provider => ex_doc}},
{files, [
"src",
"include",
"design_docs",
"guides",
"rebar.config",
"rebar.lock",
"README.md",
"LICENSE"
]}
]}.
%% Test configuration
{eunit_opts, [
verbose,
{report, {eunit_surefire, [{dir, "_build/test/logs"}]}}
]}.
{cover_enabled, true}.
{cover_opts, [verbose]}.
{cover_export_enabled, true}.
%% Dialyzer configuration
{dialyzer, [
{warnings, [
unmatched_returns,
error_handling,
unknown
]},
{plt_apps, top_level_deps},
{plt_extra_apps, [mnesia]},
{plt_location, local},
{base_plt_location, global}
]}.
%% Profiles
{profiles, [
{examples, [
{erl_opts, [
debug_info,
{i, "include"}
]},
{extra_src_dirs, [
"examples/xor/src",
"examples/pole_balancing/src",
"examples/forex/src",
"examples/flatland/src",
"examples/snake_duel/src"
]}
]},
{test, [
{erl_opts, [
debug_info,
nowarn_export_all,
{i, "include"}
]},
{deps, []},
{extra_src_dirs, [
"test/unit",
"test/fixtures",
"examples/xor/src",
"examples/pole_balancing/src",
"examples/forex/src",
"examples/flatland/src",
"examples/snake_duel/src"
]}
]}
]}.
%% Shell configuration
{shell, [
{apps, [macula_tweann]}
]}.
%% Documentation
{edoc_opts, [
{title, "Macula TWEANN - Topology and Weight Evolving Artificial Neural Networks"},
{source_path, ["src"]},
{includes, ["include"]}
]}.
%% XRef configuration
{xref_checks, [
undefined_function_calls,
undefined_functions,
locals_not_used,
deprecated_function_calls,
deprecated_functions
]}.