Skip to content

Commit 57f8f0e

Browse files
committed
Add contribution guidelines
Signed-off-by: Muhammet Kara <muhammet@make.services>
1 parent caafa67 commit 57f8f0e

2 files changed

Lines changed: 118 additions & 0 deletions

File tree

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Developer Certificate of Origin
2+
Version 1.1
3+
4+
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
5+
660 York Street, Suite 102,
6+
San Francisco, CA 94110 USA
7+
8+
Everyone is permitted to copy and distribute verbatim copies of this
9+
license document, but changing it is not allowed.
10+
11+
Developer's Certificate of Origin 1.1
12+
13+
By making a contribution to this project, I certify that:
14+
15+
(a) The contribution was created in whole or in part by me and I
16+
have the right to submit it under the open source license
17+
indicated in the file; or
18+
19+
(b) The contribution is based upon previous work that, to the best
20+
of my knowledge, is covered under an appropriate open source
21+
license and I have the right under that license to submit that
22+
work with modifications, whether created in whole or in part
23+
by me, under the same open source license (unless I am
24+
permitted to submit under a different license), as indicated
25+
in the file; or
26+
27+
(c) The contribution was provided directly to me by some other
28+
person who certified (a), (b) or (c) and I have not modified
29+
it.
30+
31+
(d) I understand and agree that this project and the contribution
32+
are public and that a record of the contribution (including all
33+
personal information I submit with it, including my sign-off) is
34+
maintained indefinitely and may be redistributed consistent with
35+
this project or the open source license(s) involved.

CONTRIBUTING.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Contributing to CSPR.design
2+
3+
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.
4+
5+
## Submitting issues
6+
7+
If you have questions about how to use CSPR.design, please direct these to our community channels:
8+
* [CSPR Developers Group](https://t.me/CSPRDevelopers) - Ask questions and discuss ideas with the community
9+
* [Storybook Documentation](https://storybook.cspr.design) - Explore component examples and API documentation
10+
11+
### Guidelines
12+
* Please search the existing issues first, it's likely that your issue was already reported or even fixed.
13+
- Go to the main page of the repository, click "issues" and type any word in the top search/command bar.
14+
- You can also filter by appending e.g. "state:open" to the search string.
15+
- More info on [search syntax within GitHub](https://help.github.com/articles/searching-issues)
16+
* Use the appropriate issue template for your submission:
17+
- 🐞 **Bug report** - For reporting issues with components
18+
-**Feature request** - For suggesting new components or features
19+
20+
## Contributing to CSPR.design
21+
22+
All contributions to this repository are considered to be licensed under Apache License 2.0.
23+
24+
### Workflow for bug fixes:
25+
* Check open issues and unmerged pull requests to make sure the topic is not already covered elsewhere
26+
* Fork the repository
27+
* Do your changes on your fork
28+
* Make sure to add or update relevant test cases
29+
* Update Storybook stories if your changes affect component behavior or props
30+
* Test your changes in Storybook to ensure they work as expected
31+
* Create a pull request, with a suitable title and description, referring to the related issue
32+
33+
### Workflow for new components:
34+
* Check existing issues and discussions to ensure the component is needed and aligns with the design system
35+
* Create or update the component following our coding standards
36+
* Add comprehensive Storybook stories demonstrating all component variants and use cases
37+
* Include TypeScript definitions with proper JSDoc comments
38+
* Add unit tests covering component functionality
39+
* Update documentation if necessary
40+
* Create a pull request with detailed description of the new component
41+
42+
### Workflow for documentation improvements:
43+
* Identify areas where documentation can be improved
44+
* Update Storybook stories, README files, or inline code comments
45+
* Ensure examples are accurate and follow current best practices
46+
* Test that all code examples work correctly
47+
* Submit a pull request with clear description of documentation changes
48+
49+
### Code Standards
50+
51+
* **TypeScript**: All components must be written in TypeScript with proper type definitions
52+
* **Styling**: Use styled-components following our theming system
53+
* **Testing**: Include unit tests for all new functionality
54+
* **Storybook**: Every component must have comprehensive Storybook stories
55+
* **Accessibility**: Ensure components meet WCAG accessibility guidelines
56+
* **Performance**: Consider bundle size impact and rendering performance
57+
58+
### Sign your work
59+
60+
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.
61+
62+
Please read [developer-certificate-of-origin](https://github.com/make-software/cspr-design/blob/main/.github/developer-certificate-of-origin).
63+
64+
If you can certify it, then just add a line to every git commit message:
65+
66+
```
67+
Signed-off-by: Random J Developer <random@developer.example.org>
68+
```
69+
70+
Use your real name (sorry, no pseudonyms or anonymous contributions).
71+
72+
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.
73+
74+
## Community
75+
76+
We welcome contributions from developers building in the Casper ecosystem! Join our community:
77+
78+
* **[CSPR Developers Group](https://t.me/CSPRDevelopers)** - Main community chat for questions and discussions
79+
* **[GitHub Issues](https://github.com/make-software/cspr-design/issues)** - Bug reports and feature requests
80+
* **[Storybook](https://storybook.cspr.design)** - Component documentation and examples
81+
82+
Thank you for contributing to CSPR.design and helping build a better developer experience for the Casper ecosystem! 🚀
83+

0 commit comments

Comments
 (0)