Skip to content

Latest commit

 

History

History
124 lines (93 loc) · 3.68 KB

File metadata and controls

124 lines (93 loc) · 3.68 KB

Contributing to Strapi Publisher Plugin

We appreciate your interest in contributing to the Strapi Publisher Plugin! 🚀 This document outlines the guidelines for contributing to this project.

🏛 Community Guidelines

We strive to maintain a welcoming and inclusive environment. Please be respectful and follow the Contributor Covenant Code of Conduct.


🔧 Development Workflow

This plugin uses Yalc to test changes in a separate Strapi instance. Instead of a built-in playground, you'll need to link your plugin to a Strapi project using Yalc.

1️⃣ Fork the repository

Go to the repository and fork it to your own GitHub account.

2️⃣ Clone your fork

git clone git@github.com:YOUR_USERNAME/strapi-plugin-publisher.git

3️⃣ Install dependencies

Navigate into the project directory and install dependencies:

cd strapi-plugin-publisher && yarn install

4️⃣ Link the plugin using Yalc

You'll need Yalc to test the plugin in a separate Strapi project.

  1. Install Yalc globally (if you haven't already):

    npm i -g yalc
  2. Publish the plugin to Yalc:

    yalc publish
  3. Go to your Strapi test project (the project where you want to test the plugin):

    cd /path/to/your-strapi-project
  4. Link the plugin in your Strapi test project:

    yalc link strapi-plugin-publisher

5️⃣ Watch for changes

Go back to the plugin's repository and run:

yarn run watch:link

This will automatically recompile changes and update the plugin inside your Strapi test project.

6️⃣ Start your Strapi test project

In your Strapi test project, start the development environment:

yarn develop

Now, you should see the Publisher Plugin available in your Strapi admin panel.


✅ Commit Message Convention

We follow the Conventional Commits format:

  • fix: Bug fixes (e.g., fix: resolve issue with publish scheduling)
  • feat: New features (e.g., feat: add new logging system)
  • refactor: Code improvements without functional changes
  • docs: Documentation updates
  • chore: Tooling or maintenance changes

Example:

git commit -m "feat: add support for multiple publish schedules"

🔍 Linting

We use ESLint to enforce coding standards.

🛠 Useful Commands:

Command Description
yarn lint Run ESLint to check for linting issues
yarn lint:fix Auto-fix ESLint issues

📬 Submitting a Pull Request

First time contributing? Check out this guide.

🔹 Guidelines:

  • Keep pull requests small and focused on a single change.
  • Ensure ESLint passes before submitting.
  • If updating the UI, include screenshots.
  • Follow the Pull Request Template when submitting a PR.
  • Discuss major API changes with maintainers by opening an issue first.

🐞 Reporting Bugs

If you find a bug, please create an issue on GitHub:

  • Clearly describe the problem
  • Include steps to reproduce
  • Attach screenshots/logs if possible

Create a new issue.


💡 Feature Requests

If you have an idea for a new feature, open an issue and describe:

  • Why is this feature needed?
  • How would it work?

Feature requests should align with the plugin's goals.


Thank you for contributing! 🎉