Skip to main content

Setting up your development environment

Prerequisites

Before you begin, make sure you have the following installed:

Getting started

1. Fork and clone the repositories

Fork and clone the following repositories:

# API
git clone https://github.com/YOUR_USERNAME/passbolt_api.git
cd passbolt_api

# Browser Extension
git clone https://github.com/YOUR_USERNAME/passbolt_browser_extension.git
cd passbolt_browser_extension

# Styleguide
git clone https://github.com/YOUR_USERNAME/passbolt_styleguide.git
cd passbolt_styleguide

2. Set up the API

  1. Navigate to the API directory:
cd passbolt_api
  1. Start DDev:
ddev start
  1. Install dependencies:
ddev composer install
  1. Set up the database:
ddev exec bin/cake passbolt install

Manual Setup

  1. Navigate to the API directory:
cd passbolt_api
  1. Install dependencies:
composer install
  1. Configure your database in config/app.php

  2. Set up the database:

bin/cake passbolt install

3. Set up the Browser Extension

  1. Navigate to the browser extension directory:
cd passbolt_browser_extension
  1. Install dependencies:
npm install
  1. Build the extension:
npm run build

4. Set up the Styleguide

  1. Navigate to the styleguide directory:
cd passbolt_styleguide
  1. Install dependencies:
npm install
  1. Start the development server:
npm run start

Development workflow

  1. Create a new branch for your changes:
git checkout -b feature/your-feature-name
  1. Make your changes

  2. Run tests:

# API
ddev exec vendor/bin/phpunit

# Browser Extension
npm run test

# Styleguide
npm run test
  1. Commit your changes:
git add .
git commit -m "Description of your changes"
  1. Push to your fork:
git push origin feature/your-feature-name
  1. Create a pull request

Additional resources