/skeet-cli

πŸš€ Open-Source TypeScript Serverless Framework. It supports all kinds of application development, from small-scale tasks to global full-stack scalingπŸ’ƒ

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Skeet Follow @ELSOUL_LABO2

πŸ“— Doc: https://skeet.dev/

πŸ“± Demo App: https://skeeter.dev/

πŸ’ƒ What's Skeet? πŸ•Ί

⚑️ AI Auto-code Development ⚑️

Skeet is an open-source app development solution capable of AI auto-code development.

It allows for rapid development of Web/iOS/Android apps and supports a wide range of developments, including AI-powered chatbot apps, Web3 apps utilizing blockchain, and dApps.

AI is also used in the development flow, overcoming the learning curve that is a challenge in software frameworks.

Developers can quickly start building functional apps and publish them in the cloud.

Overall Architecture Diagram

Skeet Architecture

Skeet is an open-source framework for serverless app development crafted in TypeScript.

It offers the flexibility to select functionalities and the ability to build additional web or mobile interfaces and sophisticated data analytics foundations later on.

It supports Web3 development, eliminates complex infrastructure management, and facilitates auto-scaling and pay-as-you-go pricing.

The Skeet CLI leverages generative AI to reduce overall development costs, is ready for CI/CD automation, and provides enhanced security features.

Currently, it supports development on Google Cloud and Firebase.

Installation

Oneliner installation (Install nodenv, node, npm, @skeet-framework/cli)

$ sh -c "$(curl -sSfL https://storage.googleapis.com/skeet-assets/resources/v1.0.2-install)"

If you already have Node.js installed, you can install Skeet CLI with npm:

$ npm i -g @skeet-framework/cli

Enabling Google Cloud VertexAI/OpenAI

Create a new project in Google Cloud Platform and enable VertexAI. You will need OpenAI API Key to use OpenAI.

Use the following command to enable VertexAI:

$ skeet iam ai
$ skeet ai

or you can choose AI engine by passing options

$ skeet ai --openai

You need to set CHAT_GPT_ORG/CHAT_GPT_KEY in your .env

Then you can ask Skeet AI Assistant to create a new function, method, typedoc and more.

SkeetAI

YouTube Video Link: https://www.youtube.com/watch?v=e7J5HDhtpE4

πŸ§ͺ Dependency πŸ§ͺ

For Firebase Template

πŸ“— Usage πŸ“—

β‘  Install Skeet/Firebase CLI

$ npm i -g @skeet-framework/cli
$ npm install -g firebase-tools

β‘‘ Create Skeet App

$ skeet create <appName>

You can choose a template for the frontend and backend.

Solana Mobile Stack

or

Create Skeet App with only backend

$ skeet create <appName> --backend

You can choose a template for the backend.

Chatbot

β‘’ Run Skeet App

$ cd <appName>
$ skeet s

or

put options to run only backend, frontend, or GraphQL server

Usage: skeet server|s [options]

Run Skeet App

Options:
  -b, --backend    Run Backend only
  -f, --functions  Run Firebase Functions only
  -w, --web        Run Web App only
  -g, --graphql    Run GraphQL Server only
  -h, --help       display help for command

Now you have both frontend and backend running locally ⭐️

πŸ“² Frontend(Next.js) - http://localhost:4200/

πŸ“² Frontend(Expo) - http://localhost:19006/

πŸ’» Firebase Emulator - http://localhost:4000/

If you choose GraphQL template, you can use GraphQL Playground

πŸ“Š GraphQL Playground - http://localhost:3000/graphql

Launching Skeet AI Assistant

The Skeet AI Assistant is an interactive tool designed to handle various queries.

$ skeet ai --help
AI Playground

Options:
  -v, --vertex                   Vertex AI
  -o, --openai                   OpenAI
  -m, --model <string>           Model
  -token, --token <number>       Max Tokens
  -temp, --temperature <number>  Temperature
  -h, --help                     display help for command

Upon launching, you'll see a prompt like the one below. Try asking it something:

skeet ai --openai
╔═════════════╀════════╗
β”‚ Option      β”‚ Value  β”‚
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β•’
β”‚ AI Type     β”‚ OpenAI β”‚
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β•’
β”‚ Model       β”‚ gpt-4  β”‚
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β•’
β”‚ Max Token   β”‚ 1000   β”‚
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β•’
β”‚ Temperature β”‚ 0      β”‚
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•§β•β•β•β•β•β•β•β•β•

πŸ€– Skeet AI Mode
 `$ <mode>` to change AI mode πŸ€–

$ prisma
$ typedoc
$ translate
$ firestore
$ function
$ method
$ help
$ q

OpenAI is selected πŸ€– (type 'q' to quit)
? What can I do for you?

You:

Skeet Document

Skeet CLI

$ skeet --help
Usage: skeet [options] [command]

CLI for Skeet - Full-stack TypeScript Serverless framework

Options:
  -V, --version                output the version number
  -h, --help                   display help for command

Commands:
  create <appName>             Create Skeet Framework App
  server|s                     Run Skeet App
  deploy                       Deploy Skeet APP to Firebase
  init [options]               Initialize Google Cloud Setups for Skeet APP
  yarn [options] <yarnCmd>     Skeet Yarn Comannd to run yarn command for multiple functions
  login                        Skeet Login Command - Create Firebase Login Token
  curl [options] <methodName>  Skeet Curl Command - Call Firebase Functions Endpoint
  g|generate                   Skeet Generate Comannd
  docker                       Docker commands
  db                           Database commands
  iam                          Skeet IAM Comannd to setup Google Cloud Platform
  add                          Skeet Add Comannd to add new functions
  sync                         Skeet Sync Comannd to sync backend and frontend
  delete|d                     Skeet Delete Command
  get                          Get Skeet App List
  help [command]               display help for command

Powered by

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/elsoul/skeet-cli This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The package is available as open source under the terms of the Apache-2.0 License.

Code of Conduct

Everyone interacting in the SKEET project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.