pub mod broken_local_link;
pub mod empty_file;
pub mod frontmatter_schema;
pub mod malformed_yaml;
pub mod mcp_schema;
pub mod required_section;
pub use broken_local_link::BrokenLocalLinkRule;
pub use empty_file::EmptyFileRule;
pub use frontmatter_schema::FrontmatterSchemaRule;
pub use malformed_yaml::MalformedYamlRule;
pub use mcp_schema::McpSchemaValidationRule;
pub use required_section::MissingRequiredSectionRule;
use crate::rules::{Rule, RuleId};
pub const AIL001: RuleId = RuleId::new(1, "no-frontmatter-schema-error");
pub const AIL002: RuleId = RuleId::new(2, "instructions-file-empty");
pub const AIL003: RuleId = RuleId::new(3, "missing-required-section");
pub const AIL004: RuleId = RuleId::new(4, "mcp-schema-validation");
pub const AIL040: RuleId = RuleId::new(40, "broken-local-link");
pub const AIL041: RuleId = RuleId::new(41, "malformed-yaml");
pub fn all_rules() -> Vec<Box<dyn Rule>> {
vec![
Box::new(EmptyFileRule),
Box::new(FrontmatterSchemaRule),
Box::new(MissingRequiredSectionRule),
Box::new(BrokenLocalLinkRule),
Box::new(MalformedYamlRule),
Box::new(McpSchemaValidationRule),
]
}