A collection of custom code analyzers for the AL programming language of Microsoft Dynamics 365 Business Central. ALCops ships multiple specialized cops covering everything from platform correctness and application modeling to documentation, formatting, linting, and test structure.
Full documentation: http://www.alcops.dev.
| Cop | Description |
|---|---|
| ApplicationCop | Validates rules that enforce correct modeling and behavior of Business Central objects, ensuring domain-consistent tables, pages, permissions, and metadata. Focuses on application correctness rather than AL language semantics. |
| DocumentationCop | Enforces documentation quality in code, such as procedure comments and developer-facing descriptions. Ensures clarity of intent without affecting runtime behavior. |
| FormattingCop | Covers stylistic and syntactic consistency rules. Ensures clean, uniform, readable code without influencing behavior or semantics. |
| LinterCop | Identifies non-breaking code smells and suggests better implementation patterns. Focuses on maintainability, clarity, and recommended practices where multiple valid options exist. |
| PlatformCop | Validates AL language and runtime semantic correctness, preventing patterns that always fail or behave unpredictably. These rules apply universally, independent of the Business Central domain model. |
| TestCop | Ensures correctness and structure of test codeunits and related test procedures. Applies exclusively to test logic, not production code. |
Browse the complete rules reference at alcops.dev/docs/analyzers.
Contributions are welcome! Whether it's a new rule idea, a bug report, or a pull request — all input helps improve ALCops for the community.
- 💡 Suggest a rule » Open a GitHub Discussion
- 🐛 Report a bug » File an Issue
- 🔧 Submit a PR » Fork the repo, create a branch, and open a pull request
This project is licensed under the MIT License.