Frontier (Frontier v0.2.1)
Copy MarkdownSmart boundary enforcement for Elixir projects.
Frontier enforces architectural boundaries using convention-based defaults. Context roots are public, schemas are auto-exported, and internal modules are private. You only configure exceptions.
Usage
# Project root — global config
defmodule MyApp do
use Frontier,
globals: [Result, Mailer],
ignore: [SomeLegacyThing]
end
# Context root — zero config
defmodule MyApp.Accounts do
use Frontier
end
# Context root — with restrictions
defmodule MyApp.Billing do
use Frontier,
reaches: [MyApp.Accounts],
externals: [:stripe],
exports: [InvoiceGenerator]
end