Thanks for showing interest to contribute to PLAIN-UI 💖
All development workflow(project management, discussion, CI) of this project maintained in Github.
Fork the plain-ui repository and clone your fork repository
You can find the planned features and fixes under the project's section. You can choose any ticket from the todo, feel free to discuss with any core contributor before working on it.
Create a new branch out of the main
branch. We follow branch naming convention like [user name]/[isue type]-[issue number]
eg: LogicalAnt/feature-77
issue type can be feature/feat
, fix
, docs
, test
.
Commit the changes you made.
Please try to comply with conventional commit.
<type>: <relevent icon> <message>
[optional body]
eg:
feat: ✨ add example component
You can use Conventional commit vscode extension if you'd like.
Push changes to your forked repository. Create a pull request from your working branch of the forked repo to the plain-ui repository.
Use template.sh file to add new component. This will lead you to initial starting point of development of the UI.
eg: template.sh ./src/components/atoms/ExampleComponent
This will create all the initial files of ExampleComponent
for you.
- NPM Package and dependency management
- Rollup Module bundling
- Storybook UI testing and documenting
- Jest, React testing library Testing components and functionalities
- Rollup plugin visualizer To analyze bundle to see which modules are taking up space.
- Auto changelog For automating changelog generation
How to analyze the bundle size?
We use
Rollup plugin visualizer
to analyze the bundle size.run npm run build which will create
stats.html
in project root. Open up the file with your desired browser and check file sizes from a treemap graph.
To startup the storybook development server npm run storybook
Tests are written using Jest and react-testing-library
To run the entire test suite: npm test
To run specific tests: npm test <test file name>
Please ensure that the tests are passing when submitting a pull request. If you're adding new features, please include tests.
Releases will be maintained by one of a core member or maintainer of the project.
$ npm run build-storybook
$ vercel
$ npm version major|minor|patch
$ npm run changelog -> commit changelog
$ git push origin HEAD --tags
$ npm run build
$ npm publish