Skip to content

Commit 97e4a7a

Browse files
authored
Merge pull request #22 from niyajali/update-readme
docs: Update documentation and improve code readability
2 parents 5fd0d93 + f17454b commit 97e4a7a

File tree

8 files changed

+58
-31
lines changed

8 files changed

+58
-31
lines changed

README.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,37 @@ The repository includes a GitHub workflow (`sync-cmp-dirs.yml`) that:
112112
- Creates pull requests for review when changes are detected
113113
- Includes detailed change logs in PR description
114114

115+
#### Required Workflow Permissions Setup
116+
1. Go to your repository's **Settings**
117+
2. Navigate to **Actions** > **General** in the left sidebar
118+
3. Scroll down to **Workflow permissions**
119+
4. Enable the following permissions:
120+
- ✅ Select "**Read and write permissions**"
121+
- ✅ Check "**Allow GitHub Actions to create and approve pull requests**"
122+
5. Click "**Save**" to apply the changes
123+
124+
Without these permissions, the sync workflow won't be able to create pull requests automatically. for more information, see [GitHub Docs](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/controlling-permissions-for-github_token).
125+
126+
To enable the permissions, navigate to repository `settings --> Actions --> General --> Workflow Permissions and enable the required permissions`.
127+
128+
![Workflow Permissions](https://github.com/user-attachments/assets/ca16a700-8838-4d6f-9ac3-c681107a2ce0)
129+
130+
## 🔄 Staying in Sync with Upstream
131+
132+
### Manual Sync
133+
1. Use the provided `sync-cmp-dirs.sh` script to sync specific CMP directories
134+
2. Review changes before committing
135+
3. Push changes to your repository
136+
137+
### Automated Sync
138+
1. Ensure workflow permissions are properly configured (see above)
139+
2. The GitHub workflow automatically syncs directories weekly
140+
3. Review and merge the generated pull requests
141+
4. Manual sync can be triggered from GitHub Actions tab
142+
143+
[Rest of the previous content remains the same]
144+
145+
115146
## 🚀 Quick Start
116147

117148
### Prerequisites

cmp-android/src/main/kotlin/cmp/android/app/AndroidApp.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@ class AndroidApp : Application() {
2626
override fun onCreate() {
2727
super.onCreate()
2828

29-
// Start Koin
29+
/**
30+
* Initialize Koin modules.
31+
*/
3032
startKoin {
3133
androidContext(this@AndroidApp)
3234
androidLogger()

cmp-android/src/main/kotlin/cmp/android/app/MainActivity.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ class MainActivity : ComponentActivity() {
4646

4747
ShareUtils.setActivityProvider { return@setActivityProvider this }
4848

49+
/**
50+
* Set the content view of the activity.
51+
* @see setContent
52+
*/
4953
setContent {
5054
SharedApp(
5155
networkMonitor = networkMonitor,

cmp-desktop/src/jvmMain/kotlin/main.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ fun main() {
2929
state = windowState,
3030
title = "MifosAppTemplate",
3131
) {
32+
// Set the content of the window.
3233
SharedApp()
3334
}
3435
}

core/common/src/commonMain/kotlin/org/mifos/core/common/di/DispatchersModule.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ import org.koin.core.module.Module
1717
import org.koin.core.qualifier.named
1818
import org.koin.dsl.module
1919

20+
/**
21+
* This module provides the default dispatchers for the application.
22+
* The default dispatcher is used for all coroutines that are launched in the application.
23+
* The IO dispatcher is used for all coroutines that perform IO operations.
24+
* The Unconfined dispatcher is used for all coroutines that are not bound to any specific thread.
25+
* The ApplicationScope is used to launch coroutines that are bound to the lifecycle of the application.
26+
*
27+
*/
2028
enum class AppDispatchers {
2129
Default,
2230
IO,

feature/home/src/commonMain/kotlin/org/mifos/feature/home/HomeScreen.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,24 @@ import androidx.compose.ui.Modifier
2020
import androidx.compose.ui.text.font.FontWeight
2121
import org.mifos.core.designsystem.component.MifosScaffold
2222

23+
/**
24+
* Home Screen composable.
25+
* @param modifier Modifier
26+
* @return Composable
27+
*/
2328
@Composable
2429
internal fun HomeScreen(modifier: Modifier = Modifier) {
2530
HomeScreenContent(
2631
modifier = modifier.fillMaxSize(),
2732
)
2833
}
2934

35+
/**
36+
* Home Screen content.
37+
*
38+
* @param modifier Modifier
39+
* @return Composable
40+
*/
3041
@Composable
3142
internal fun HomeScreenContent(modifier: Modifier) {
3243
MifosScaffold(modifier = modifier) {

scripts/pre-commit.sh

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,5 @@
11
#!/bin/sh
22

3-
# Function to check the current branch
4-
check_current_branch() {
5-
echo "\n🚀 Checking the current git branch..."
6-
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
7-
if [ "$CURRENT_BRANCH" = "master" ] || [ "$CURRENT_BRANCH" = "dev" ]; then
8-
echo "🛑 Hold it right there! Committing directly to the '$CURRENT_BRANCH' branch? That's a big no-no!"
9-
echo "🚫 Direct commits to '$CURRENT_BRANCH' are like trying to use a wrench to write code—doesn't work! 😜"
10-
echo "\nABORTING COMMIT: You must navigate to a feature branch or create a new one to save the day! 🦸‍♂️🦸‍♀️\n"
11-
exit 1
12-
else
13-
echo "✅ Fantastic! You're on the '$CURRENT_BRANCH' branch, which is perfect for commits. Let's keep this awesome momentum going! 🚀✨"
14-
fi
15-
}
16-
173
# Function to run Spotless checks
184
run_spotless_checks() {
195
echo "\n🚀 Spotless is now analyzing and formatting your code!"
@@ -85,7 +71,6 @@ print_success_message() {
8571
}
8672

8773
# Main script execution
88-
check_current_branch
8974
run_spotless_checks
9075
run_detekt_checks
9176
run_dependency_guard

scripts/pre-push.sh

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,5 @@
11
#!/bin/sh
22

3-
# Function to check the current branch
4-
check_current_branch() {
5-
printf "\n🚀 Checking the current git branch..."
6-
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
7-
if [ "$CURRENT_BRANCH" = "master" ] || [ "$CURRENT_BRANCH" = "dev" ]; then
8-
echo "🛑 Hold it right there! Committing directly to the '$CURRENT_BRANCH' branch? That's a big no-no!"
9-
echo "🚫 Direct commits to '$CURRENT_BRANCH' are like trying to use a wrench to write code—doesn't work! 😜"
10-
printf "\nABORTING COMMIT: You must navigate to a feature branch or create a new one to save the day! 🦸‍♂️🦸‍♀️\n"
11-
exit 1
12-
else
13-
echo "✅ Fantastic! You're on the '$CURRENT_BRANCH' branch, which is perfect for commits. Let's keep this awesome momentum going! 🚀✨"
14-
fi
15-
}
16-
173
# Function to run Spotless checks
184
run_spotless_checks() {
195
printf "\n🚀 Spotless is now analyzing and formatting your code!"
@@ -91,7 +77,6 @@ print_success_message() {
9177
}
9278

9379
# Main script execution
94-
check_current_branch
9580
run_spotless_checks
9681
run_detekt_checks
9782
run_dependency_guard

0 commit comments

Comments
 (0)