Skip to content

TechHamara/fast-cli

Repository files navigation

fast

Version Badge

Credit: The idea of the installation process and the project structures is inspired by Rush. Thanks a ton, Shreyash 👍🎁

🏃‍♂️ FAST (Feature-rich AppInventor Source Terminal) is An Efficient Way to Build & Publish App Inventor Extensions.
With FAST, you no longer need to use any class level annotations except @DesignerComponent.

Explore the wiki section for comprehensive overview and step-by-step instructions on FAST.

🏅 If you are interested in accessing its premium features, please consider making a request for premium access.

🪶 Features

🥇 Premium features

  • Gradle Dependency Resolver.
  • Maven Dependency Resolver.
  • Attach AAR Libraries.
  • Attach Custom XML.
  • Generates Shadow blocks.
  • Ability to apply ProGuard/R8 rules from runtime AARs.
  • Supports compiling AIDL sources.

🔥 Hot features

  • Dynamic Android compile SDK API level.
  • Generates docs in Markdown.
  • Generates blocks as PNG for each builder when -b passed.
  • Dynamic ProGuard library.
  • Integration of R8 Shrinker.
  • Dynamic Kotlin Compiler.
  • Seamless support for Java and Kotlin languages.
  • Supports AAR as dependencies.
  • Supports for multi-components in extension.
  • Supports red drop-down helper blocks.
  • All @annotations will be removed from built AIX even no ProGuard/R8.
  • Supports GitHub Actions workflows.

💧 Cool features

  • Code suggestions on VSCode, Eclipse, IntelliJ IDEA & Android Studio.
  • Ability to declare manifest in AndroidManifest.xml.
  • Supports shorthand class names (e.g: ...MyService) in manifest.
  • Keep classes declared in manifest automatically when -m passed.
  • Auto Project migration from Rush, extension-template & AI2 source based project.
  • Jetifier to migrate Android support libraries to Androidx.
  • Java 8 support, including lambda expressions ()->.
  • Generates a smaller size of extension.
  • Ability to filter AI2 provided classes to reduce the AIX size.
  • Ready for server side integration.

🤝 Supported OS

  • Windows
  • Linux
  • MacOS
  • Android (Termux)

🤔 How to install?

Refer to this wiki to install the FAST on your system.

🤔 How to Update?

Refer to this wiki to update the FAST to the latest version.

🤔 How to create a new FAST project

  1. Open or navigate terminal at where you want to create your extension project.
  2. Run fast create <ProjectName>
  3. Enter the package name.
  4. Enter author name.
  5. Select language.
  6. Done.

🤔 How to build a FAST project

  1. Open or navigate termanl at where the FAST project is.
  2. Run fast build to build the project.
  3. Done. The compiled extension should be inside the out directory.

🤔 How to optimize using ProGuard?

  1. Make sure that ProGuard is enabled in fast.yml.
  2. Run the build command with -r.

🤔 How to optimize using R8?

  1. Make sure that R8 is enabled in fast.yml
  2. Run the build command with -s.

  • 💰 Donations are welcome here.
  • 📝 Release notes are here.
  • 💡 Ideas are welcome here.
  • 🐛 Submit issues here.
  • 🤝 For getting additional supports, text me via Telegram or WhatsApp.

Contributors 10

JewelRiadBux AliMujeeb Ur RehmanMahmoudHoodapatryk84a Kiran MaddeJoe J. SanchezGilderlan XavierIago lira

About

🏃‍♂️ An Efficient Way to Build App Inventor Extensions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell50.9%
  • PowerShell49.1%