Welcome, and thank you for your interest in contributing to the iTwin CLI! 🚀
There are many ways to contribute, from reporting bugs and suggesting improvements to submitting pull requests.
Your feedback is essential to improving the iTwin CLI. If you've found a bug or have a feature request, please report it.
Before creating a new issue, search the open issues to see if it has already been reported. If you find a similar issue:
- 👍 Upvote to indicate you're also experiencing it.
- 💬 Add relevant comments to provide more context.
If no existing issue matches your problem, create a new issue.
To help us reproduce and resolve the issue efficiently, include:
- A clear title and description
- Steps to reproduce the issue
- Expected vs. actual behavior
- Screenshots, logs, or error messages (if applicable)
- CLI version and environment details
We’d love to accept your contributions! Follow these steps to get started:
git clone https://github.com/itwin/itwin-cli.git
cd itwin-cli- Create .env file in the project root and put the following environment variables into it:
ITP_ISSUER_URL=https://ims.bentley.com
ITP_API_URL=https://api.bentley.com
# Your service client, created in the same environment as the provided API and IMS URLs.
ITP_SERVICE_CLIENT_ID=
ITP_SERVICE_CLIENT_SECRET=
# Your native client, created in the same environment as the provided API and IMS URLs.
ITP_NATIVE_TEST_CLIENT_ID=
# Email and password of a test user. (Belonging to an organization is needed by some of the tests)
ITP_TEST_USER_EMAIL=
ITP_TEST_USER_PASSWORD=npm ci- Windows:
./bin/dev [command]
- Linux/macOS (First, make the scripts executable):
chmod +x ./bin/dev.js ./bin/dev.js [command]
git checkout -b [your-username]/your-feature-nameExample:
git checkout -b johndoe/add-auth-command- Follow existing code patterns and structure.
- Write clear commit messages.
- If you add a new command or modify documentation, run the following command to ensure commands and documentation are synchronized:
npm run docs-generator
git commit -m "Add detailed description of your changes"git push origin [your-username]/your-feature-name- Go to the iTwin CLI GitHub Repository.
- Click New Pull Request.
- Select your branch and submit your changes for review.
A Contributor License Agreement with Bentley must be signed before contributions can be accepted. Upon opening a pull request, you will be prompted to use cla-assistant for one-time acceptance.
✅ Write Clear Commit Messages – Describe what your change does and why.
✅ Keep Pull Requests Focused – One issue per PR makes reviews easier.
✅ Follow Code Standards – Match the project’s formatting and structure.
✅ Stay Engaged – Monitor your PR for feedback and respond to requested changes.
- 🛠 Report Issues or Feature Requests: GitHub Issues
- 📚 Learn More About iTwins: developer.bentley.com
Thank you for helping improve the iTwin CLI! 🚀