From 6617ffd1f373bb1b0b088e573b232bc3804f9a22 Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 10 Jun 2026 11:00:18 +0530 Subject: [PATCH] chore: update contributing doc --- CONTRIBUTING.md | 43 ++++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 482717c6..324153fb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,37 +1,48 @@ # Contributing +Want to help? Great! 🙌 Work is driven by GitHub Issues, so that's the best place to start. + +## Tree Hygiene + +This project follows a **Gitflow** feature branching model. Please also use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) so others can scan the tree and understand changes at a glance. Pull requests for feature branches target the `develop` branch and once reviewed by a maintainer, will have their commits squashed for tidiness. + ## Repo Structure ``` -|- fastlane. : Build scripts and configuration -|- samples : Sample apps demonstrating usage of Mockzilla -|- mockzilla : The directory forming the core Mockzilla KMM module -|- mockzilla-common: Common utilities used by multiple other modules -|- mockzilla-management: A kotlin wrapper around the http apis defined in `mockzilla` -|- mockzilla-management-ui: Compose multiplatform app used to maniplulate mockzilla at runtime -|- SwiftMockzilla : The directory forming the SPM package -|- FlutterMockzilla: The directory containing the federated Flutter plugin - +|- fastlane : Build scripts and configuration +|- samples : Sample apps demonstrating usage of Mockzilla +|- mockzilla : The core Mockzilla KMP module +|- mockzilla-common : Common utilities shared across modules +|- mockzilla-management : Kotlin wrapper around the HTTP APIs defined in `mockzilla` +|- mockzilla-management-ui : Compose Multiplatform management UI +| |- mockzilla-desktop : Desktop app +| |- mockzilla-mobile-ui : Mobile management UI (Android/iOS) +| |- mockzilla-management-ui-common : Shared UI code +|- SwiftMockzilla : The SPM package +|- SwiftMockzillaMobileUi : Swift management UI for mobile +|- FlutterMockzilla : The federated Flutter plugin +|- js-scripts : Web/JS support scripts ``` ## Issues -All work is tracked using Github Issues. Before starting please ensure you create an Issue associated with your work if one does not exist. +All work is tracked using GitHub Issues. Before diving in, make sure there's an issue linked to your work — create one if it doesn't exist yet. [https://github.com/Apadmi-Engineering/Mockzilla/issues](https://github.com/Apadmi-Engineering/Mockzilla/issues) ## Write your code! -For guidance on contributing to the Flutter packages, please checkout the [Flutter README](https://github.com/Apadmi-Engineering/Mockzilla/tree/develop/FlutterMockzilla). +For guidance on contributing to the Flutter packages, please check out the [Flutter README](https://github.com/Apadmi-Engineering/Mockzilla/tree/develop/FlutterMockzilla). -1. Checkout the tests. The library is setup with TDD in mind, we recommend writing your tests first! +1. Check out the tests. The library is set up with TDD in mind — we recommend writing your tests first! 2. Implement your feature/bugfix! -### Testing through the demo apps. +### Testing through the demo apps It's a good idea to sanity check your work by using the library through the demo apps. -Open the root of this repo in Android Studio and run the `samples.demo-kmm.AndroidApp` or `samples.demo-android` targets. The KMM iOS app can also be run through XCode as normal. +Open the root of this repo in Android Studio and run the `samples.demo-kmm.AndroidApp` or `samples.demo-android` targets. The KMM iOS app can also be run through Xcode as normal. + Note: Currently there's no way to test the Swift package locally without it first being deployed. ## Internal API (`@InternalMockzillaApi`) @@ -70,6 +81,4 @@ Creating a pull request will check everything compiles and runs all your tests. This section is specifically for Apadmi maintainers creating releases. 1. Releases are all managed automatically. To release a new version, merge the open release pull request as described here: [https://github.com/google-github-actions/release-please-action](https://github.com/google-github-actions/release-please-action). -2. Deploy the release to maven central from [https://s01.oss.sonatype.org/#stagingRepositories](https://s01.oss.sonatype.org/#stagingRepositories). - - +2. Deploy the release to Maven Central from [https://s01.oss.sonatype.org/#stagingRepositories](https://s01.oss.sonatype.org/#stagingRepositories).