ailint_core/rules/semantic/
mod.rs1pub mod duplicate_rules;
5pub mod excessive_length;
6pub mod instruction_bloat;
7pub mod missing_examples;
8pub mod negative_constraint_overload;
9pub mod vague_instruction;
10pub mod vendor_optimization;
11
12pub use duplicate_rules::NoDuplicateRulesRule;
13pub use excessive_length::ExcessiveRuleLengthRule;
14pub use instruction_bloat::DetectInstructionBloatRule;
15pub use missing_examples::NoMissingExamplesRule;
16pub use negative_constraint_overload::NegativeConstraintOverloadRule;
17pub use vague_instruction::NoVagueInstructionRule;
18pub use vendor_optimization::VendorOptimizationSyntaxRule;
19
20use crate::rules::{Rule, RuleId};
21
22pub const AIL100: RuleId = RuleId::new(100, "no-vague-instruction");
24pub const AIL101: RuleId = RuleId::new(101, "no-missing-examples");
26pub const AIL102: RuleId = RuleId::new(102, "excessive-rule-length");
28pub const AIL103: RuleId = RuleId::new(103, "no-duplicate-rules");
30pub const AIL104: RuleId = RuleId::new(104, "negative-constraint-overload");
32pub const AIL105: RuleId = RuleId::new(105, "vendor-optimization-syntax");
34pub const AIL106: RuleId = RuleId::new(106, "detect-instruction-bloat");
36
37pub fn all_rules() -> Vec<Box<dyn Rule>> {
39 vec![
40 Box::new(NoVagueInstructionRule),
41 Box::new(NoMissingExamplesRule),
42 Box::new(ExcessiveRuleLengthRule),
43 Box::new(NoDuplicateRulesRule),
44 Box::new(NegativeConstraintOverloadRule),
45 Box::new(VendorOptimizationSyntaxRule),
46 Box::new(DetectInstructionBloatRule),
47 ]
48}