Docs/refactor readme (#430)
* docs: improve and shorten README Update app name to Hermes Mobile, correct JDK/dependency versions, and simplify structure. * docs: extract contributing guidelines to CONTRIBUTING.md Move the contributing workflow, code style, and PR checklist to its own file and update README.md to reference it. * docs: link to LICENSE file instead of raw text Simplify the License section in README.md to reference the LICENSE file directly. * docs: remove emojis from features list Clean up visual clutter in README.md by removing emojis from the features section. * docs: add authentication setup guide to README * docs: fix authentication section — matches actual code paths --------- Co-authored-by: M57 <hy4ri@users.noreply.github.com>
This commit is contained in:
1 parent
546dc86a98
commit
8dfc280b94
2 files changed
+125
-239
No files matched your search
@@ -0,0 +1,49 @@
|
||||
# Contributing to Hermes Mobile
|
||||
|
||||
Thank you for your interest in contributing to Hermes Mobile! To maintain high code quality and consistency, we ask all contributors to follow the workflow and guidelines outlined below.
|
||||
|
||||
---
|
||||
|
||||
## PR Workflow
|
||||
|
||||
All code changes must go through a pull request (PR). Directly pushing to `main` is not allowed.
|
||||
|
||||
1. **Pick or open an issue** to discuss the changes you want to make.
|
||||
2. **Create a branch** off `main` using the following naming convention:
|
||||
- Features: `feat/issue-N-description`
|
||||
- Bug fixes: `fix/issue-N-description`
|
||||
3. **Implement your changes** and format them locally.
|
||||
4. **Submit a PR** targeting the `main` branch.
|
||||
5. **Ensure all CI checks pass** (formatting, linting, and unit tests).
|
||||
6. **Maintainers will squash-merge** your PR into `main`.
|
||||
|
||||
---
|
||||
|
||||
## Code Style
|
||||
|
||||
We enforce Kotlin coding conventions and Jetpack Compose best practices.
|
||||
|
||||
### Kotlin Formatting
|
||||
- Code formatting is checked and enforced by **ktlint 1.2.1**.
|
||||
- Run formatting check locally before committing:
|
||||
```bash
|
||||
./ktlint <file> # Check one file
|
||||
./ktlint --format <file> # Auto-fix formatting issues
|
||||
```
|
||||
- Import ordering is strictly ASCII-lexicographic (uppercase before lowercase: e.g., `LaunchedEffect` before `collectAsState`).
|
||||
|
||||
### Compose Guidelines
|
||||
- Standard screen structures must use `HermesScaffold` rather than raw Material3 `Scaffold`.
|
||||
- Composable parameters must follow the standard order: `modifier` first, then event callbacks, and finally children content.
|
||||
|
||||
---
|
||||
|
||||
## PR Checklist
|
||||
|
||||
Before submitting your PR, please verify:
|
||||
|
||||
- [ ] Your branch is up-to-date with `main`.
|
||||
- [ ] Local build and `ktlint` checks pass successfully.
|
||||
- [ ] No unused imports, unused parameters, or dead code.
|
||||
- [ ] Every `Image` and `Icon` element has a descriptive `contentDescription` for accessibility.
|
||||
- [ ] New components match the UI/UX style of similar existing screens.
|
||||
Reference in new issue
Block a user