--- /dev/null
+{application, core,
+ [{description, "IRC bot core functionality"},
+ {vsn, "1"},
+ {modules, [core_app, core_sup, config]},
+ {registered, [config]},
+ {applications, []}, % also depends on kernel, stdlib
+ {mod, {core_app, none}}
+ ]}.
+
+
--- /dev/null
+%% @doc Top-level supervisor for the core app.
+
+-module(core_sup).
+-behavior(supervisor).
+
+% Public-facing functions
+-export([start_link/0]).
+
+% Callback for supervisor
+-export([init/1]).
+
+% Public-facing function
+%% @doc Start the supervisor and link to the calling process
+start_link() ->
+ supervisor:start_link(?MODULE, []).
+
+%% @doc Spawn the configuration file process. We don't have any other "core"
+%% processes at this time.
+init(_) ->
+ ConfigChild = {config, % ID
+ {config, start_link, []}, % child MFA
+ permanent, % Restart strategy
+ brutal_kill, % Shutdown strategy
+ worker, % Type
+ [config] }, % modules
+ RestartStrategy = {one_for_one, 5, 60},
+ {ok, {RestartStrategy, [ConfigChild]}}.