Overview
Pull requests are the primary way to contribute code to Intent Architect Modules. This guide walks you through the entire process from preparing your changes to getting them merged.Before You Start
Ensure you’ve completed the following before submitting a pull request:Development Setup
Your environment is properly configured with all required tools and dependencies.
Coding Standards
Your code follows the established conventions and best practices.
Tests Written
You’ve added appropriate test coverage for your changes.
Tests Passing
All tests pass locally including pre-commit validation checks.
Contribution Checklist
Before submitting your pull request, verify all items:Module version updated
Update the module version in
.imodspec file according to semantic versioning:- Patch (1.0.x): Bug fixes
- Minor (1.x.0): New features (backward compatible)
- Major (x.0.0): Breaking changes
Tests added
Test cases have been added to the
Tests/ Intent Architect solution:- Integration tests validate module behavior
- Unit tests cover specific functionality
- Edge cases are tested
Preparing Your Branch
Branch Naming
Use descriptive branch names that indicate the purpose:Commit Messages
Write clear, descriptive commit messages:Follow the conventional commits format when appropriate:
type(scope): descriptionExamples:feat(templates): add support for record typesfix(builder): resolve null reference in template generationdocs(readme): update installation instructions
Preparing Commits
Creating the Pull Request
PR Title
Use a clear, concise title that describes the change:PR Description
Provide a comprehensive description using this template:Example Pull Request
View example PR description
View example PR description
Review Process
What Happens After Submission
Automated checks run
The Azure DevOps pipeline automatically:
- Runs pre-build validations
- Compiles all modules
- Executes all tests
- Validates Intent Architect solution changes
- Checks for no outstanding Software Factory changes
Code review
Maintainers review your PR for:
- Code quality and adherence to standards
- Test coverage and quality
- Module version and release notes
- Breaking changes and impact
- Documentation completeness
Feedback and iteration
Reviewers may request changes:
- Address feedback in new commits
- Push updates to the same branch
- Respond to comments and questions
- Mark conversations as resolved
Responding to Review Comments
Making requested changes
Making requested changes
Discussing feedback
Discussing feedback
- Be open to suggestions and alternative approaches
- Ask clarifying questions if feedback is unclear
- Explain your reasoning when you disagree
- Be respectful and professional in all communications
Resolving conflicts
Resolving conflicts
If your branch conflicts with the target branch:
Common Review Feedback
Code Quality Issues
How to Avoid Common Issues
Self-review your changes
Review your own PR before submitting:
- Read through the diff on GitHub
- Check for debugging code, console logs
- Verify all files should be included
- Ensure commit messages are clear
Branch and Release Strategy
Target Branches
- master: Production-ready code, stable releases
- development: Integration branch for next release
- development-X.X: Version-specific development branches
- hotfix/*: Critical bug fixes for production
Version Publishing
Modules are automatically published based on branch:- Master Branch
- Development Branch
- Hotfix Branch
Stable releases published to production module server:
- Final release versions (e.g., 4.1.0)
- No pre-release identifiers
- Published to main module server
- Available to all Intent Architect users
After Your PR is Merged
Monitor the build
Watch the build pipeline to ensure:
- Merge build succeeds
- Tests continue to pass
- Module publishes successfully
Getting Help
If you need assistance with the PR process:Support Repository
Ask questions at IntentSoftware/Support
PR Comments
Ask specific questions directly in your PR comments
Code Review
Request clarification from reviewers during the review process
Community
Connect with other contributors in community discussions
Best Practices Summary
Key takeaways for successful pull requests:
- Update module version according to semantic versioning
- Add comprehensive test coverage
- Run pre-commit checks before submitting
- Write clear PR descriptions with context
- Respond promptly to review feedback
- Keep PRs focused on a single concern
- Be patient and professional throughout the process