Skip to content
This repository was archived by the owner on Oct 25, 2026. It is now read-only.

Contributing

Syed Ahmer Shah edited this page Oct 25, 2026 · 1 revision

Contributing

The full guide is in CONTRIBUTING.md. In short:

  • For anything bigger than a small fix, open an issue first.
  • Security issues go through Security, never public issues.

Branching

The repository has a single branch, main, protected by rulesets:

Ruleset What it does
main · integrity main can't be deleted or force-pushed, and every commit must be signed
main · linear history no merge commits on main (git pull --rebase)
single branch · no other branches no other branch can be created on GitHub
release tags v* tags can't be moved or deleted

Commits

Conventional Commits:

feat(checkout): allow saving a default delivery address
fix(shop): ignore array-valued filter params
docs: explain Resend setup

Code style

Area Convention
PHP PSR-12 via Laravel Pint (./vendor/bin/pint)
PHP structure Thin controllers; logic in app/Actions or app/Services; validation in app/Http/Requests
React Function components, one Inertia page per file in resources/js/Pages/<Area>/
Styling Tailwind utilities + design tokens in resources/css/app.css; no inline hex colours
Motion GSAP via @/lib/gsap; always respect prefersReducedMotion()

Before pushing

./vendor/bin/pint --test
php artisan test
npm run build

Mention any new .env keys, migrations or commands in the commit body.

Clone this wiki locally