Enhance contribution guidelines and add pull request template

This commit is contained in:
abue-ammar
2026-07-29 18:42:00 +06:00
parent 5210113338
commit eb2648f226
3 changed files with 50 additions and 3 deletions
+36
View File
@@ -0,0 +1,36 @@
<!-- Read CONTRIBUTING.md first. An agreed issue is mandatory; PRs without one get closed. -->
## Related issue
Closes #
## What changed
<!-- What it does and how it works. Call out anything non-obvious in the diff. -->
## Memory footprint
<!-- Required. Under 100 MB always, and back to baseline after the palette closes. -->
| Step | Memory |
| ----------------------- | ------ |
| Idle after launch | |
| Palette open | |
| Feature in use (peak) | |
| Palette closed, settled | |
Leak-tested:
## Demo
<!-- Visual change → side-by-side before/after video. Same window size, same actions.
"After"-only clips and stills don't count. Delete this section if nothing visual changed. -->
## Drawbacks
<!-- Tradeoffs made on purpose, and anything you're unsure about. "None" is a valid answer. -->
## Tests & validation
<!-- Which Tools/ harnesses you ran and any cases you added, plus what you exercised by hand.
Commands: docs/development.md § Tests. -->
+5 -1
View File
@@ -26,6 +26,8 @@ Check existing [issues](https://github.com/abue-ammar/tinycast/issues) and
## Before submitting
- **A linked issue that got a green light.** No agreed issue, no merge — typos and docs-only fixes
aside.
- Builds clean — no new warnings.
- The `Tools/` harnesses pass; engine changes come with new cases.
- Leak-tested and memory-measured. Numbers in the PR.
@@ -40,6 +42,8 @@ Check existing [issues](https://github.com/abue-ammar/tinycast/issues) and
## Pull requests
- Fill in the [PR template](.github/PULL_REQUEST_TEMPLATE.md) — every section, or say why it doesn't
apply.
- **Visual change → side-by-side before/after video. Mandatory.** Same window size, same actions.
An "after"-only clip doesn't count; stills don't substitute.
- Non-visual → say what you tested.
@@ -50,7 +54,7 @@ Check existing [issues](https://github.com/abue-ammar/tinycast/issues) and
Match the surrounding code.
- Single-line comments only. Comment the *why*, never the *what*.
- Single-line comments only. Comment the _why_, never the _what_.
- Views stay declarative; logic lives in models and managers.
- Swift 6 isolation — heavy work off the main actor.
- [`Core/Theme.swift`](Tinycast/Core/Theme.swift) tokens only. Read [`docs/ui.md`](docs/ui.md) before
+9 -2
View File
@@ -68,9 +68,16 @@ and website workflows, and **[docs/ui.md](docs/ui.md)** for the UI design system
## Contributing
> [!IMPORTANT]
> **Open an issue before you write code — this is mandatory.** Get the bug or the feature agreed on
> first; discussing it in the issue (or on [Discord](https://discord.gg/v2Eeb4QQy3)) is strongly
> encouraged. A PR with no agreed issue behind it gets closed however good the patch is, and the
> work is wasted. Typo and docs-only fixes are the one exception.
Read **[CONTRIBUTING.md](CONTRIBUTING.md)** first — it covers the memory budget every PR is held to,
the before/after video requirement for visual changes, and why features get declined. Security issues
go through [SECURITY.md](SECURITY.md), not the issue tracker.
the before/after video requirement for visual changes, and why features get declined. Every PR fills
in the **[pull request template](.github/PULL_REQUEST_TEMPLATE.md)**. Security issues go through
[SECURITY.md](SECURITY.md), not the issue tracker.
Questions, ideas, or just want to follow along? **[Join the Discord](https://discord.gg/v2Eeb4QQy3)**.