diff --git a/README.md b/README.md
index f3333a2..8d432e4 100644
--- a/README.md
+++ b/README.md
@@ -1,19 +1,97 @@
-
SNIGDHA OS WELCOME
+# Snigdha OS Welcome
->You must follow the commit types with commitizen.
+The **Snigdha OS Welcome** application is your first step into the world of **Snigdha OS**. It provides a smooth onboarding experience, introducing users to key features and settings while guiding them through the initial setup of their new **Snigdha OS** installation.
-## Commit types
+## Features π
-| Commit Type | Title | Description | Emoji |
-| ----------- | ------------------------ | ----------------------------------------------------------------------------------------------------------- |:------:|
-| `feat` | Features | A new feature | β¨ |
-| `fix` | Bug Fixes | A bug Fix | π |
-| `docs` | Documentation | Documentation only changes | π |
-| `style` | Styles | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) | π |
-| `refactor` | Code Refactoring | A code change that neither fixes a bug nor adds a feature | π¦ |
-| `perf` | Performance Improvements | A code change that improves performance | π |
-| `test` | Tests | Adding missing tests or correcting existing tests | π¨ |
-| `build` | Builds | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) | π |
-| `ci` | Continuous Integrations | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) | βοΈ |
-| `chore` | Chores | Other changes that don't modify src or test files | β»οΈ |
-| `revert` | Reverts | Reverts a previous commit | π |
+- **Interactive Onboarding**: A guided walkthrough that introduces Snigdha OS features and customization options. πΆββοΈ
+- **Quick Setup**: Configure essential system settings for a smooth start. βοΈ
+- **Snigdha OS Customization**: Easily apply customizations, themes, and configurations. π¨
+- **Useful Links**: Direct access to documentation, community channels, and resources. π
+- **System Information**: Displays system info and hardware details for user reference. π₯οΈ
+
+## Installation π οΈ
+
+To install **Snigdha OS Welcome**, follow these steps:
+
+1. Clone the repository:
+ ```bash
+ git clone https://github.com/Snigdha-OS/snigdhaos-welcome.git
+ ```
+
+2. Navigate to the directory:
+ ```bash
+ cd snigdhaos-welcome
+ ```
+
+3. Install the required dependencies:
+ ```bash
+ pip install -r requirements.txt
+ ```
+
+ This will install all the necessary Python packages.
+
+## Usage π
+
+Once installed, you can launch **Snigdha OS Welcome** by running:
+
+```bash
+python3 snigdhaos_welcome.py
+```
+
+The welcome window will guide you through essential steps, such as:
+
+- Choosing your preferred desktop settings π₯οΈ
+- Enabling additional features π§
+- Accessing documentation and community support π
+
+## Customization ποΈ
+
+You can easily configure **Snigdha OS Welcome** by editing the configuration files located in:
+
+```bash
+~/.config/snigdhaos-welcome/
+```
+
+## Developers π¨βπ»
+
+- **d3v1l0n**: Primary developer and maintainer of Snigdha OS Welcome.
+- **Snigdha OS Team**: Contributions to development, design, and testing.
+
+## Contributing π€
+
+We welcome contributions to improve **Snigdha OS Welcome**. To contribute:
+
+1. Fork the repository.
+2. Create a feature branch:
+ ```bash
+ git checkout -b feature/your-feature
+ ```
+3. Commit your changes:
+ ```bash
+ git commit -m "Add your feature description"
+ ```
+4. Push your branch:
+ ```bash
+ git push origin feature/your-feature
+ ```
+5. Create a Pull Request.
+
+## License π
+
+This project is licensed under the [MIT License](LICENSE).
+
+## Credits π
+
+- **Snigdha OS Team** for their dedication to creating a superior Linux experience. π
+- Powered by **[TONMOY INFRASTRUCTURE](https://www.tonmoy.com)**. ποΈ
+
+## Feedback and Support π¬
+
+If you encounter issues or have suggestions for improvement, please open an [issue](https://github.com/Snigdha-OS/snigdhaos-welcome/issues) or contact us through our [community channels](https://forum.snigdhaos.org/).
+
+
+
+
+ Snigdha OS - Your Gateway to a Minimal and Powerful Linux Experience πͺπ»
+
\ No newline at end of file
diff --git a/push.sh b/push.sh
index 60508a5..2208e80 100755
--- a/push.sh
+++ b/push.sh
@@ -1,32 +1,88 @@
#!/bin/bash
-# Author : Eshan Roy
-# URI : https://eshanized.github.io
+# Author : ESHAN ROY
+# Author URI : https://eshanized.github.io
-# NOTE: If you are on Snigdha OS,
-# you can install commitizen-go with `sudo pacman -S commitizen-go`
-# or `s commitizen-go`. Else you need to install `yay` or `yay-bin`
-# to install commitizen. I have written this script only for *Arch Linux.
+# NOTE : Run at your own risk!
-# Function to check if Commitizen is installed
-check_commitizen() {
- if ! pacman -Qq commitizen-go &> /dev/null; then
- echo "Commitizen is not installed. Please install it using 'yay -S commitizen-go'." >&2
- exit 1
+# Define the conventional commit types with new emojis
+TYPES=("π feat" "π fix" "π docs" "β¨ style" "π refactor" "β‘οΈ perf" "π¬ test" "π§ build" "π€ ci" "π§Ή chore" "βͺ revert")
+
+# Function to display an error and exit
+error_exit() {
+ echo -e "\033[1;31m[ERROR]\033[0m $1"
+ exit 1
+}
+
+# Ensure the script is run in a Git repository
+git rev-parse --is-inside-work-tree > /dev/null 2>&1 || error_exit "This is not a Git repository."
+
+# Prompt the user to select a commit type
+echo "Select a commit type:"
+select type in "${TYPES[@]}"; do
+ if [[ -n "$type" ]]; then
+ break
+ else
+ echo "Invalid selection. Please try again."
fi
-}
+done
-# Function to stage, commit, and push changes
-push_to_github() {
- git add .
- git cz
- git push origin master
-}
+# Extract the commit type and emoji from the selection
+type_emoji=${type}
+type=${type_emoji#* }
+emoji=${type_emoji% *}
-# Main Function
-main() {
- check_commitizen
- push_to_github
-}
+# Prompt the user to enter a scope (optional)
+read -p "Enter a scope (optional): " scope
+scope_part=""
+if [ -n "$scope" ]; then
+ scope_part="($scope)"
+fi
-main
\ No newline at end of file
+# Prompt the user to enter a short description
+read -p "Enter a short description: " desc
+if [ -z "$desc" ]; then
+ error_exit "A short description is required!"
+fi
+
+# Prompt the user to enter a longer description (optional)
+read -p "Enter a longer description (optional): " long_desc
+
+# Create the commit message
+commit_msg="$emoji $type$scope_part: $desc"
+
+# If a longer description was provided, add it to the commit message
+if [ -n "$long_desc" ]; then
+ commit_msg+="
+
+$long_desc"
+fi
+
+# Print the commit message to the console
+echo -e "\nCommit message:"
+echo -e "\033[1;36m$commit_msg\033[0m"
+
+# Confirm before committing
+read -p "Do you want to proceed with this commit? (y/n): " confirm
+if [[ "$confirm" != "y" && "$confirm" != "Y" ]]; then
+ echo "Commit aborted."
+ exit 0
+fi
+
+# Stage all changes
+git add .
+
+# Commit the changes with the conventional commit message
+if git commit -m "$commit_msg"; then
+ echo -e "\033[1;32mCommit successful!\033[0m"
+else
+ error_exit "Commit failed."
+fi
+
+# Push the changes to the remote repository
+branch=$(git rev-parse --abbrev-ref HEAD)
+if git push origin "$branch"; then
+ echo -e "\033[1;32mChanges pushed to remote branch '$branch'.\033[0m"
+else
+ error_exit "Push failed. Please check your connection or branch permissions."
+fi
\ No newline at end of file