Contributing
This repo is the stable published contract. Keep it small, keep it stable. Almost every change is governed by versioning — read that first.
Dependency rules
The abstractions assembly must reference only:
- the BCL, and
- the
Microsoft.AspNetCore.Appframework reference.
Do not add references to Schuly.Application (those types live in
SchulyBackend and are not published).
The repo ships the backend's
Schuly.Domain.dllandSchuly.Infrastructure.dllas prebuilt binaries undersrc/Schuly.Plugin.Abstractions/libs/(synced from the backend) so plugins get typed DB access; the EF Core packages those DLLs need are declared in the csproj. Don't turn these into project references or pull additional backend source into this repo.
Workflow (enforced)
- Open a labeled issue describing the change. Use the right label so release-drafter
resolves the next version correctly (
breaking-change,feature,documentation,CI/CD,dependencies,bug,refactor). - Branch from
main:feature/<issue#>_PascalCaseorfix/<issue#>_PascalCase. Never commit tomain. - Open a PR with
Closes #<issue>. The PR body is Summary +Closes #<issue>only — no test plans. - Squash-merge and delete the branch.
Commit subjects are short and imperative.
No AI attribution
Never add AI / assistant attribution anywhere — not in commit messages, PR descriptions, or
issue bodies. No Co-Authored-By trailers, no "generated with" lines. Ever.
Picking a version bump
See the table in versioning. The PR label you choose is what drives the release version, so label deliberately.