From 7c62cb6b1d8ebf4cdda93203731d77852469450e Mon Sep 17 00:00:00 2001
From: loks0n <22452787+loks0n@users.noreply.github.com>
Date: Sat, 22 Jul 2023 12:19:00 +0100
Subject: [PATCH 1/7] chore: remove emojis

---
 cpp/README.md                              | 2 +-
 cpp/src/main.cc                            | 6 +++---
 dart/starter-template/README.md            | 2 +-
 dart/starter-template/lib/main.dart        | 6 +++---
 deno/starter-template/README.md            | 2 +-
 deno/starter-template/src/main.ts          | 6 +++---
 dotnet/starter-template/README.md          | 2 +-
 dotnet/starter-template/src/Index.cs       | 6 +++---
 java/starter-template/README.md            | 2 +-
 java/starter-template/src/Main.java        | 6 +++---
 kotlin/starter-template/README.md          | 2 +-
 kotlin/starter-template/src/Main.kt        | 6 +++---
 node/starter-template/README.md            | 2 +-
 node/starter-template/src/main.js          | 6 +++---
 php/starter-template/README.md             | 2 +-
 php/starter-template/src/index.php         | 6 +++---
 python/starter-template/README.md          | 2 +-
 python/starter-template/src/main.py        | 6 +++---
 ruby/starter-template/README.md            | 2 +-
 ruby/starter-template/src/main.rb          | 6 +++---
 swift/starter-template/README.md           | 2 +-
 swift/starter-template/Sources/index.swift | 6 +++---
 22 files changed, 44 insertions(+), 44 deletions(-)

diff --git a/cpp/README.md b/cpp/README.md
index 394c6707..13fde772 100644
--- a/cpp/README.md
+++ b/cpp/README.md
@@ -13,7 +13,7 @@ A simple starter function. Edit `src/main.cc` to get started and create somethin
 Sample `200` Response:
 
 ```text
-Hello, World! 🌎
+Hello, World!
 ```
 
 ### `POST`, `PUT`, `PATCH`, `DELETE`
