zonemaster-gui/CONTRIBUTE.md
2025-05-12 13:32:55 +02:00

1.8 KiB

Contribute

Thank you for considering contributing to Zonemaster GUI! This document provides guidelines for contributing to the project.

Project Overview

Zonemaster GUI is built with:

Development Setup

  1. Clone the repository
  2. Install dependencies:
    npm install
    
  3. Start the development server:
    npm run dev
    

Code Style

We use Prettier for code formatting with the following configuration:

  • Single quotes
  • 4 spaces for indentation
  • No tabs

To format your code:

npx prettier --write .

Testing

We use Playwright for end-to-end testing. Tests are located in the e2e directory.

To run tests:

npm run e2e

GUI Modifications

Zonemaster GUI is designed to be cloned and customized for theming purposes. When making changes to the GUI, please be mindful of the following:

  • Be careful when renaming CSS class names - Many themes may depend on these class names
  • Avoid deleting, renaming, or moving template files without proper deprecation notices
  • Consider backward compatibility when modifying component structures
  • Document any breaking changes that might affect custom themes

While it's ultimately up to theme creators to handle conflicts when syncing with the main repository, we should minimize disruption where possible. For more information on theming, see the THEMING.md document.

Pull Request Process

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Ensure tests pass
  5. Submit a pull request

Code of Conduct

Please be respectful and considerate of others when contributing to this project.