From 6eeeef1ebf8a8fdffa4ed6f636db05c28e85dd6c Mon Sep 17 00:00:00 2001 From: yggverse Date: Mon, 23 Sep 2024 14:26:24 +0300 Subject: [PATCH] update readme --- README.md | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a53db70b..4a41686f 100644 --- a/README.md +++ b/README.md @@ -14,17 +14,36 @@ Rust / GTK 4 implementation cargo install Yoda ``` -### Development +### Repository ``` bash git clone https://github.com/YGGverse/Yoda.git cd Yoda git checkout Rust-GTK4 -git checkout -b 'contribution-name' -cargo fmt --check -cargo build +cargo run ``` +## Development + +This guide in process + +### Modules + +#### `browser` + +* Main file must have `mod.rs` name because it may include additional submodules in same location like database, template, etc +* The codebase of module must be as minimal as possible: separate different tasks to submodules in same folder +* Every module or it helper must contain and implement only one `struct` +* Composition modules (like box for window) stored in sub-folders and following same principles as parent +* Every mod access 1 level of child API, never parents (e.g.`super`) +* Mod constructor must return [Arc pointer](https://doc.rust-lang.org/std/sync/struct.Arc.html) for new object created + +### Contribution + +* before commit, make sure: + * new branch created for every new PR `git checkout -b 'contribution-name'` + * new code follows common [rustfmt](https://rust-lang.github.io/rustfmt/) style `cargo fmt --check` + ## See also * [CPP-GTK4](https://github.com/YGGverse/Yoda/tree/CPP-GTK4) - C++ / GTK 4 implementation