From 5d9019b25c252a0acccab3939a8b5dd6bcf3a686 Mon Sep 17 00:00:00 2001 From: Muhammet Kara Date: Fri, 15 Aug 2025 23:47:07 +0300 Subject: [PATCH 1/6] Add issue template for bug reports Signed-off-by: Muhammet Kara --- .github/ISSUE_TEMPLATE/bug_report.md | 52 ++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..55b7a2dc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,52 @@ +--- +name: 🐞 Bug report +about: Report an issue with CSPR.design components or utilities +title: "[BUG] " +labels: bug +assignees: eugenebelov +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**Component(s) affected** +Which CSPR.design component(s) are involved in this issue? (e.g., CSPR, BodyText, FlexColumn, etc.) + +**To Reproduce** +Steps to reproduce the behavior: +1. Import component '...' +2. Use props '...' +3. Render in '...' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Code example** +Please provide a minimal code example that reproduces the issue: + +```jsx +// Your code here +``` + +**Screenshots** +If applicable, add screenshots to help explain your problem, especially for visual/styling issues. + +**Environment information:** +- CSPR.design version: [e.g. 1.2.3] +- React version: [e.g. 18.2.0] +- TypeScript version: [e.g. 4.9.5] +- Bundler: [e.g. Vite 4.0.0, Webpack 5.75.0] +- Browser: [e.g. Chrome 108, Firefox 107, Safari 16] +- Operating System: [e.g. macOS 13.1, Windows 11, Ubuntu 22.04] + +**Additional context** +Add any other context about the problem here. Include any error messages, console logs, or related issues. + +**Storybook reference** +If the issue is visible in [CSPR.design Storybook](https://storybook.cspr.design), please provide a link to the relevant story. + +**Are you willing to submit a pull request to fix this bug?** +- [ ] Yes +- [ ] No + From a084197391f5003ba1f9204a756b9528bd8b9893 Mon Sep 17 00:00:00 2001 From: Muhammet Kara Date: Sat, 16 Aug 2025 00:14:32 +0300 Subject: [PATCH 2/6] Add link to the CSPR Dev group for questions and discussions Signed-off-by: Muhammet Kara --- .github/ISSUE_TEMPLATE/config.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/config.yml diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..16dee44c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,6 @@ +blank_issues_enabled: false +contact_links: + - name: ❓ Ask a question or discuss an idea + url: https://t.me/CSPRDevelopers + about: Ask your questions and discuss your ideas in the CSPR Developers Group + From 52d0bf2eb9964953cb1f91124adcfd45d1d583d3 Mon Sep 17 00:00:00 2001 From: Muhammet Kara Date: Mon, 18 Aug 2025 15:49:22 +0300 Subject: [PATCH 3/6] Add feature request template Signed-off-by: Muhammet Kara --- .github/ISSUE_TEMPLATE/feature_request.md | 54 +++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..65597b9d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,54 @@ +--- +name: ✨ Feature request +about: Suggest a new component or feature for CSPR.design +title: "[FEATURE] " +labels: enhancement +assignees: "" +--- + +**Search keywords** +Please list keywords you used to search for existing similar requests: + +**Is your feature request related to a problem?** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Component type** +What type of component or feature are you requesting? +- [ ] New UI component +- [ ] New utility function +- [ ] Enhancement to existing component +- [ ] New styling/theming feature +- [ ] Casper-specific utility +- [ ] Other (please specify) + +**Use case** +Describe the specific use case or scenario where this feature would be helpful. How would it be used in a Casper dApp or application? + +**Design references** +If applicable, provide links to design specifications, mockups, or examples from other libraries that demonstrate the desired behavior. + +**Examples** +Provide examples of how you envision using this feature: + +```jsx +// Example usage +``` + +**Additional context** +Add any other context, screenshots, or examples about the feature request here. + +**Priority** +How important is this feature for your project? +- [ ] Critical - blocking development +- [ ] High - would significantly improve development experience +- [ ] Medium - nice to have +- [ ] Low - minor improvement + +**Are you willing to contribute to this feature?** +- [ ] Yes, I can implement this feature +- [ ] Yes, I can help with testing/feedback +- [ ] No, but I would be happy to provide requirements/feedback + From caafa67053e15208eacd18b96bf78e879149b9bb Mon Sep 17 00:00:00 2001 From: Muhammet Kara Date: Mon, 18 Aug 2025 15:51:31 +0300 Subject: [PATCH 4/6] Add more links Signed-off-by: Muhammet Kara --- .github/ISSUE_TEMPLATE/config.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 16dee44c..2758fba1 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -3,4 +3,10 @@ contact_links: - name: ❓ Ask a question or discuss an idea url: https://t.me/CSPRDevelopers about: Ask your questions and discuss your ideas in the CSPR Developers Group + - name: 📖 View Storybook Documentation + url: https://storybook.cspr.design + about: Explore component examples and documentation in our interactive Storybook + - name: 📦 NPM Package + url: https://www.npmjs.com/package/@make-software/cspr-design + about: View the CSPR.design package on NPM From 57f8f0ee9bf324c4de8aa53c86a6e21be480058f Mon Sep 17 00:00:00 2001 From: Muhammet Kara Date: Mon, 18 Aug 2025 16:16:22 +0300 Subject: [PATCH 5/6] Add contribution guidelines Signed-off-by: Muhammet Kara --- .github/developer-certificate-of-origin | 35 +++++++++++ CONTRIBUTING.md | 83 +++++++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 .github/developer-certificate-of-origin create mode 100644 CONTRIBUTING.md diff --git a/.github/developer-certificate-of-origin b/.github/developer-certificate-of-origin new file mode 100644 index 00000000..a6bbb984 --- /dev/null +++ b/.github/developer-certificate-of-origin @@ -0,0 +1,35 @@ +Developer Certificate of Origin +Version 1.1 + +Copyright (C) 2004, 2006 The Linux Foundation and its contributors. +660 York Street, Suite 102, +San Francisco, CA 94110 USA + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..e6630ccb --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,83 @@ +# Contributing to CSPR.design + +The following is a set of rules and guidelines for contributing to this repo. Please feel free to propose changes to this document in a pull request. + +## Submitting issues + +If you have questions about how to use CSPR.design, please direct these to our community channels: +* [CSPR Developers Group](https://t.me/CSPRDevelopers) - Ask questions and discuss ideas with the community +* [Storybook Documentation](https://storybook.cspr.design) - Explore component examples and API documentation + +### Guidelines +* Please search the existing issues first, it's likely that your issue was already reported or even fixed. + - Go to the main page of the repository, click "issues" and type any word in the top search/command bar. + - You can also filter by appending e.g. "state:open" to the search string. + - More info on [search syntax within GitHub](https://help.github.com/articles/searching-issues) +* Use the appropriate issue template for your submission: + - 🐞 **Bug report** - For reporting issues with components + - ✨ **Feature request** - For suggesting new components or features + +## Contributing to CSPR.design + +All contributions to this repository are considered to be licensed under Apache License 2.0. + +### Workflow for bug fixes: +* Check open issues and unmerged pull requests to make sure the topic is not already covered elsewhere +* Fork the repository +* Do your changes on your fork +* Make sure to add or update relevant test cases +* Update Storybook stories if your changes affect component behavior or props +* Test your changes in Storybook to ensure they work as expected +* Create a pull request, with a suitable title and description, referring to the related issue + +### Workflow for new components: +* Check existing issues and discussions to ensure the component is needed and aligns with the design system +* Create or update the component following our coding standards +* Add comprehensive Storybook stories demonstrating all component variants and use cases +* Include TypeScript definitions with proper JSDoc comments +* Add unit tests covering component functionality +* Update documentation if necessary +* Create a pull request with detailed description of the new component + +### Workflow for documentation improvements: +* Identify areas where documentation can be improved +* Update Storybook stories, README files, or inline code comments +* Ensure examples are accurate and follow current best practices +* Test that all code examples work correctly +* Submit a pull request with clear description of documentation changes + +### Code Standards + +* **TypeScript**: All components must be written in TypeScript with proper type definitions +* **Styling**: Use styled-components following our theming system +* **Testing**: Include unit tests for all new functionality +* **Storybook**: Every component must have comprehensive Storybook stories +* **Accessibility**: Ensure components meet WCAG accessibility guidelines +* **Performance**: Consider bundle size impact and rendering performance + +### Sign your work + +We use the Developer Certificate of Origin (DCO) as an additional safeguard for the CSPR.design project. This is a well established and widely used mechanism to assure contributors have confirmed their right to license their contribution under the project's license. + +Please read [developer-certificate-of-origin](https://github.com/make-software/cspr-design/blob/main/.github/developer-certificate-of-origin). + +If you can certify it, then just add a line to every git commit message: + +``` +Signed-off-by: Random J Developer +``` + +Use your real name (sorry, no pseudonyms or anonymous contributions). + +If you set your `user.name` and `user.email` git configs, you can sign your commit automatically with `git commit -s`. You can also use git [aliases](https://git-scm.com/book/tr/v2/Git-Basics-Git-Aliases) like `git config --global alias.ci 'commit -s'`. Now you can commit with `git ci` and the commit will be signed. + +## Community + +We welcome contributions from developers building in the Casper ecosystem! Join our community: + +* **[CSPR Developers Group](https://t.me/CSPRDevelopers)** - Main community chat for questions and discussions +* **[GitHub Issues](https://github.com/make-software/cspr-design/issues)** - Bug reports and feature requests +* **[Storybook](https://storybook.cspr.design)** - Component documentation and examples + +Thank you for contributing to CSPR.design and helping build a better developer experience for the Casper ecosystem! 🚀 + From 758e0a26b8b4d0cad797d7a7d2866c89933b162c Mon Sep 17 00:00:00 2001 From: Muhammet Kara Date: Mon, 18 Aug 2025 16:29:41 +0300 Subject: [PATCH 6/6] Add PR template Signed-off-by: Muhammet Kara --- .github/pull_request_template.md | 69 ++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..3ad54910 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,69 @@ +* Resolves: # + +### Summary + + + +### Type of Change + +- [ ] 🐛 Bug fix +- [ ] ✨ New feature +- [ ] 🔧 Component enhancement +- [ ] 📚 Documentation update +- [ ] 🎨 Style/UI changes +- [ ] ⚙️ Misc + +### Component(s) Affected + + +- [ ] New component: `ComponentName` +- [ ] Modified component: `ComponentName` +- [ ] Removed component: `ComponentName` + +### Changes Made + + + +### Testing + +- [ ] Unit tests added/updated +- [ ] Storybook stories added/updated +- [ ] Manual testing completed +- [ ] Accessibility testing performed +- [ ] Cross-browser testing (if applicable) +- [ ] Responsive design testing (if applicable) + +### Storybook + +- [ ] New stories created for new components +- [ ] Existing stories updated to reflect changes +- [ ] All component variants documented +- [ ] Props table is accurate and complete +- [ ] Examples demonstrate proper usage + +### Breaking Changes + + + +### Screenshots/Videos + + + +### TODO + +- [ ] ... + +### Checklist + +- [ ] Code is properly formatted (Prettier/ESLint) +- [ ] All commits are signed +- [ ] TypeScript types are properly defined +- [ ] Components follow design system guidelines +- [ ] Accessibility requirements met (WCAG compliance) +- [ ] Bundle size impact considered +- [ ] Tests included/updated or not needed +- [ ] Storybook stories included/updated or not needed +- [ ] Documentation updated or not required +- [ ] No console errors or warnings +- [ ] Backward compatibility maintained (or breaking changes documented) +