Process Overview
The PR process follows a structured workflow to ensure quality and maintainability:1. Pull Request Submission
We welcome pull requests from anyone for any Intent Architect module, proposing changes they would like to see implemented.
Updated Module Version
Updated Module Version
The module version must be updated according to the Semantic Versioning scheme:
- MAJOR version for incompatible API changes
- MINOR version for backwards-compatible functionality additions
- PATCH version for backwards-compatible bug fixes
.imodspec file.Verified Module Compilation
Verified Module Compilation
Ensure the module compiles and installs successfully in Intent Architect. Test the installation process to verify there are no errors.
Added Test Cases
Added Test Cases
Add test cases to the Tests Intent Architect solution (
Tests/Intent.Modules.NET.Tests.isln). Tests should cover:- New functionality you’ve added
- Edge cases and error scenarios
- Integration with existing modules
Passed Pre-commit Checks
Passed Pre-commit Checks
Run the
run-pre-commit-checks.ps1 script to ensure your changes pass all validation checks. See Pre-commit Checks below for details.Pre-commit Checks
Before submitting your PR, run the pre-commit validation script:When all checks pass, you’ll see:
2. Pull Request Review
Once you submit your PR, our team will review it to ensure it meets the contribution guidelines:Code Quality
Reviewing code structure, patterns, and adherence to best practices
Functionality
Testing the feature or fix works as intended
Integration
Ensuring compatibility with other modules
As our team will be ultimately responsible for maintaining the module going forward, we may do additional work to bring the change in line with our internal best practices and standards.
- Generalization of code - Making patterns more broadly applicable
- Release versioning - Finalizing the version number for release
- Creation of test cases - Adding comprehensive tests and integration scenarios
- Documentation updates - Ensuring module documentation is current
3. Pre-release Published
After merging, a pre-release version of the module is published to allow thorough testing and validation.Pre-release Versioning
Pre-releases follow this versioning pattern:- Example
- Minor Version
- Major Version
If the change was to a module named
Intent.SomeModule which was currently at version 1.2.0, and the change is considered to be a patch:- Pre-release(s):
1.2.1-pre.0,1.2.1-pre.1, etc. - Official release:
1.2.1
Testing Pre-releases
Contributors and stakeholders can install pre-release versions to validate:- Functionality works as expected
- No breaking changes to existing projects
- Integration with dependent modules
- Performance and stability
4. Official Release
Assuming no issues arise during the pre-release testing phase, the pre-release version is promoted to an official release typically within a maximum of two weeks.
Release Timeline
The official release is made available through the Intent Architect module repository and can be installed in production projects.
Communication and Updates
Throughout the process:- You’ll receive updates on your PR through GitHub notifications
- Any additional changes made by the team will be communicated
- You’ll be notified when the pre-release is available for testing
- The official release will be announced with release notes
Next Steps
Contribution Guidelines
Review detailed technical requirements
Get Support
Ask questions or report issues
We value your contributions and look forward to maintaining the quality and integrity of Intent Architect modules through this collaborative process. Thank you for your commitment to excellence!