diff --git a/cpp/src/main.cc b/cpp/src/main.cc
index 72932643..7ace585d 100644
--- a/cpp/src/main.cc
+++ b/cpp/src/main.cc
@@ -5,16 +5,16 @@ namespace runtime {
       // It's executed each time we get a request
       static RuntimeOutput main(RuntimeContext &context) {
         // You can log messages to the console
-        context.log("Hello, Logs! 👋");
+        context.log("Hello, Logs!");
 
         // If something goes wrong, log an error
-        context.log("Hello, Errors! ⛔");
+        context.log("Hello, Errors!");
 
         // The `req` object contains the request data
         if (context.req.method == "GET") {
           // Send a response with the res object helpers
           // `context.res.send()` dispatches a string back to the client
-          return context.res.send("Hello, World! 🌎");
+          return context.res.send("Hello, World!");
         }
 
         // `context.res.json()` is a handy helper for sending JSON
diff --git a/dart/starter-template/README.md b/dart/starter-template/README.md
index 93966d48..8f02c48c 100644
--- a/dart/starter-template/README.md
+++ b/dart/starter-template/README.md
@@ -13,7 +13,7 @@ A simple starter function. Edit `lib/main.dart` to get started and create someth
 Sample `200` Response:
 
 ```text
-Hello, World! 🌎
+Hello, World!
 ```
 
 ### `POST`, `PUT`, `PATCH`, `DELETE`
diff --git a/dart/starter-template/lib/main.dart b/dart/starter-template/lib/main.dart
index 2142a167..2717e462 100644
--- a/dart/starter-template/lib/main.dart
+++ b/dart/starter-template/lib/main.dart
@@ -12,16 +12,16 @@ Future<dynamic> main(final context) async {
   //    .setKey(process.env.APPWRITE_API_KEY);
 
   // You can log messages to the console
-  context.log('Hello, Logs! 👋');
+  context.log('Hello, Logs!');
 
   // If something goes wrong, log an error
-  context.error('Hello, Errors! ⛔');
+  context.error('Hello, Errors!');
 
   // The `req` object contains the request data
   if (context.req.method == 'GET') {
     // Send a response with the res object helpers
     // `res.send()` dispatches a string back to the client
-    return context.res.send('Hello, World! 🌎');
+    return context.res.send('Hello, World!');
   }
 
   // `res.json()` is a handy helper for sending JSON
diff --git a/deno/starter-template/README.md b/deno/starter-template/README.md
index 2f32b124..a5c0b41f 100644
--- a/deno/starter-template/README.md
+++ b/deno/starter-template/README.md
@@ -13,7 +13,7 @@ A simple starter function. Edit `src/main.ts` to get started and create somethin
 Sample `200` Response:
 
 ```text
-Hello, World! 🌎
+Hello, World!
 ```
 
 ### `POST`, `PUT`, `PATCH`, `DELETE`
diff --git a/deno/starter-template/src/main.ts b/deno/starter-template/src/main.ts
index 69275cde..aaa776f8 100644
--- a/deno/starter-template/src/main.ts
+++ b/deno/starter-template/src/main.ts
@@ -11,16 +11,16 @@ export default ({ req, res, log, error }: any) => {
   //    .setKey(Deno.env.get("APPWRITE_API_KEY"));
 
   // You can log messages to the console
-  log("Hello, Logs! 👋");
+  log("Hello, Logs!");
 
   // If something goes wrong, log an error
-  error("Hello, Errors! ⛔");
+  error("Hello, Errors!");
 
   // The `req` object contains the request data
   if (req.method === "GET") {
     // Send a response with the res object helpers
     // `res.send()` dispatches a string back to the client
-    return res.send("Hello, World! 🌎");
+    return res.send("Hello, World!");
   }
 
   // `res.json()` is a handy helper for sending JSON
diff --git a/dotnet/starter-template/README.md b/dotnet/starter-template/README.md
index 2e411f17..dbbf4c5d 100644
--- a/dotnet/starter-template/README.md
+++ b/dotnet/starter-template/README.md
@@ -13,7 +13,7 @@ A simple starter function. Edit `src/Index.cs` to get started and create somethi
 Sample `200` Response:
 
 ```text
-Hello, World! 🌎
+Hello, World!
 ```
 
 ### `POST`, `PUT`, `PATCH`, `DELETE`
diff --git a/dotnet/starter-template/src/Index.cs b/dotnet/starter-template/src/Index.cs
index 36fb7f7f..6ca3383b 100644
--- a/dotnet/starter-template/src/Index.cs
+++ b/dotnet/starter-template/src/Index.cs
@@ -18,16 +18,16 @@ public async Task<RuntimeOutput> Main(RuntimeContext Context)
         //     .SetKey(Environment.GetEnvironmentVariable("APPWRITE_API_KEY"))
 
         // You can log messages to the console
-        Context.Log("Hello, Logs! 👋");
+        Context.Log("Hello, Logs!");
 
         // If something goes wrong, log an error
-        Context.Error("Hello, Errors! ⛔");
+        Context.Error("Hello, Errors!");
 
         // The `Context.Req` object contains the request data
         if (Context.Req.Method === "GET") {
             // Send a response with the res object helpers
             // `Context.Res.Send()` dispatches a string back to the client
-            return Context.Req.Send("Hello, World! 🌎");
+            return Context.Req.Send("Hello, World!");
         }
 
         // `Context.Res.Json()` is a handy helper for sending JSON
diff --git a/java/starter-template/README.md b/java/starter-template/README.md
index b75c5210..e1923c97 100644
--- a/java/starter-template/README.md
+++ b/java/starter-template/README.md
@@ -13,7 +13,7 @@ A simple starter function. Edit `src/Main.java` to get started and create someth
 Sample `200` Response:
 
 ```text
-Hello, World! 🌎
+Hello, World!
 ```
 
 ### `POST`, `PUT`, `PATCH`, `DELETE`
diff --git a/java/starter-template/src/Main.java b/java/starter-template/src/Main.java
index c0525080..47f4c4a7 100644
--- a/java/starter-template/src/Main.java
+++ b/java/starter-template/src/Main.java
@@ -15,16 +15,16 @@ public RuntimeOutput main(RuntimeContext context) throws Exception {
         //         .setKey(System.getenv("APPWRITE_API_KEY"));
 
         // You can log messages to the console
-        context.log("Hello, Logs! 👋");
+        context.log("Hello, Logs!");
 
         // If something goes wrong, log an error
-        context.error("Hello, Errors! ⛔");
+        context.error("Hello, Errors!");
 
         // The `context.getReq()` object contains the request data
         if (context.getReq().getMethod().equals("GET")) {
             // Send a response with the res object helpers
             // `context.getRes().send()` dispatches a string back to the client
-            return context.getRes().send("Hello, World! 🌎");
+            return context.getRes().send("Hello, World!");
         }
 
         // `context.getRes().json()` is a handy helper for sending JSON
diff --git a/kotlin/starter-template/README.md b/kotlin/starter-template/README.md
index 076d4336..3648c891 100644
--- a/kotlin/starter-template/README.md
+++ b/kotlin/starter-template/README.md
@@ -13,7 +13,7 @@ A simple starter function. Edit `src/Main.kt` to get started and create somethin
 Sample `200` Response:
 
 ```text
-Hello, World! 🌎
+Hello, World!
 ```
 
 ### `POST`, `PUT`, `PATCH`, `DELETE`
diff --git a/kotlin/starter-template/src/Main.kt b/kotlin/starter-template/src/Main.kt
index bbe55143..c73d4d3e 100644
--- a/kotlin/starter-template/src/Main.kt
+++ b/kotlin/starter-template/src/Main.kt
@@ -13,16 +13,16 @@ class Main {
         // }
 
         // You can log messages to the console
-        context.log("Hello, Logs! 👋")
+        context.log("Hello, Logs!")
 
         // If something goes wrong, log an error
-        context.error("Hello, Errors! ⛔")
+        context.error("Hello, Errors!")
 
         // The `context.req` object contains the request data
         if (context.req.method == "GET") {
             // Send a response with the res object helpers
             // `context.res.send()` dispatches a string back to the client
-            return context.res.send("Hello, World! 🌎")
+            return context.res.send("Hello, World!")
         }
 
         // `context.res.json()` is a handy helper for sending JSON
diff --git a/node/starter-template/README.md b/node/starter-template/README.md
index f1b4ab34..e0987fe7 100644
--- a/node/starter-template/README.md
+++ b/node/starter-template/README.md
@@ -13,7 +13,7 @@ A simple starter function. Edit `src/main.js` to get started and create somethin
 Sample `200` Response:
 
 ```text
-Hello, World! 🌎
+Hello, World!
 ```
 
 ### `POST`, `PUT`, `PATCH`, `DELETE`
diff --git a/node/starter-template/src/main.js b/node/starter-template/src/main.js
index 9c6f0736..2c1599b9 100644
--- a/node/starter-template/src/main.js
+++ b/node/starter-template/src/main.js
@@ -11,16 +11,16 @@ export default async ({ req, res, log, error }) => {
   //    .setKey(process.env.APPWRITE_API_KEY);
 
   // You can log messages to the console
-  log('Hello, Logs! 👋');
+  log('Hello, Logs!');
 
   // If something goes wrong, log an error
-  error('Hello, Errors! ⛔');
+  error('Hello, Errors!');
 
   // The `req` object contains the request data
   if (req.method === 'GET') {
     // Send a response with the res object helpers
     // `res.send()` dispatches a string back to the client
-    return res.send('Hello, World! 🌎');
+    return res.send('Hello, World!');
   }
 
   // `res.json()` is a handy helper for sending JSON
diff --git a/php/starter-template/README.md b/php/starter-template/README.md
index fbe39139..bfffe71b 100644
--- a/php/starter-template/README.md
+++ b/php/starter-template/README.md
@@ -13,7 +13,7 @@ A simple starter function. Edit `src/index.php` to get started and create someth
 Sample `200` Response:
 
 ```text
-Hello, World! 🌎
+Hello, World!
 ```
 
 ### `POST`, `PUT`, `PATCH`, `DELETE`
diff --git a/php/starter-template/src/index.php b/php/starter-template/src/index.php
index 586261a7..6be1830d 100644
--- a/php/starter-template/src/index.php
+++ b/php/starter-template/src/index.php
@@ -17,16 +17,16 @@
     //      ->setKey(getenv('APPWRITE_API_KEY'));
 
     // You can log messages to the console
-    $context->log('Hello, Logs! 👋');
+    $context->log('Hello, Logs!');
 
     // If something goes wrong, log an error
-    $context->error('Hello, Errors! ⛔');
+    $context->error('Hello, Errors!');
 
     // The `req` object contains the request data
     if ($context->req->method === 'GET') {
         // Send a response with the res object helpers
         // `res.send()` dispatches a string back to the client
-        return $context->res->send('Hello, World! 🌎');
+        return $context->res->send('Hello, World!');
     }
 
     // `res.json()` is a handy helper for sending JSON
diff --git a/python/starter-template/README.md b/python/starter-template/README.md
index 79678e49..e1959eb8 100644
--- a/python/starter-template/README.md
+++ b/python/starter-template/README.md
@@ -13,7 +13,7 @@ A simple starter function. Edit `src/main.py` to get started and create somethin
 Sample `200` Response:
 
 ```text
-Hello, World! 🌎
+Hello, World!
 ```
 
 ### `POST`, `PUT`, `PATCH`, `DELETE`
diff --git a/python/starter-template/src/main.py b/python/starter-template/src/main.py
index bb7a2d57..11983434 100644
--- a/python/starter-template/src/main.py
+++ b/python/starter-template/src/main.py
@@ -15,16 +15,16 @@ def main(context):
     # )
 
     # You can log messages to the console
-    context.log("Hello, Logs! 👋")
+    context.log("Hello, Logs!")
 
     # If something goes wrong, log an error
-    context.error("Hello, Errors! ⛔")
+    context.error("Hello, Errors!")
 
     # The `ctx.req` object contains the request data
     if context.req.method == "GET":
         # Send a response with the res object helpers
         # `ctx.res.send()` dispatches a string back to the client
-        return context.res.send("Hello, World! 🌎")
+        return context.res.send("Hello, World!")
 
     # `ctx.res.json()` is a handy helper for sending JSON
     return context.res.json(
diff --git a/ruby/starter-template/README.md b/ruby/starter-template/README.md
index 45448454..95763238 100644
--- a/ruby/starter-template/README.md
+++ b/ruby/starter-template/README.md
@@ -13,7 +13,7 @@ A simple starter function. Edit `src/main.rb` to get started and create somethin
 Sample `200` Response:
 
 ```text
-Hello, World! 🌎
+Hello, World!
 ```
 
 ### `POST`, `PUT`, `PATCH`, `DELETE`
diff --git a/ruby/starter-template/src/main.rb b/ruby/starter-template/src/main.rb
index 0194e5d3..3f318dda 100644
--- a/ruby/starter-template/src/main.rb
+++ b/ruby/starter-template/src/main.rb
@@ -12,16 +12,16 @@ def main(context)
   #   .set_key(req.variables['APPWRITE_API_KEY'])
 
   # You can log messages to the console
-  context.log("Hello, Logs! 👋")
+  context.log("Hello, Logs!")
 
   # If something goes wrong, log an error
-  context.error("Hello, Errors! ⛔")
+  context.error("Hello, Errors!")
 
   # The `ctx.req` object contains the request data
   if (context.req.method == "GET")
     # Send a response with the res object helpers
     # `ctx.res.send()` dispatches a string back to the client
-    return context.res.send("Hello, World! 🌎")
+    return context.res.send("Hello, World!")
   end
 
   # `ctx.res.json()` is a handy helper for sending JSON
diff --git a/swift/starter-template/README.md b/swift/starter-template/README.md
index 4541b769..26c713bb 100644
--- a/swift/starter-template/README.md
+++ b/swift/starter-template/README.md
@@ -13,7 +13,7 @@ A simple starter function. Edit `Sources/index.swift` to get started and create
 Sample `200` Response:
 
 ```text
-Hello, World! 🌎
+Hello, World!
 ```
 
 ### `POST`, `PUT`, `PATCH`, `DELETE`
diff --git a/swift/starter-template/Sources/index.swift b/swift/starter-template/Sources/index.swift
index cf3658c4..08a2000d 100644
--- a/swift/starter-template/Sources/index.swift
+++ b/swift/starter-template/Sources/index.swift
@@ -13,16 +13,16 @@ func main(context: RuntimeContext) async throws -> RuntimeOutput {
     //    .setKey(ProcessInfo.processInfo.environment["APPWRITE_API_KEY"]);
 
     // You can log messages to the console
-    context.log("Hello, Logs! 👋")
+    context.log("Hello, Logs!")
 
     // If something goes wrong, log an error
-    context.error("Hello, Errors! ⛔")
+    context.error("Hello, Errors!")
 
     // The `context.req` object contains the request data
     if context.req.method == "GET" {
         // Send a response with the res object helpers
         // `res.send()` dispatches a string back to the client
-        return try context.res.send("Hello, World! 🌎")
+        return try context.res.send("Hello, World!")
     }
 
     // `context.res.json()` is a handy helper for sending JSON

From 2065653dab161c9208c21132aa7c27b6ad330075 Mon Sep 17 00:00:00 2001
From: loks0n <22452787+loks0n@users.noreply.github.com>
Date: Mon, 24 Jul 2023 10:03:27 +0100
Subject: [PATCH 2/7] fix: php

---
 php/starter-template/composer.lock | 62 ------------------------------
 php/starter-template/src/index.php |  2 +-
 2 files changed, 1 insertion(+), 63 deletions(-)
 delete mode 100644 php/starter-template/composer.lock

diff --git a/php/starter-template/composer.lock b/php/starter-template/composer.lock
deleted file mode 100644
index c64443ae..00000000
--- a/php/starter-template/composer.lock
+++ /dev/null
@@ -1,62 +0,0 @@
-{
-    "_readme": [
-        "This file locks the dependencies of your project to a known state",
-        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
-        "This file is @generated automatically"
-    ],
-    "content-hash": "110f36972c614ec2e54cd862f2e00c8e",
-    "packages": [
-        {
-            "name": "appwrite/appwrite",
-            "version": "8.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/appwrite/sdk-for-php.git",
-                "reference": "2b9e966edf35c4061179ed98ea364698ab30de8b"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/appwrite/sdk-for-php/zipball/2b9e966edf35c4061179ed98ea364698ab30de8b",
-                "reference": "2b9e966edf35c4061179ed98ea364698ab30de8b",
-                "shasum": ""
-            },
-            "require": {
-                "ext-curl": "*",
-                "ext-json": "*",
-                "php": ">=7.1.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "3.7.35"
-            },
-            "type": "library",
-            "autoload": {
-                "psr-4": {
-                    "Appwrite\\": "src/Appwrite"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "description": "Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API",
-            "support": {
-                "email": "team@appwrite.io",
-                "issues": "https://github.com/appwrite/sdk-for-php/issues",
-                "source": "https://github.com/appwrite/sdk-for-php/tree/8.0.0",
-                "url": "https://appwrite.io/support"
-            },
-            "time": "2023-04-12T10:16:28+00:00"
-        }
-    ],
-    "packages-dev": [],
-    "aliases": [],
-    "minimum-stability": "stable",
-    "stability-flags": [],
-    "prefer-stable": false,
-    "prefer-lowest": false,
-    "platform": {
-        "php": ">=8.0.0"
-    },
-    "platform-dev": [],
-    "plugin-api-version": "2.3.0"
-}
diff --git a/php/starter-template/src/index.php b/php/starter-template/src/index.php
index 6be1830d..57074912 100644
--- a/php/starter-template/src/index.php
+++ b/php/starter-template/src/index.php
@@ -1,6 +1,6 @@
 <?php
 
-require 'vendor/autoload.php';
+require(__DIR__ . '/../vendor/autoload.php');
 
 use Appwrite\Client;
 use Appwrite\Exception;

From e99691bf8fcdf5147ba9e93a9315ef2de92479fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Matej=20Ba=C4=8Do?= <matejbaco2000@gmail.com>
Date: Wed, 26 Jul 2023 13:27:42 +0000
Subject: [PATCH 3/7] Fix starters, rename folder

---
 cpp/{ => starter}/.gitignore                       |  0
 cpp/{ => starter}/README.md                        |  0
 cpp/{ => starter}/src/main.cc                      | 13 +++++++++----
 dart/{starter-template => starter}/.gitignore      |  0
 dart/{starter-template => starter}/README.md       |  0
 .../analysis_options.yaml                          |  0
 dart/{starter-template => starter}/lib/main.dart   |  0
 dart/{starter-template => starter}/pubspec.yaml    |  0
 deno/{starter-template => starter}/.gitignore      |  0
 deno/{starter-template => starter}/README.md       |  0
 deno/{starter-template => starter}/src/main.ts     |  0
 dotnet/{starter-template => starter}/.gitignore    |  0
 dotnet/{starter-template => starter}/README.md     |  0
 .../StarterTemplate.csproj                         |  3 +++
 dotnet/{starter-template => starter}/src/Index.cs  | 14 +++++++-------
 java/{starter-template => starter}/.gitignore      |  0
 java/{starter-template => starter}/README.md       |  0
 java/{starter-template => starter}/deps.gradle     |  0
 java/{starter-template => starter}/src/Main.java   |  0
 kotlin/{starter-template => starter}/.gitignore    |  0
 kotlin/{starter-template => starter}/README.md     |  0
 kotlin/{starter-template => starter}/deps.gradle   |  0
 kotlin/{starter-template => starter}/src/Main.kt   |  0
 node/{starter-template => starter}/.gitignore      |  0
 .../{starter-template => starter}/.prettierrc.json |  0
 node/{starter-template => starter}/README.md       |  0
 .../package-lock.json                              |  0
 node/{starter-template => starter}/package.json    |  0
 node/{starter-template => starter}/src/main.js     |  0
 php/{starter-template => starter}/.gitignore       |  0
 php/{starter-template => starter}/README.md        |  0
 php/{starter-template => starter}/composer.json    |  0
 php/{starter-template => starter}/src/index.php    |  0
 python/{starter-template => starter}/.gitignore    |  0
 python/{starter-template => starter}/README.md     |  0
 .../{starter-template => starter}/requirements.txt |  0
 python/{starter-template => starter}/src/main.py   |  0
 ruby/{starter-template => starter}/.gitignore      |  0
 ruby/{starter-template => starter}/Gemfile         |  0
 ruby/{starter-template => starter}/README.md       |  0
 ruby/{starter-template => starter}/src/main.rb     |  0
 swift/{starter-template => starter}/.gitignore     |  0
 swift/{starter-template => starter}/README.md      |  0
 .../Sources/index.swift                            |  0
 swift/{starter-template => starter}/package.swift  |  0
 45 files changed, 19 insertions(+), 11 deletions(-)
 rename cpp/{ => starter}/.gitignore (100%)
 rename cpp/{ => starter}/README.md (100%)
 rename cpp/{ => starter}/src/main.cc (69%)
 rename dart/{starter-template => starter}/.gitignore (100%)
 rename dart/{starter-template => starter}/README.md (100%)
 rename dart/{starter-template => starter}/analysis_options.yaml (100%)
 rename dart/{starter-template => starter}/lib/main.dart (100%)
 rename dart/{starter-template => starter}/pubspec.yaml (100%)
 rename deno/{starter-template => starter}/.gitignore (100%)
 rename deno/{starter-template => starter}/README.md (100%)
 rename deno/{starter-template => starter}/src/main.ts (100%)
 rename dotnet/{starter-template => starter}/.gitignore (100%)
 rename dotnet/{starter-template => starter}/README.md (100%)
 rename dotnet/{starter-template => starter}/StarterTemplate.csproj (72%)
 rename dotnet/{starter-template => starter}/src/Index.cs (72%)
 rename java/{starter-template => starter}/.gitignore (100%)
 rename java/{starter-template => starter}/README.md (100%)
 rename java/{starter-template => starter}/deps.gradle (100%)
 rename java/{starter-template => starter}/src/Main.java (100%)
 rename kotlin/{starter-template => starter}/.gitignore (100%)
 rename kotlin/{starter-template => starter}/README.md (100%)
 rename kotlin/{starter-template => starter}/deps.gradle (100%)
 rename kotlin/{starter-template => starter}/src/Main.kt (100%)
 rename node/{starter-template => starter}/.gitignore (100%)
 rename node/{starter-template => starter}/.prettierrc.json (100%)
 rename node/{starter-template => starter}/README.md (100%)
 rename node/{starter-template => starter}/package-lock.json (100%)
 rename node/{starter-template => starter}/package.json (100%)
 rename node/{starter-template => starter}/src/main.js (100%)
 rename php/{starter-template => starter}/.gitignore (100%)
 rename php/{starter-template => starter}/README.md (100%)
 rename php/{starter-template => starter}/composer.json (100%)
 rename php/{starter-template => starter}/src/index.php (100%)
 rename python/{starter-template => starter}/.gitignore (100%)
 rename python/{starter-template => starter}/README.md (100%)
 rename python/{starter-template => starter}/requirements.txt (100%)
 rename python/{starter-template => starter}/src/main.py (100%)
 rename ruby/{starter-template => starter}/.gitignore (100%)
 rename ruby/{starter-template => starter}/Gemfile (100%)
 rename ruby/{starter-template => starter}/README.md (100%)
 rename ruby/{starter-template => starter}/src/main.rb (100%)
 rename swift/{starter-template => starter}/.gitignore (100%)
 rename swift/{starter-template => starter}/README.md (100%)
 rename swift/{starter-template => starter}/Sources/index.swift (100%)
 rename swift/{starter-template => starter}/package.swift (100%)

diff --git a/cpp/.gitignore b/cpp/starter/.gitignore
similarity index 100%
rename from cpp/.gitignore
rename to cpp/starter/.gitignore
diff --git a/cpp/README.md b/cpp/starter/README.md
similarity index 100%
rename from cpp/README.md
rename to cpp/starter/README.md
diff --git a/cpp/src/main.cc b/cpp/starter/src/main.cc
similarity index 69%
rename from cpp/src/main.cc
rename to cpp/starter/src/main.cc
index 7ace585d..53d4ceb3 100644
--- a/cpp/src/main.cc
+++ b/cpp/starter/src/main.cc
@@ -1,3 +1,8 @@
+#include "../RuntimeResponse.h"
+#include "../RuntimeRequest.h"
+#include "../RuntimeOutput.h"
+#include "../RuntimeContext.h"
+
 namespace runtime {
   class Handler {
     public:
@@ -19,10 +24,10 @@ namespace runtime {
 
         // `context.res.json()` is a handy helper for sending JSON
         Json::Value response;
-        response['motto'] = "Build Fast. Scale Big. All in One Place.";
-        response['learn'] = "https://appwrite.io/docs";
-        response['connect'] = "https://appwrite.io/discord";
-        response['getInspired'] = "https://builtwith.appwrite.io";
+        response["motto"] = "Build Fast. Scale Big. All in One Place.";
+        response["learn"] = "https://appwrite.io/docs";
+        response["connect"] = "https://appwrite.io/discord";
+        response["getInspired"] = "https://builtwith.appwrite.io";
         return context.res.json(response);
       }
   };
diff --git a/dart/starter-template/.gitignore b/dart/starter/.gitignore
similarity index 100%
rename from dart/starter-template/.gitignore
rename to dart/starter/.gitignore
diff --git a/dart/starter-template/README.md b/dart/starter/README.md
similarity index 100%
rename from dart/starter-template/README.md
rename to dart/starter/README.md
diff --git a/dart/starter-template/analysis_options.yaml b/dart/starter/analysis_options.yaml
similarity index 100%
rename from dart/starter-template/analysis_options.yaml
rename to dart/starter/analysis_options.yaml
diff --git a/dart/starter-template/lib/main.dart b/dart/starter/lib/main.dart
similarity index 100%
rename from dart/starter-template/lib/main.dart
rename to dart/starter/lib/main.dart
diff --git a/dart/starter-template/pubspec.yaml b/dart/starter/pubspec.yaml
similarity index 100%
rename from dart/starter-template/pubspec.yaml
rename to dart/starter/pubspec.yaml
diff --git a/deno/starter-template/.gitignore b/deno/starter/.gitignore
similarity index 100%
rename from deno/starter-template/.gitignore
rename to deno/starter/.gitignore
diff --git a/deno/starter-template/README.md b/deno/starter/README.md
similarity index 100%
rename from deno/starter-template/README.md
rename to deno/starter/README.md
diff --git a/deno/starter-template/src/main.ts b/deno/starter/src/main.ts
similarity index 100%
rename from deno/starter-template/src/main.ts
rename to deno/starter/src/main.ts
diff --git a/dotnet/starter-template/.gitignore b/dotnet/starter/.gitignore
similarity index 100%
rename from dotnet/starter-template/.gitignore
rename to dotnet/starter/.gitignore
diff --git a/dotnet/starter-template/README.md b/dotnet/starter/README.md
similarity index 100%
rename from dotnet/starter-template/README.md
rename to dotnet/starter/README.md
diff --git a/dotnet/starter-template/StarterTemplate.csproj b/dotnet/starter/StarterTemplate.csproj
similarity index 72%
rename from dotnet/starter-template/StarterTemplate.csproj
rename to dotnet/starter/StarterTemplate.csproj
index 43e2d176..f9ab8985 100644
--- a/dotnet/starter-template/StarterTemplate.csproj
+++ b/dotnet/starter/StarterTemplate.csproj
@@ -5,4 +5,7 @@
     <Nullable>enable</Nullable>
     <ImplicitUsings>enable</ImplicitUsings>
   </PropertyGroup>
+  <ItemGroup>
+    <PackageReference Include="Appwrite" Version="0.4.2" />
+  </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/dotnet/starter-template/src/Index.cs b/dotnet/starter/src/Index.cs
similarity index 72%
rename from dotnet/starter-template/src/Index.cs
rename to dotnet/starter/src/Index.cs
index 6ca3383b..421f31d4 100644
--- a/dotnet/starter-template/src/Index.cs
+++ b/dotnet/starter/src/Index.cs
@@ -24,19 +24,19 @@ public async Task<RuntimeOutput> Main(RuntimeContext Context)
         Context.Error("Hello, Errors!");
 
         // The `Context.Req` object contains the request data
-        if (Context.Req.Method === "GET") {
+        if (Context.Req.Method == "GET") {
             // Send a response with the res object helpers
             // `Context.Res.Send()` dispatches a string back to the client
-            return Context.Req.Send("Hello, World!");
+            return Context.Res.Send("Hello, World!");
         }
 
         // `Context.Res.Json()` is a handy helper for sending JSON
-        return Context.Res.Json(new()
+        return Context.Res.Json(new Dictionary<string, object?>()
         {
-            { "motto": "Build Fast. Scale Big. All in One Place." },
-            { "learn": "https://appwrite.io/docs" },
-            { "connect": "https://appwrite.io/discord" },
-            { "getInspired": "https://builtwith.appwrite.io" },
+            { "motto", "Build Fast. Scale Big. All in One Place." },
+            { "learn", "https://appwrite.io/docs" },
+            { "connect", "https://appwrite.io/discord" },
+            { "getInspired", "https://builtwith.appwrite.io" },
         });
     }
 }
\ No newline at end of file
diff --git a/java/starter-template/.gitignore b/java/starter/.gitignore
similarity index 100%
rename from java/starter-template/.gitignore
rename to java/starter/.gitignore
diff --git a/java/starter-template/README.md b/java/starter/README.md
similarity index 100%
rename from java/starter-template/README.md
rename to java/starter/README.md
diff --git a/java/starter-template/deps.gradle b/java/starter/deps.gradle
similarity index 100%
rename from java/starter-template/deps.gradle
rename to java/starter/deps.gradle
diff --git a/java/starter-template/src/Main.java b/java/starter/src/Main.java
similarity index 100%
rename from java/starter-template/src/Main.java
rename to java/starter/src/Main.java
diff --git a/kotlin/starter-template/.gitignore b/kotlin/starter/.gitignore
similarity index 100%
rename from kotlin/starter-template/.gitignore
rename to kotlin/starter/.gitignore
diff --git a/kotlin/starter-template/README.md b/kotlin/starter/README.md
similarity index 100%
rename from kotlin/starter-template/README.md
rename to kotlin/starter/README.md
diff --git a/kotlin/starter-template/deps.gradle b/kotlin/starter/deps.gradle
similarity index 100%
rename from kotlin/starter-template/deps.gradle
rename to kotlin/starter/deps.gradle
diff --git a/kotlin/starter-template/src/Main.kt b/kotlin/starter/src/Main.kt
similarity index 100%
rename from kotlin/starter-template/src/Main.kt
rename to kotlin/starter/src/Main.kt
diff --git a/node/starter-template/.gitignore b/node/starter/.gitignore
similarity index 100%
rename from node/starter-template/.gitignore
rename to node/starter/.gitignore
diff --git a/node/starter-template/.prettierrc.json b/node/starter/.prettierrc.json
similarity index 100%
rename from node/starter-template/.prettierrc.json
rename to node/starter/.prettierrc.json
diff --git a/node/starter-template/README.md b/node/starter/README.md
similarity index 100%
rename from node/starter-template/README.md
rename to node/starter/README.md
diff --git a/node/starter-template/package-lock.json b/node/starter/package-lock.json
similarity index 100%
rename from node/starter-template/package-lock.json
rename to node/starter/package-lock.json
diff --git a/node/starter-template/package.json b/node/starter/package.json
similarity index 100%
rename from node/starter-template/package.json
rename to node/starter/package.json
diff --git a/node/starter-template/src/main.js b/node/starter/src/main.js
similarity index 100%
rename from node/starter-template/src/main.js
rename to node/starter/src/main.js
diff --git a/php/starter-template/.gitignore b/php/starter/.gitignore
similarity index 100%
rename from php/starter-template/.gitignore
rename to php/starter/.gitignore
diff --git a/php/starter-template/README.md b/php/starter/README.md
similarity index 100%
rename from php/starter-template/README.md
rename to php/starter/README.md
diff --git a/php/starter-template/composer.json b/php/starter/composer.json
similarity index 100%
rename from php/starter-template/composer.json
rename to php/starter/composer.json
diff --git a/php/starter-template/src/index.php b/php/starter/src/index.php
similarity index 100%
rename from php/starter-template/src/index.php
rename to php/starter/src/index.php
diff --git a/python/starter-template/.gitignore b/python/starter/.gitignore
similarity index 100%
rename from python/starter-template/.gitignore
rename to python/starter/.gitignore
diff --git a/python/starter-template/README.md b/python/starter/README.md
similarity index 100%
rename from python/starter-template/README.md
rename to python/starter/README.md
diff --git a/python/starter-template/requirements.txt b/python/starter/requirements.txt
similarity index 100%
rename from python/starter-template/requirements.txt
rename to python/starter/requirements.txt
diff --git a/python/starter-template/src/main.py b/python/starter/src/main.py
similarity index 100%
rename from python/starter-template/src/main.py
rename to python/starter/src/main.py
diff --git a/ruby/starter-template/.gitignore b/ruby/starter/.gitignore
similarity index 100%
rename from ruby/starter-template/.gitignore
rename to ruby/starter/.gitignore
diff --git a/ruby/starter-template/Gemfile b/ruby/starter/Gemfile
similarity index 100%
rename from ruby/starter-template/Gemfile
rename to ruby/starter/Gemfile
diff --git a/ruby/starter-template/README.md b/ruby/starter/README.md
similarity index 100%
rename from ruby/starter-template/README.md
rename to ruby/starter/README.md
diff --git a/ruby/starter-template/src/main.rb b/ruby/starter/src/main.rb
similarity index 100%
rename from ruby/starter-template/src/main.rb
rename to ruby/starter/src/main.rb
diff --git a/swift/starter-template/.gitignore b/swift/starter/.gitignore
similarity index 100%
rename from swift/starter-template/.gitignore
rename to swift/starter/.gitignore
diff --git a/swift/starter-template/README.md b/swift/starter/README.md
similarity index 100%
rename from swift/starter-template/README.md
rename to swift/starter/README.md
diff --git a/swift/starter-template/Sources/index.swift b/swift/starter/Sources/index.swift
similarity index 100%
rename from swift/starter-template/Sources/index.swift
rename to swift/starter/Sources/index.swift
diff --git a/swift/starter-template/package.swift b/swift/starter/package.swift
similarity index 100%
rename from swift/starter-template/package.swift
rename to swift/starter/package.swift

From c5063c40c6f485abefe7fcdcebac9ec8ac187f14 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Matej=20Ba=C4=8Do?= <matejbaco2000@gmail.com>
Date: Wed, 26 Jul 2023 14:12:22 +0000
Subject: [PATCH 4/7] Fix java starter

---
 java/starter/src/Main.java | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/java/starter/src/Main.java b/java/starter/src/Main.java
index 47f4c4a7..42be7bf5 100644
--- a/java/starter/src/Main.java
+++ b/java/starter/src/Main.java
@@ -1,3 +1,7 @@
+package io.openruntimes.java.src;
+
+import io.openruntimes.java.RuntimeContext;
+import io.openruntimes.java.RuntimeOutput;
 import java.util.HashMap;
 import io.appwrite.Client;
 

From a97db5eee4e93f9cd2f6a4b74b270d4de6e1b242 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Matej=20Ba=C4=8Do?= <matejbaco2000@gmail.com>
Date: Wed, 26 Jul 2023 14:40:12 +0000
Subject: [PATCH 5/7] Fix kotlin

---
 kotlin/starter/src/Main.kt | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/kotlin/starter/src/Main.kt b/kotlin/starter/src/Main.kt
index c73d4d3e..7cfe9ca8 100644
--- a/kotlin/starter/src/Main.kt
+++ b/kotlin/starter/src/Main.kt
@@ -1,3 +1,7 @@
+package io.openruntimes.kotlin.src
+
+import io.openruntimes.kotlin.RuntimeContext
+import io.openruntimes.kotlin.RuntimeOutput
 import io.appwrite.Client
 import java.util.HashMap
 
@@ -26,12 +30,11 @@ class Main {
         }
 
         // `context.res.json()` is a handy helper for sending JSON
-        val jsonMap = HashMap<String, String>().apply {
-            put("motto", "Build Fast. Scale Big. All in One Place.")
-            put("learn", "https://appwrite.io/docs")
-            put("connect", "https://appwrite.io/discord")
-            put("getInspired", "https://builtwith.appwrite.io")
-        }
-        return context.res.json(jsonMap)
+        return context.res.json(mutableMapOf(
+            "motto" to "Build Fast. Scale Big. All in One Place.",
+            "learn" to "https://appwrite.io/docs",
+            "connect" to "https://appwrite.io/discord",
+            "getInspired" to "https://builtwith.appwrite.io"
+        ))
     }
 }

From 031247b456a91e989a2faac51dd0c049770907dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Matej=20Ba=C4=8Do?= <matejbaco2000@gmail.com>
Date: Wed, 26 Jul 2023 16:21:43 +0000
Subject: [PATCH 6/7] Fix swift starter

---
 swift/starter/{package.swift => Package.swift} | 5 +++--
 swift/starter/Sources/index.swift              | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)
 rename swift/starter/{package.swift => Package.swift} (78%)

diff --git a/swift/starter/package.swift b/swift/starter/Package.swift
similarity index 78%
rename from swift/starter/package.swift
rename to swift/starter/Package.swift
index 8004e5a1..8ee95a18 100644
--- a/swift/starter/package.swift
+++ b/swift/starter/Package.swift
@@ -1,13 +1,14 @@
+// swift-tools-version:5.5
 import PackageDescription
 
 let package = Package(
-    name: "swift-5.5",
+    name: "swift-function",
     dependencies: [
         .package(url: "https://github.com/appwrite/sdk-for-swift", .upToNextMajor(from: "1.0.0")),
     ],
     targets: [
         .executableTarget(
-            name: "swift-5.5",
+            name: "swift-function",
             dependencies: [
                 .product(name: "Appwrite", package: "sdk-for-swift")
             ]),
diff --git a/swift/starter/Sources/index.swift b/swift/starter/Sources/index.swift
index 08a2000d..1eae99fd 100644
--- a/swift/starter/Sources/index.swift
+++ b/swift/starter/Sources/index.swift
@@ -26,7 +26,7 @@ func main(context: RuntimeContext) async throws -> RuntimeOutput {
     }
 
     // `context.res.json()` is a handy helper for sending JSON
-    return context.res.json([
+    return try context.res.json([
         "motto": "Build Fast. Scale Big. All in One Place.",
         "learn": "https://appwrite.io/docs",
         "connect": "https://appwrite.io/discord",

From bef06709cecd83a839b17959b33129e772787bb2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Matej=20Ba=C4=8Do?= <matejbaco2000@gmail.com>
Date: Thu, 27 Jul 2023 08:12:44 +0000
Subject: [PATCH 7/7] PR review changes

---
 java/starter/src/Main.java        | 15 +++++++--------
 ruby/starter/README.md            |  4 ++--
 ruby/starter/{src => lib}/main.rb |  0
 3 files changed, 9 insertions(+), 10 deletions(-)
 rename ruby/starter/{src => lib}/main.rb (100%)

diff --git a/java/starter/src/Main.java b/java/starter/src/Main.java
index 42be7bf5..a3481df8 100644
--- a/java/starter/src/Main.java
+++ b/java/starter/src/Main.java
@@ -31,14 +31,13 @@ public RuntimeOutput main(RuntimeContext context) throws Exception {
             return context.getRes().send("Hello, World!");
         }
 
+        Map<String, Object> json = new HashMap<>();
+        json.put("motto", "Build Fast. Scale Big. All in One Place.");
+        json.put("learn", "https://appwrite.io/docs");
+        json.put("connect", "https://appwrite.io/discord");
+        json.put("getInspired", "https://builtwith.appwrite.io");
+        
         // `context.getRes().json()` is a handy helper for sending JSON
-        return context.getRes().json(new HashMap<String, String>() {
-            {
-                put("motto", "Build Fast. Scale Big. All in One Place.");
-                put("learn", "https://appwrite.io/docs");
-                put("connect", "https://appwrite.io/discord");
-                put("getInspired", "https://builtwith.appwrite.io");
-            }
-        });
+        return context.getRes().json(json);
     }
 }
\ No newline at end of file
diff --git a/ruby/starter/README.md b/ruby/starter/README.md
index 95763238..51f79815 100644
--- a/ruby/starter/README.md
+++ b/ruby/starter/README.md
@@ -1,6 +1,6 @@
 # ⚡ Ruby Starter Function
 
-A simple starter function. Edit `src/main.rb` to get started and create something awesome! 🚀
+A simple starter function. Edit `lib/main.rb` to get started and create something awesome! 🚀
 
 ## 🧰 Usage
 
@@ -38,7 +38,7 @@ Sample `200` Response:
 | Setting           | Value            |
 |-------------------|------------------|
 | Runtime           | Ruby (3.2)       |
-| Entrypoint        | `src/main.rb`    |
+| Entrypoint        | `lib/main.rb`    |
 | Build Commands    | `bundle install` |
 | Permissions       | `any`            |
 | Timeout (Seconds) | 15               |
diff --git a/ruby/starter/src/main.rb b/ruby/starter/lib/main.rb
similarity index 100%
rename from ruby/starter/src/main.rb
rename to ruby/starter/lib/main.rb
