Thank you for your interest in contributing to AdaCAD! Before you read on, let's make sure you are in the right place. The AdaCAD Project is a collection of different code and documentation resources:
- AdaCAD Library Github Repo / @AdaCAD-Library: contains the core data structure and algorithms for draft making and manipulating via parameterized operations. This includes all of the code and documentation for operations. Also contains the code to render drafts for simulation. Written as a typescript library that is also hosted on as an NPM package.
- 🎯 You are here AdaCAD UI Github Repo / @AdaCAD-UI: An Angular project that imports the AdaCAD library and offers a series of components and features for managing the user interface. This includes a graph of relationships between on-screen operations and drafts, integrations with the user database, and functions for loading and saving files.
- AdaCAD Docs Github Repo / @AdaCAD-Documentation: A Docusaurus project that imports the AdaCAD library and creates components and markdown pages that document the projects features as well as tutorials, examples, and getting started guides.
You are currently in the AdaCAD-UI Repo. If that is what you intended, keep reading!
- Code of Conduct
- How to Contribute
- Getting Started
- Development Guidelines
- Pull Request Process
- Style Guide
- Reporting Issues
- License
Please review our Code of Conduct to understand what is expected in our community.
There are many ways to contribute to the UI:
- 📄 Reporting bugs
- ✨ Suggesting new features
- 🛠 Fixing issues
- 🌍 Helping with translations
-
Fork the repository.
-
Clone your fork:
git clone https://github.com/your-username/AdaCAD-UI.git
-
Install dependencies:
npm install
-
Create a branch:
git checkout -b feature/your-feature-name
- Keep commits small and focused.
- Use descriptive commit messages.
- Try to best to write code that is clear with comments explaining key functions or potentially confusing elements. We can help edit the code if need be.
- Follow the Style Guide.
- Submit your pull request to the
mainbranch and include comments about the pull, what it aims to accomplish and any anticipated challenges with the integration or security. - The team will review and provide feedback.
- Make necessary changes and update your PR.
-
please use existing imports and libraries as best as you are able instead of requiring new libraries.
-
we aim to keep our Angular build up to date but sometimes it can lag behind. Please consult the documentation associated with the Angular version used by the software at the time of your contribution (the version can be found in the package.json file under
@angular/cdk). -
please use typed variables as much as you can. This helps us read your code and also catch errors.
Please use the issue template and include:
- A clear title
- Steps to reproduce the issue
- Expected vs actual behavior
- Screenshots or logs if available
Avoid duplicates: Check existing issues before reporting a new one.
By contributing, you agree that your contributions will be licensed under the LICENSE of this repository.
Your contributions make this project better. We appreciate your help! 💙