First off, thank you for considering contributing to our project! It's people like you that make this project such a great tool.
- Code of Conduct
- Getting Started
- Setting Up the Development Environment
- Coding Standards
- Commit Message Guidelines
- Branching Model
- Testing
- Building and Deploying
- Managing Dependencies
- Reporting Bugs
- Suggesting Enhancements
- Project Maintainers
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to project_email@example.com.
- Ensure the bug was not already reported by searching on GitHub under Issues.
- If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
- Fork the repo and create your branch from
main. - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Ensure the test suite passes.
- Make sure your code lints.
- Issue that pull request!
- Clone the repository:
git clone https://github.com/szymonuryga/Optimizely-Masterclass.git
cd Optimizely-Masterclass- Install dependencies:
npm install
-
Set up environment variables: Create a
.envfile in the root directory with the necessary variables (refer to the README for details). -
Start the development server:
npm run dev
We use ESLint and Prettier to ensure consistent code style. Our configuration files (.eslintrc.json and .prettierrc) are included in the repository.
- Run ESLint:
npm run lint
- Run Prettier:
npm run format
Please ensure your code adheres to these standards before submitting a pull request.
We follow the Conventional Commits specification. This leads to more readable messages that are easy to follow when looking through the project history.
Example commit messages:
feat(visual-builder): add new layout componentfix(api): handle error in revalidation endpointdocs(readme): update deployment instructions
We use a simplified Gitflow workflow:
main: The main branch where the source code always reflects a production-ready state.develop: The branch where features are integrated for the next release.- Feature branches: Named
feature/your-feature-name, branched off from and merged back intodevelop. - Hotfix branches: Named
hotfix/your-hotfix-name, branched off frommainand merged into bothmainanddevelop.
To build the project:
npm run build
For deployment, we use Vercel. The main branch is automatically deployed to production, while feature branches are deployed to preview environments.
We use npm for managing dependencies. To add a new dependency:
npm install package-name
For dev dependencies:
npm install --save-dev package-name
Please update the package.json file accordingly and commit the changes.
When reporting bugs, please include:
- A clear, descriptive title
- A detailed description of the issue
- Steps to reproduce the problem
- Expected behavior
- Actual behavior
- Screenshots (if applicable)
- Your environment (OS, browser, Node.js version, etc.)
When suggesting enhancements, please include:
- A clear, descriptive title
- A detailed description of the proposed enhancement
- Any potential implementation ideas you have
- Why this enhancement would be useful to most users
- Szymon Uryga - Lead Developer
Thank you for contributing to our project!