We welcome and encourage contributions from the developer community. Order Daemon is built on a philosophy of engineering excellence, and community involvement is crucial to upholding that standard.
This guide outlines how you can contribute in a way that aligns with the plugin’s core mission and its freemium model.
Our Guiding Philosophy: The Surgeon’s Scalpel
Before you write a single line of code, please understand our guiding principle: Order Daemon is a surgeon’s scalpel, not a Swiss Army knife.
Our primary commitment is to provide mission-critical reliability. Every contribution will be evaluated first and foremost on its ability to enhance the plugin’s stability, performance, and transparency. Central to this is our “Glass Box” philosophy, which is why the core Audit Log is a free and foundational feature of the plugin. We believe all users deserve this level of transparency.
By contributing, you are helping us build and defend this reputation for engineering excellence.
What We’re Looking For (High-Value Contributions)
The most valuable contributions are those that reinforce our core pillars of technical superiority and transparency. We enthusiastically welcome pull requests for:
- Bug Fixes: Submitting a well-documented bug fix, especially one that includes a regression test, is one of the most valuable contributions you can make.
- Performance Enhancements: Any change that measurably improves the performance of the order processing or logging systems is a high priority.
- Enhancing the Core Audit Log: The free Audit Log is the heart of our “Glass Box” philosophy. We welcome contributions that improve the clarity of log messages, add useful context to existing log events, or enhance the usability of the free log viewer.
- Expanding Extensibility: Adding new actions or filters that allow other developers to safely customize the plugin is highly encouraged. This empowers the community without bloating the core product.
- Improving Documentation: Clarifying our code comments, inline documentation, or user guides helps everyone.
A Note on New Features & The Freemium Model
We are disciplined about keeping the core plugin focused on its “Surgeon’s Scalpel” mission. For this reason, we do not accept pull requests for new, large-scale features that fall outside the core mission.
It is also important to understand the boundary between the free plugin and its premium counterpart. The free version provides a powerful, transparent engine and logging system. The premium versions provide advanced workflow features for professionals and agencies. This business model is what funds the continuous development and support of the free plugin.
Therefore, we cannot accept pull requests that implement features reserved for the premium version.
- Good Contribution Idea: A pull request that adds the triggering Rule Name to an existing log entry’s summary. (This enhances the free Audit Log).
- Contribution We Cannot Accept: A pull request that adds a “CSV Export” button to the Audit Log screen. (This is a planned premium feature).
If you have an idea for a new feature, the best place to start is by opening a new thread in our GitHub Discussions. This allows us to discuss the idea with the community and clarify whether it fits into the core plugin’s roadmap or is better suited for a premium version or a community-built extension.
Our Commitment to Quality: Technical Requirements
To maintain the integrity of the plugin, we adhere to strict quality standards. Any pull request for code changes must meet the following criteria:
- Follow Coding Standards: All code must adhere to the WordPress Coding Standards and our internal naming conventions (e.g., the
odcm_
prefix). - Provide Full Documentation: Every new function, method, hook, or filter must have a complete and clear PHP DocBlock (
/** ... */
). - Include Unit Tests: All bug fixes and new logic must be accompanied by PHPUnit tests to prove that the change works as expected and prevents future regressions.
The Contribution Workflow
- Fork the Repository: Start by forking the official Order Daemon repository on GitHub.
- Create a Branch: Create a new, descriptively named branch for your changes (e.g.,
fix/issue-123
orfeature/add-new-filter
). - Make Your Changes: Write the code, tests, and documentation for your contribution.
- Submit a Pull Request: Open a pull request against the
main
branch of the official repository. In your description, clearly explain the “why” behind your change and link to any relevant issue or discussion tickets.
Thank you for considering contributing to the Order Daemon. Your expertise helps us ensure it remains the most trusted and reliable tool for mission-critical order processing in WooCommerce.