@ou-imdt/css
Version:
The IMDT CSS library styles native elements with light, extendable CSS. It is developed for Interactive Media Developers at the Open University.
139 lines (87 loc) • 3.43 kB
Markdown
# Contribution guidelines
Thank you for considering contributing to our CSS library! This document provides the guidelines required for contributing effectively.
## Getting started
1. Clone the repository:
```sh
git clone git@bitbucket.org:lts-imd/css.git
```
2. Navigate to the project folder:*
```sh
cd css
```
3. Install dependencies:
```sh
npm install
```
## Working with branches
### Update your local `dev` branch:
Ensure your local `dev` branch is up-to-date with the remote `dev` branch.
```sh
git checkout dev
git pull
```
### Create a new branch:
User the format of `feature/[feature]-dev`
Check other prefixes below in development practices.
### Development practices:
- Use `feature/` for new developments. (to dev)
- Use `bugfix/` for bug fixes. (to dev)
- Use `release/` for releases. (to main)
- Use `hotfix/` for hotfixes. (to main)
- Always prefer `git pull --rebase` to avoid unnecessary merge commits.
```sh
git pull --rebase origin dev
```
- If any conflicts during the rebase resolve them. If you want to abort the rebase for a reason:
```sh
git rebase --abort
```
### Commit messages
Use following format for commit messages:
- feat: A new feature
- fix: A bug fix
- docs: Documentation only changes
- style: white-space, formatting that doesn't affect code meaning
- refactor: A code change that neither fixes a bug nor adds a feature
- test: Adding/updating tests
- chore: Changes to the build process, tools, scripts
### Making changes
1. Start development:
Make any changes or add any features while testing the in the local development environment.
2. Push changes:
Once you have completed your changes, push them to your branch.
```bash
git push origin <branch-name>
```
3. Create a pull request:
Initiate a pull request from your branch to the `dev` branch for review.
### Review and merging
#### Code Review:
All changes will be reviewed by assigned reviewers before merging.
#### After Merging:
Once your changes have been merged, mark the JIRA issue (if any) as resolved.
## Commands reference
Execute these commands from the project's root directory:
| Command | Action |
| ------------- | ------------------------------------------------------- |
| `npm install` | Installs dependencies |
| `npm start` | Starts the local development server at `localhost:3000` |
| `npm build` | builds the component library |
## Issue reporting
- Use the issue tracker.
- Provide a clear and descriptive title.
- Describe the steps to reproduce the issue (for bugs).
- Explain the expected and actual behavior (for bugs).
- Describe why the feature is needed (for feature requests).
## Pre-publish tasks:
- Bump the version number in `package.json` and update `changelog.md`.
- npm publish dry run: `npm publish --dry-run` to get a preview of the files that will be published.
- Git commit and push the changes.
- Send a PR to `main`, the Bitbucket pipeline will run and publish the new version.
>Below steps are for manual publish you don't need them but keeping here if we ever need to do it again.
- Check if logged in to npm: `npm whoami`. If not logged in, login to npm: `npm login`
- Publish the package: `npm publish --access public` 🚀
## Contact
For any queries related to contributions:
- **Mandi**
- **Mustafa**