Skip to content

Latest commit

Β 

History

History
64 lines (51 loc) Β· 2.91 KB

File metadata and controls

64 lines (51 loc) Β· 2.91 KB

🀝 Contributing to Hummingbird

Thank you for your interest in contributing! Hummingbird is an open-source development theme for PrestaShop, and your help is highly appreciated πŸ™Œ

🧠 Learn Before You Start

πŸ’¬ Join our Slack community: https://www.prestashop-project.org/slack/

πŸ› οΈ Environment Setup

Follow the README.md for detailed setup and build instructions.

βœ… Checklist Before You Start

  1. Set up your Git config:
    Set up your Git for contributing
  2. Use an editor that supports .editorconfig.
    Download an EditorConfig plugin.
  3. Make sure you have Node.js v20 installed.
  4. If using AI tools to write code, make sure your agent has read the CONTEXT.md file.

πŸ‘ Good Practices

  • Use BEM naming conventions for CSS.
  • Use Bootstrap components when they fully meet your needs.
  • Create custom components when Bootstrap isn't sufficient.
  • Use Bootstrap CSS variables in your custom components wherever possible to maintain consistency.
  • Add comments to your code where clarification is needed.
  • Before submitting a PR:
    • Format code using Prettier:
      npm run prettier and npm run prettier:fix
    • Run linters for both JavaScript and styles:
      For linting check use npm run lint && npm run stylelint. Use npm run lint:fix && npm run stylelint:fix to auto-fix where possible.
      Otherwise, fix issues manually.
  • If your PR is a work in progress, use GitHub draft PR.
  • Fill out the PR template thoroughly to speed up testing and review.
  • Organize your commits clearly and try to follow conventional commits to name it.
    Examples:
    • feat: add responsive support for product cards
    • fix: correct header spacing on mobile
    • chore: update dependencies
  • AI Code Generation: If you use AI to generate code, ensure it adheres to the modern Hummingbird V2 architecture. PRs containing legacy PrestaShop code (e.g., jQuery, logic bound to CSS classes) generated by AI hallucinations will be requested for changes or rejected.
  • Follow the declarative JavaScript framework (data-ps-* attributes) as outlined in the CONTEXT.md.

πŸ› Reporting Issues

You can open an issue to:

  • Report a bug 🐞
  • Suggest an improvement πŸ’‘
  • Ask a question or get feedback before starting work πŸ’¬