docs: add a contributing guide
Codeberg became canonical for issues, PRs and releases, but there was nothing telling a contributor how any of it works — no CONTRIBUTING.md at all, and no contributor entry point in the README. The workflow it documents is issue-first: a feature needs a yes-or-no before it needs code, since whether Calendula should do a thing is the one decision a patch cannot make. Both features and bugs get a milestone, and that milestone names the branch a PR targets (2.18.0 -> release/v2.18.0), because main is a release trigger rather than a staging area. Typo and docs fixes skip straight to a PR — an issue-per-typo helps nobody. Two traps get their own sections because both waste a contributor's whole afternoon: translations never go through PRs (Weblate owns every values-* file, German included, and overwrites hand-edits on the next sync), and a clone without --recurse-submodules cannot configure at all, since floret-kit is a composite build compiled from source. The rules section is the invariants that actually turn into review comments — no network, no second database, no hand-patching UI state after a write, domain/ free of Android imports, JVM-first tests, and the reproducible-build flags that the official F-Droid repo depends on.
This commit is contained in:
16
README.md
16
README.md
@@ -105,10 +105,26 @@ without reinstalling. Or build from source — see below.
|
||||
|
||||
## 📚 Documentation
|
||||
|
||||
- **[Contributing](CONTRIBUTING.md)** — how to report, propose, and patch
|
||||
- **[Building from source](docs/BUILDING.md)** — requirements and Gradle tasks
|
||||
- **[Architecture](docs/ARCHITECTURE.md)** — the layered design and key pipelines
|
||||
- **[Roadmap](.planning/ROADMAP.md)** — what's shipped and what's next
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
Bug reports, ideas, and patches are all welcome on
|
||||
**[Codeberg](https://codeberg.org/jlmakiola/calendula/issues)**.
|
||||
|
||||
The short version: **start with an issue.** Features get a yes-or-no before they
|
||||
get code, and both features and bugs are assigned a milestone whose
|
||||
`release/vX.Y.Z` branch your pull request then targets. Typo and docs fixes can
|
||||
skip straight to a pull request. Translations don't go through pull requests at
|
||||
all — [Weblate owns them](#-translations).
|
||||
|
||||
Read **[CONTRIBUTING.md](CONTRIBUTING.md)** before writing code: it covers the
|
||||
workflow, the build (note the `floret-kit` submodule), and the architectural
|
||||
rules a change is reviewed against.
|
||||
|
||||
## 🌍 Translations
|
||||
|
||||
Calendula ships in German and English, and you're warmly invited to add your
|
||||
|
||||
Reference in New Issue
Block a user