use super::{files, lifecycle, links, schema};
use crate::check::rule::Rule;
pub fn catalog() -> Vec<Box<dyn Rule>> {
vec![
Box::new(schema::Frontmatter),
Box::new(schema::IdMatchesPath),
Box::new(schema::Placement),
Box::new(schema::StatusAllowed),
Box::new(schema::Dates),
Box::new(schema::RequiredByStatus),
Box::new(schema::RequiredSections),
Box::new(schema::RequiredValues),
Box::new(schema::UniqueIds),
Box::new(schema::AliasesClean),
Box::new(schema::AliasTableFrozen),
Box::new(links::LinksResolve),
Box::new(links::NoPathCites),
Box::new(links::RelationsResolve),
Box::new(links::AnchorsUnique),
Box::new(links::GovernsExists),
Box::new(links::LocalLinks),
Box::new(links::ImageAlt),
Box::new(links::CitesOutside),
Box::new(lifecycle::SupersedePairs),
Box::new(lifecycle::ForwardOnly),
Box::new(lifecycle::Sealed),
Box::new(lifecycle::UpdatedMoves),
Box::new(files::NotInPublic),
Box::new(files::NoLocalCites),
Box::new(files::ExternalCites),
Box::new(schema::OwnerMatches),
Box::new(files::Registered),
Box::new(files::SizeLimit),
Box::new(files::HashesMatch),
Box::new(files::StoredExist),
Box::new(schema::Forbidden),
Box::new(lifecycle::VerifyPasses),
Box::new(lifecycle::VerifyDeclared),
Box::new(lifecycle::GeneratedInSync),
Box::new(files::GuardsPass),
Box::new(files::NoSecrets),
Box::new(lifecycle::GovernedCodeDrift),
Box::new(files::AssetFrontmatter),
Box::new(files::AssetNamesUnique),
Box::new(files::AssetRefsExist),
Box::new(files::NoMachinePaths),
Box::new(lifecycle::CountsMatch),
Box::new(files::HiddenChars),
Box::new(lifecycle::TranslationsCurrent),
Box::new(lifecycle::ExceptionsReviewed),
Box::new(links::PinsHold),
Box::new(lifecycle::TranslationsPlaced),
]
}