WebSight Starter is a sample open-source project built on top of the Websight CMS Community Edition administered by the Dynamic Solution. We appreciate your interest and efforts to contribute to Websight Starter. See the LICENSE licensing information and the contributing (CLA) information.
We highly appreciate your effort to contribute, but we recommend you discuss to a maintainer before spending a lot of time making a pull request that may not align with the project roadmap.
Feature Requests by the community are highly encouraged. Feel free to submit a new one.
WebSight Starter is using GitHub issues to manage bugs. We keep a close eye on them. Before filing a new issue, try to ensure your problem does not already exist.
This project, and everyone participating in it, are governed by the WebSight Code of Conduct. By participating, you are expected to uphold it. Make sure to read the full text to understand which type of actions may or may not be tolerated.
You need to sign a Dynamic Solutions Individual Contributor License Agreement (CLA) to accept your pull request. You only need to do this once. If you submit a pull request for the first time, we will ask you to sign our CLA before merging the pull request.
If you make contributions to our repositories on behalf of your company, we will need a Dynamic Solutions Corporate Contributor License Agreement signed. To do that, please get in touch with us at websight@ds.pl.
Pull requests related to fixing documentation for the latest release should be directed towards the documentation repository.
Follow Google Style Guide code formatting, particularly set your IDE tab size
/ident
to 2 spaces
and continuation ident
to 4 spaces.
Additionally, we use the maven-checkstyle-plugin
plugin to validate all rules, so if there is some
checkstyle issue, our mvn clean install
should fail with the message:
[INFO] Starting audit...
[WARN] /Projects/websight/projects/howlite/core/src/main/java/pl/ds/howlite/components/models/AccordionItemComponent.java:12:8: 'member def modifier' has incorrect indentation level 7, expected level should be 2. [Indentation]
[WARN] /Projects/websight/projects/howlite/core/src/main/java/pl/ds/howlite/components/models/AccordionItemComponent.java:13:3: Annotation 'Inject' have incorrect indentation level 2, expected level should be 7. [AnnotationLocationVariables]
[WARN] /Projects/websight/projects/howlite/core/src/main/java/pl/ds/howlite/components/models/AccordionItemComponent.java:14:3: Annotation 'Default' have incorrect indentation level 2, expected level should be 7. [AnnotationLocationVariables]
Audit done.
We use JUnit 5 for unit tests, Cypress for end-to-end tests, and BackstopJS to visual regression tests.
Before contributing a change, make sure to run all tests and ensure they pass. If you are adding a new feature, make sure to add tests for it.
See the CI GH Action
on how to run the tests suites.
Additionally, we use this repository as a Developer's start guide reference.
Make sure the Dev Journey Action
is passing. You may run it locally using the ./scripts/dev-journey-*.sh
scripts. See the full workflow in the CI GH Action
.
Note: on MacOs you will need to
brew install coreutils
to run thedev-journey-*.sh
scripts.