pub(crate) mod advanced_duplication;
pub(crate) mod ai_security;
pub(crate) mod cargo;
pub(crate) mod catalog;
pub(crate) mod clean_code;
pub(crate) mod complexity;
pub(crate) mod constant_arguments;
pub(crate) mod diff_quality;
pub(crate) mod duplication;
pub(crate) mod feature_flags;
pub(crate) mod frameworks;
pub(crate) mod generated_code_risks;
pub(crate) mod generic;
pub(crate) mod github_actions;
pub(crate) mod layout;
pub(crate) mod object_soup;
pub(crate) mod oop;
pub(crate) mod pattern;
pub(crate) mod regex;
pub(crate) mod repository_contracts;
pub(crate) mod runtime_bootstrap;
pub(crate) mod sql_inline;
pub(crate) mod structure;
pub(crate) mod trivial_wrappers;
pub(crate) mod ui_consistency;
pub(crate) mod yagni;
pub(crate) mod yagni_call_index;
pub(crate) mod yagni_concentration;
pub(super) fn standalone_template_scope(path: &str) -> &str {
let mut offset = 0;
for segment in path.split('/') {
let end = offset + segment.len();
if segment.starts_with("template-") || segment.starts_with("template_") {
return &path[..end];
}
offset = end + 1;
}
""
}