Hi! We are really excited that you are interested in contributing to Vuestic. Before submitting your contribution though, please make sure to take a moment and read through the following guidelines.
- The
master
branch is basically just a snapshot of the latest stable release. All development should be done in dedicated branches. Do not submit PRs against themaster
branch. - Checkout a topic branch from the relevant branch, e.g.
develop
, and merge back against that branch. - It's OK to have multiple small commits as you work on the PR - we will let GitHub automatically squash it before merging.
- If fixing a bug:
- If you are resolving a special issue, add
(fix #xxxx[,#xxx])
(#xxxx is the issue id) so that github will close the issue once it's up onmaster
. - Provide detailed description of the bug in the PR if it's not done in the issue.
- If you are resolving a special issue, add
Commit messages should follow the commit message convention so that changelogs can be automatically generated.
-
Public branches (epicmax/vuestic-admin):
master
- stable snapshot fromdevelop
. Releases and hotfixes only. Do not submit PR's tomaster
! (that's not entirely true as hotfixes are still possible to be in master, but not in develop).develop
- main development branch. Houses2.0
at the moment.
-
Local branches
- For local branches naming stick to commit message convention. So for feature branch that adds tabs name would be
feat/tabs
.
- For local branches naming stick to commit message convention. So for feature branch that adds tabs name would be
- Keep amount of local branches minimal.
- Always link PR to issue (via
fix #123
). - For small issues you may push to
develop
branch directly while adding (fix #123
) to commit message. - Create single PR for one issue. If we have several PRs - move all the code into a single one and close the rest. If one PR covers several issues - either split it in several PRs or mark one of the issues as duplicate.
- Be sure to have only one person assigned per issue.
- Check your code: epicmaxco#378.
- We use yarn for package management.
- Be proactive. If you think something is wrong - create an issue or discuss.
- Recommended tools: GitKraken, WebStorm, ShareX
- If you work on UI components - work in book environment (
yarn serve:book
). We want to keep global stuff out of components.
Here's the component folder structure example for va-checkbox
component.
va-checkbox // component directory
|- VaCheckbox.vue // component itself
|- VaCheckbox.demo.vue // component demo
|- VaCheckbox.spec.js // component tests
|- va-checkbox-docs.md // component documentation
This will allow us to easier version documentation as well as simplify transition docs to mature version (generation from markdown).
Here's couple of points about these files:
- Only tests are optional, documentation and demos are not. Docs and demos should also cover all supported cases.
- Documentation for now should be duplicated to both wiki and
.md
, but you can copy it to wiki only before PR merge while keeping*-docs.md
updated all the time.
- Update package versions to newest ones. Update lock files (for both
npm
andyarn
)
# run dev server
$ yarn serve
# run dev server
$ yarn serve:book
# build vuestic project into bundle
$ yarn build