Skip to content

Latest commit

 

History

History
77 lines (50 loc) · 2.83 KB

File metadata and controls

77 lines (50 loc) · 2.83 KB

Contributing to InitORM

Türkçe sürüm: CONTRIBUTING.tr.md

Thank you for your interest in improving InitORM. This document covers the workflow that applies to every package under the InitORM organization.

Code of Conduct

All contributors are expected to follow the Code of Conduct.

Repository structure

InitORM is not a monorepo. The stack is published as four independent Composer packages, each with its own GitHub repository, releases, and tags:

QueryBuilder ─┐
              ├─► Database ─► ORM
DBAL ─────────┘

A breaking change in a lower-layer package ripples through every package above it. When your work crosses package boundaries:

  1. Land and tag the lowest layer first.
  2. Bump the require constraint in the dependent package(s) before merging.
  3. Open separate pull requests in each affected repository, and link them to one another in the description.

Prerequisites

  • PHP ≥ 8.0 with the pdo extension
  • Composer ≥ 2.0
  • A local clone of the relevant package repository (this is what you fork — not the .github repo)
git clone https://github.com/InitORM/<Package>.git
cd <Package>
composer install

Tests

Only QueryBuilder currently ships a PHPUnit suite. Run it with:

php vendor/bin/phpunit

If you add functionality to a package that has no tests yet, please include a minimal PHPUnit setup that covers at least the new behavior.

Code style

  • Follow PSR-12.
  • Stay consistent with surrounding code; do not reformat untouched lines.
  • Keep PHPDoc blocks on public APIs up to date — the Facade\DB class in Database relies on @method static annotations to expose the builder surface.

Commit and pull-request workflow

  1. Branch from master (or the relevant v1.x line if you are back-porting).
  2. Keep commits focused; describe the why, not just the what.
  3. Reference issues with Fixes #123 or Refs #123 when applicable.
  4. Open the pull request against master; fill in the PR template.
  5. Wait for review. The maintainer (@muhammetsafak) reviews PRs personally; please be patient.

Reporting bugs

Use the Bug report issue form in the affected package. Always include:

  • Package and version (composer show initorm/<package>)
  • PHP version (php -v)
  • A minimal reproduction (preferably runnable)

Security issues

Do not open public issues for security vulnerabilities. Follow the disclosure process in SECURITY.md.

License

By contributing, you agree that your contributions will be licensed under the MIT License — the same license as the rest of the project.