Repository navigation
contribution guide
Mehrdad Pajuhaan edited this page Oct 23, 2026
·
2 revisions
Thank you for your interest in improving Selldone Components. This page explains how to propose changes, how to set up the library for local development, and the conventions we follow. The organization-wide rules are in the Selldone Contributing guide and the Code of Conduct; please read them first.
- Report a bug — open an issue with steps to reproduce, the component name and your browser.
- Suggest an improvement — open an issue describing the use case before you write a large change.
- Fix or improve code — send a pull request.
- Improve translations — texts live in selldone/translate, not in this repository.
- Report a vulnerability — never in a public issue. Email security@selldone.com and see the Security policy.
- Fork selldone/components to your GitHub account.
-
Clone your fork and add the original repository as
upstreamto keep your fork in sync. - Create a branch for each change.
The library is consumed as source by an app such as the Storefront. Link it with Yarn (from DEVELOPMENT.md):
# In this repository: link the library
yarn link
# Link the other Selldone libraries to this project
yarn link "@selldone/core-js"
yarn link "@selldone/sdk-storefront"
yarn link "@selldone/sdk-backoffice"
yarn link "@selldone/sdk-community"
yarn link "@selldone/sdk-vendor"
yarn link "@selldone/page-builder"Then, in your app, run yarn link "@selldone/components-vue" and start the dev server. To undo a link, run
yarn unlink "<package>" in the app and then yarn install.
-
Naming — start component names with the family prefix:
Sstorefront,Bbackoffice,UUI,Ccommunity. Put each component in its own folder under the matching top-level folder. See Component Families. -
Texts — never hard-code user-facing strings; use
$t()keys from Translate. Add new English keys there. -
APIs — call Selldone through the SDKs (
window.$storefront,window.$backoffice, …), not raw URLs. - Style — follow the existing code style (TypeScript, Vue 3 options API with Vuetify 3). The project uses ESLint and Prettier.
- Comments — explain non-obvious logic and keep the existing comment structure.
-
Performance — load heavy dependencies (charts, maps, editors) asynchronously, as
components-mandetory.tsdoes forapexchart,u-qrcodeandu-lottie.
- Push your branch to your fork.
- Open a pull request against
mainwith a clear description, screenshots for UI changes, and the components you touched. - Address review feedback.
- A maintainer merges the pull request when it is approved.
Guides
- Getting Started
- Installation and Registration
- Component Families
- Storefront vs Backoffice
- Theming and Styles
- Directives and Services
- FAQ
Community
Ecosystem
Links