diff --git a/.gitignore b/.gitignore
index 0f20302cf..778fe2465 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,10 @@
+
+#takeoff
+takeoff/takeoff_lib/coverage/lcov.info
+takeoff/takeoff_cli/takeoff_cli.exe
+takeoff/takeoff_gui/.vscode/launch.json
+takeoff/takeoff_gui/pubspec.lock
+takeoff/takeoff_cli/bin/takeoff_cli.exe
# VSCode Config
.vscode/*
@@ -9,3 +16,4 @@
# secrets folder
**/.secrets/**
+takeoff/takeoff_lib/test/test.dart
diff --git a/scripts/pipelines/gcloud/templates/package/package-setup-environment.sh b/scripts/pipelines/gcloud/templates/package/package-setup-environment.sh
index 522857d63..e8101145b 100755
--- a/scripts/pipelines/gcloud/templates/package/package-setup-environment.sh
+++ b/scripts/pipelines/gcloud/templates/package/package-setup-environment.sh
@@ -10,4 +10,4 @@ then
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
./aws/install
-fi
\ No newline at end of file
+fi
diff --git a/scripts/quickstart/gcloud/quickstart-wayat-backend.sh b/scripts/quickstart/gcloud/quickstart-wayat-backend.sh
old mode 100755
new mode 100644
diff --git a/scripts/quickstart/gcloud/quickstart-wayat.sh b/scripts/quickstart/gcloud/quickstart-wayat.sh
new file mode 100644
index 000000000..1295e2b92
--- /dev/null
+++ b/scripts/quickstart/gcloud/quickstart-wayat.sh
@@ -0,0 +1,62 @@
+# # https://github.com/devonfw/hangar/tree/master/setup
+# docker build -t hangar -f ./setup/Dockerfile .
+# docker run --rm -it -v /Users/$env:UserName/AppData/Roaming/gcloud:/root/.config/gcloud -v /Users/$env:UserName/AppData/Roaming/configstore:/root/.config/configstore -v /Users/$env:UserName/.aws:/root/.aws -v /Users/$env:UserName/.azure:/root/.azure -v /Users/$env:UserName/.kube:/root/.kube -v "/Users/$env:UserName/AppData/Roaming/GitHub CLI:/root/.config/gh" -v /Users/$env:UserName/.ssh:/root/.ssh -v /Users/$env:UserName/hangar_workspace:/hangar_workspace -v /Users/$env:UserName/.gitconfig:/root/.gitconfig -v ./scripts:/scripts hangar bash
+gcloud auth login
+firebase login --no-localhost
+echo "Please write the project ID:" && read project_id
+description_project="Quickstart Wayat"
+region="europe-west6"
+zone="europe-west6-a"
+firebase_region="europe-west6"
+frontendName="Frontend-Flutter"
+backendName="Backend-Python"
+frontendLanguage="flutter"
+frontendLanguage_version=3.3.4
+backendLanguage="python"
+backendLanguage_version=3.10
+echo "Please write your billing account." && read billing_account
+workspace_base=/workspace
+mkdir -p $workspace_base/$project_id
+workspace=$workspace_base/$project_id
+sa_name=sa-hangar
+# Create project
+/scripts/accounts/gcloud/create-project.sh -n "$project_id" -d "$description_project" -b "$billing_account" --firebase
+# Create SA
+/scripts/accounts/gcloud/setup-principal-account.sh -s "$sa_name" -p "$project_id" -f /scripts/accounts/gcloud/predefined-roles.txt -k "$workspace/key.json"
+/scripts/accounts/gcloud/verify-principal-roles-and-permissions.sh -s $sa_name -p "$project_id" -f /scripts/accounts/gcloud/predefined-roles.txt
+gcloud auth activate-service-account --key-file="$workspace/key.json"
+# Create repos
+/scripts/repositories/gcloud/create-repo.sh -a create -s gitflow -p "$project_id" -n "$frontendName" -d "$workspace"
+/scripts/repositories/gcloud/create-repo.sh -a create -s gitflow -p "$project_id" -n "$backendName" -d "$workspace"
+# Create Sonarqube
+mkdir -p $workspace/sonarqube
+cd /scripts/sonarqube/gcloud/
+./sonarqube.sh apply --state-folder "$workspace/sonarqube" --service_account_file "$workspace/key.json" --project "$project_id" --region "$region" --zone "$zone"
+sonarqube_token=$(grep "sonarqube_token" "$workspace/sonarqube/terraform.tfoutput" | cut -d' ' -f 3 | sed 's/^.//;s/.$//')
+sonarqube_url=$(grep "sonarqube_url" "$workspace/sonarqube/terraform.tfoutput" | cut -d' ' -f 3 | sed 's/^.//;s/.$//')
+cd /scripts
+# Get Cloud Run endpoints
+/scripts/quickstart/gcloud/init-cloud-run.sh -p "$project_id" -n "${frontendName,,}" -r "$region" -o "$workspace/$frontendName-url.txt"
+/scripts/quickstart/gcloud/init-cloud-run.sh -p "$project_id" -n "${backendName,,}" -r "$region" -o "$workspace/$backendName-url.txt"
+# Setup firebase
+/scripts/accounts/gcloud/setup-firebase.sh -n "$project_id" -o "$workspace" -r "$firebase_region" --enable-maps --setup-ios --setup-android --setup-web
+# Quickstart apps
+echo "Manual actions required. Read the info of the last command to more information."
+echo "Please write the map secret token." && read map_secret
+backend_url=$(<"$workspace/$backendName-url.txt")
+frontend_url=$(<"$workspace/$frontendName-url.txt")
+./quickstart/gcloud/quickstart-wayat-backend.sh -p "$project_id" -w "$workspace" -d "$workspace/$backendName" --storage-bucket "$project_id".appspot.com
+./quickstart/gcloud/quickstart-wayat-frontend.sh -p "$project_id" -w "$workspace" -d "$workspace/$frontendName" --keystore "$workspace/keystore.jks" --backend-url $backend_url --frontend-url $frontend_url --maps-static-secret $map_secret
+echo "Manual actions required. Read the info of the last command to more information. Press enter to continue..." && read
+# Create backend pipelines
+/scripts/pipelines/gcloud/pipeline_generator.sh -c /scripts/pipelines/gcloud/templates/build/build-pipeline.cfg -n "${backendName,,}"-build -d "$workspace/$backendName" -l $backendLanguage --language-version $backendLanguage_version -b develop
+/scripts/pipelines/gcloud/pipeline_generator.sh -c /scripts/pipelines/gcloud/templates/test/test-pipeline.cfg -n "${backendName,,}"-test -d "$workspace/$backendName" -l $backendLanguage --language-version $backendLanguage_version --build-pipeline-name "${backendName,,}"-build -b develop
+/scripts/pipelines/gcloud/pipeline_generator.sh -c /scripts/pipelines/gcloud/templates/quality/quality-pipeline.cfg -n "${backendName,,}"-quality -d "$workspace/$backendName" -l $backendLanguage --language-version $backendLanguage_version --build-pipeline-name "${backendName,,}"-build --test-pipeline-name "${backendName,,}"-test --sonar-url "$sonarqube_url" --sonar-token "$sonarqube_token" -b develop
+/scripts/pipelines/gcloud/pipeline_generator.sh -c /scripts/pipelines/gcloud/templates/package/package-pipeline.cfg -i "$region"-docker.pkg.dev/"$project_id"/"${backendName,,}"/"${backendName,,}" -n "${backendName,,}"-package -d "$workspace/$backendName" -l $backendLanguage --language-version $backendLanguage_version --build-pipeline-name "${backendName,,}"-build --quality-pipeline-name "${backendName,,}"-quality -b develop
+/scripts/pipelines/gcloud/pipeline_generator.sh -c /scripts/pipelines/gcloud/templates/deploy-cloud-run/deploy-cloud-run-pipeline.cfg -n "${backendName,,}"-deploy -d "$workspace/$backendName" -b develop --service-name "${backendName,,}" --gcloud-region "$region"
+# Create frontend web pipelines
+/scripts/pipelines/gcloud/pipeline_generator.sh -c /scripts/pipelines/gcloud/templates/build/build-pipeline.cfg -n "${frontendName,,}"-build -d "$workspace/$frontendName" -l "$frontendLanguage" --language-version "$frontendLanguage_version" --registry-location "$region" -b develop -m E2_HIGHCPU_8
+/scripts/pipelines/gcloud/pipeline_generator.sh -c /scripts/pipelines/gcloud/templates/test/test-pipeline.cfg -n "${frontendName,,}"-test -d "$workspace/$frontendName" -l "$frontendLanguage" --language-version "$frontendLanguage_version" --registry-location "$region" --build-pipeline-name "${frontendName,,}"-build -b develop -m E2_HIGHCPU_8
+/scripts/pipelines/gcloud/pipeline_generator.sh -c /scripts/pipelines/gcloud/templates/quality/quality-pipeline.cfg -n "${frontendName,,}"-quality -d "$workspace/$frontendName" -l "$frontendLanguage" --language-version "$frontendLanguage_version" --registry-location "$region" --build-pipeline-name "${frontendName,,}"-build --test-pipeline-name "${frontendName,,}"-test --sonar-url "$sonarqube_url" --sonar-token "$sonarqube_token" -b develop -m E2_HIGHCPU_8
+/scripts/pipelines/gcloud/pipeline_generator.sh -c /scripts/pipelines/gcloud/templates/package/package-pipeline.cfg -i "$region"-docker.pkg.dev/"$project_id"/"${frontendName,,}"/"${frontendName,,}" -n "${frontendName,,}"-web-package -d "$workspace/$frontendName" -l "$frontendLanguage" --language-version "$frontendLanguage_version" --build-pipeline-name "${frontendName,,}"-build --quality-pipeline-name "${frontendName,,}"-quality -b develop --registry-location "$region" --flutter-web-platform --flutter-android-platform canvaskit -m E2_HIGHCPU_8
+/scripts/pipelines/gcloud/pipeline_generator.sh -c /scripts/pipelines/gcloud/templates/deploy-cloud-run/deploy-cloud-run-pipeline.cfg -n "${frontendName,,}"-web-deploy -d "$workspace/$frontendName" -b develop --service-name "${frontendName,,}" --gcloud-region "$region" --port 80 -m E2_HIGHCPU_8
\ No newline at end of file
diff --git a/takeoff/.gitignore b/takeoff/.gitignore
new file mode 100644
index 000000000..a878ace4c
--- /dev/null
+++ b/takeoff/.gitignore
@@ -0,0 +1,6 @@
+
+# Autogenerated files
+*.g.dart
+*.gr.dart
+*.mocks.dart
+takeoff_cli/bin/takeoff_cli.exe
diff --git a/takeoff/.vscode/launch.json b/takeoff/.vscode/launch.json
new file mode 100644
index 000000000..c02b01ffb
--- /dev/null
+++ b/takeoff/.vscode/launch.json
@@ -0,0 +1,42 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "takeoff_cli",
+ "cwd": "takeoff_cli",
+ "console": "terminal",
+ "request": "launch",
+ "type": "dart",
+ "program": "bin/takeoff_cli.dart"
+ },
+ {
+ "name": "takeoff_gui",
+ "cwd": "takeoff_gui",
+ "request": "launch",
+ "type": "dart"
+ },
+ {
+ "name": "takeoff_gui (profile mode)",
+ "cwd": "takeoff_gui",
+ "request": "launch",
+ "type": "dart",
+ "flutterMode": "profile"
+ },
+ {
+ "name": "takeoff_gui (release mode)",
+ "cwd": "takeoff_gui",
+ "request": "launch",
+ "type": "dart",
+ "flutterMode": "release"
+ },
+ {
+ "name": "takeoff_lib",
+ "cwd": "takeoff_lib",
+ "request": "launch",
+ "type": "dart"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/takeoff/README.asciidoc b/takeoff/README.asciidoc
new file mode 100644
index 000000000..0d98cbd71
--- /dev/null
+++ b/takeoff/README.asciidoc
@@ -0,0 +1,41 @@
+:url-wayat: https://github.com/devonfw-forge/wayat-flutter-python-mvp
+
+= Takeoff
+
+image:https://img.shields.io/badge/os-Windows-GREEN.svg[]
+image:https://img.shields.io/badge/os-Linux-GREEN.svg[]
+
+image:https://img.shields.io/badge/Flutter-%2302569B.svg?style=for-the-badge&logo=Flutter&logoColor=white[]
+image:https://img.shields.io/badge/GoogleCloud-%234285F4.svg?style=for-the-badge&logo=google-cloud&logoColor=white[]
+
+image::_docs/rocket_logo.png[]
+
+A CLI and graphical application for creating new projects in the cloud.
+
+== What is TakeOff?
+TakeOff is a simple and user-friendly graphical and command line interface and to create and projects in the Cloud.
+
+The main use case is to be able to have a real application created and deployed in the most automated way possible (for Google Cloud, we have chosen {url-wayat}[Wayat]), so any team can take it as a base and start working on the Cloud. We call this "Quickstart".
+
+It currently only supports Google Cloud, with support for AWS and Azure still being worked on.
+
+== Requirements
+:url-get-docker: https://docs.docker.com/get-docker/
+:url-get-rancher: https://rancherdesktop.io
+:url-get-docker-desktop: https://www.docker.com/products/docker-desktop/
+
+To use TakeOff, Docker must be previously installed in one of the following ways:
+
+* {url-get-docker}[Docker] (Linux)
+* {url-get-rancher}[Rancher Desktop] (MacOS and Windows)
+* {url-get-docker-desktop}[Docker Desktop] (MacOS and Windows)
+
+image::_docs/diagrams/context_diagram/Context_Diagram.png[600,600]
+
+== How to use TakeOff
+
+:url-use-cli: https://github.com/devonfw/hangar/blob/takeoff_develop/takeoff/takeoff_cli/README.asciidoc
+:url-use-gui: https://github.com/devonfw/hangar/blob/takeoff_develop/takeoff/takeoff_gui/README.asciidoc
+
+* {url-use-cli}[TakeOff CLI]
+* {url-use-gui}[TakeOff GUI]
diff --git a/takeoff/_docs/diagrams/commands_diagram.puml b/takeoff/_docs/diagrams/commands_diagram.puml
new file mode 100644
index 000000000..ff548ff08
--- /dev/null
+++ b/takeoff/_docs/diagrams/commands_diagram.puml
@@ -0,0 +1,27 @@
+@startmindmap CommandsName
+
+* takeoff
+** gc <>
+*** create <>
+*** run <>
+*** init <>
+*** list <>
+*** clean <>
+** aws <>
+** azure <>
+** quickstart <