What problem does it solve? When adding, splitting, or reorganizing library code under z88dk's libsrc tree, contributors often merge unrelated operations into one file or scatter a single operation across many files, breaking the project's house layout and making symbol attribution in maps and listings unreliable. ## Core Features & Use Cases - Layout Rule Enforcement: Defines the one major function (or one logical operation) per source file convention for both classic and newlib libraries. - Grouping Guidance: Clarifies what belongs together (callee and non-callee glue, f16/f24 variants of the same op, op-specific helpers) versus what must be split into separate files. - CPU-Specific Consistency: Ensures CPU-specific copies under asm/z80/, asm/8085/, and similar directories keep the same one-op-per-file mapping. - Use Case: When adding a new math routine to libsrc, check this rule to decide whether it needs its own .asm file or belongs with an existing operation, matching neighboring filenames to symbol names. ## Quick Start Ask the AI to review your new libsrc assembly file and confirm it follows the one major function per file layout before committing.