Obtaining the module API docs
Ferron does not publish its internal API docs on docs.rs for every commit. Generate them locally from the 3.x branch.
Clone Ferron#
git clone https://github.com/ferronweb/ferron -b 3.x
cd ferronGenerate Rust docs#
For ferron-core and all domain types:
cargo doc --no-deps -p ferron-core -p ferron-http -p ferron-observability -p ferron-tls -p ferron-dns -p ferron-ocspOpen the docs:
xdg-open target/doc/ferron_core/index.html # Linux
open target/doc/ferron_core/index.html # macOSKey entry points:
ferron_core::loader::ModuleLoaderferron_core::pipeline::StageandPipelineferron_core::registry::RegistryandStageConstraintferron_core::providers::Providerferron_core::config::adapter::ConfigurationAdapterferron_core::runtime::Runtime
Domain crates:
ferron-http(types/http):HttpContext,HttpResponseferron-observability(types/observability):Event,EventSink,ObservabilityContextferron-tls(types/tls):TlsContext,TlsResolverferron-dns(types/dns):DnsContext,DnsClient
Run cargo doc --document-private-items --no-deps to see internal helpers that may not be public but are useful examples.
User-facing docs#
User docs live in docs/ in the Ferron repository. The sidebar is docs/links.json. Read them on GitHub or locally:
https://github.com/ferronweb/ferron/blob/3.x/docs/module-development/(this section)https://github.com/ferronweb/ferron/blob/3.x/docs/configuration/(directive reference)
Keeping docs in sync#
The example modules repository (https://github.com/ferronweb/ferron3-example-modules) contains its own AGENTS.md that tells agents to fetch docs from the upstream 3.x branch (user docs and cargo doc). When Ferron API changes, regenerate docs and update your Cargo.toml branch reference (branch = "3.x" always tracks the latest development API).
Short guide in AGENTS.md#
The example repo AGENTS.md summarizes:
git clone https://github.com/ferronweb/ferron -b 3.x /tmp/ferron
cd /tmp/ferron
cargo doc --no-depsand lists the GitHub URLs for direct reading without cloning.