Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -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

12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
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
- 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

54 changes: 54 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -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

35 changes: 35 additions & 0 deletions .github/developer-certificate-of-origin
Original file line number Diff line number Diff line change
@@ -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.
69 changes: 69 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
* Resolves: # <!-- related github issue -->

### Summary

<!-- Provide a brief description of the changes in this PR -->

### Type of Change

- [ ] 🐛 Bug fix
- [ ] ✨ New feature
- [ ] 🔧 Component enhancement
- [ ] 📚 Documentation update
- [ ] 🎨 Style/UI changes
- [ ] ⚙️ Misc

### Component(s) Affected

<!-- List the components that are modified, added, or removed -->
- [ ] New component: `ComponentName`
- [ ] Modified component: `ComponentName`
- [ ] Removed component: `ComponentName`

### Changes Made

<!-- Describe the specific changes made in this PR -->

### 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

<!-- If this PR introduces breaking changes, describe them here and provide migration guidance -->

### Screenshots/Videos

<!-- If applicable, add screenshots or videos to demonstrate the changes -->

### 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)

83 changes: 83 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -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 <random@developer.example.org>
```

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! 🚀