Contributing via GitHub
This page explains the practical workflow for contributing to the ZTools repository using GitHub.
If you're adding features, fixing bugs, or improving documentation, follow these steps to ensure a clean and consistent process.
π₯ 1. Cloning the Repositoryβ
To start working on ZTools, clone the repository to your local machine:
git clone https://github.com/Zutari-CoDe/Zutari-Dev-Wiki.git
Then open the solution in Visual Studio 2022.
Make sure you have the correct SDKs installed as described in the Introduction page.
πΏ 2. Branching Strategyβ
To keep development organized, all contributors must follow the projectβs branching conventions.
-
main
Stable production-ready builds. -
develop
Integrates completed features before merging tomain.
No direct commits should be made to these branches.
π§ 3. Creating a Feature Branchβ
All development should be done in feature branches, following the naming convention:
dev/<initials>/<feature-name>
Naming Format Rulesβ
-
Start with:
dev/ -
Followed by your initials, using:
- first two letters of your first name
- first two letters of your surname
Example for MJ Mthimunye β
mjmt -
Then add a short descriptive feature name, using kebab-case.
Example Branch Namesβ
| Developer | Branch Example |
|---|---|
| MJ Mthimunye | dev/mjmt/add-sheet-manager |
| Astrid van der Laan | dev/asla/revit-styles-update |
| Rowland Burke | dev/robu/fix-scheduling-bug |
| Gianluca Casalnuovo | dev/gica/improve-ui-dialogs |
Creating your branchβ
git checkout develop
git pull
git checkout -b dev/mjmt/new-feature-name
π§βπ» 4. Making Changesβ
Now you can begin working:
- Follow MVVM patterns
- Keep code modular and clean
- Update documentation if needed
- Test in all relevant Revit versions (2023β2025)
Before committing, ensure your build succeeds.
π 5. Commit Conventionsβ
Use clear, descriptive commit messages.
Recommended format:β
<type>: <short description>
Common Typesβ
feat:β New featurefix:β Bug fixrefactor:β Code cleanup, no behavior changedocs:β Documentation changeschore:β Supporting changes (build scripts, configs)
Examplesβ
feat: add new sheet placement tool
fix: corrected incorrect level binding in wall duplication
docs: updated contribution overview
refactor: simplified viewmodel property updates
β¬οΈ 6. Pushing Your Branchβ
Push your changes to GitHub:
git push --set-upstream origin dev/mjmt/new-feature-name
π 7. Submitting a Pull Request (PR)β
Once your feature is ready:
- Open a PR into the
developbranch - Add a clear title and summary
- Link any related issues (if applicable)
- Request reviewers from the team
PR Checklistβ
Before submitting, confirm:
- Code builds successfully for all Revit target versions
- No unused variables or debug logs
- UI follows global ZTools styling
- Documentation updated (if needed)
- Branch name follows naming rules
The team will review your PR and request changes if necessary.
π§Ή 8. Keeping Your Branch Updatedβ
If develop has new updates while you are working:
git checkout develop
git pull
git checkout dev/mjmt/new-feature-name
git merge develop
Resolve any merge conflicts, then push again.
π 9. Merging & Cleanupβ
Once approved:
- Your PR will be merged into
develop - The feature branch will then be deleted by Github actions:
git branch -d dev/mjmt/new-feature-name
git push origin --delete dev/mjmt/new-feature-name
π You're Ready to Contribute!β
By following this workflow, you help keep ZTools clean, stable, and consistent.
Thank you for contributing to the tooling ecosystem that powers engineering teams across Zutari!