Skip to content

AshishYesale7/LGFlutterStarterKit

Repository files navigation

LG Flutter Starter Kit

Flutter starter kit for building Liquid Galaxy apps with tours, KML, external APIs, and AI-assisted workflows using Gemini.


About the Contest

This repository is my submission for the Liquid Galaxy Agentic Programming Contest β€” a competition focused on Agentic Programming and the "AI tsunami". The challenge: build an Antigravity-powered environment that automates the development of Liquid Galaxy Flutter applications using Google's Antigravity framework with Gemini as the exclusive LLM.

What I Built

I built an agentic system β€” an Antigravity package with 33 specialized agent skills, 5 architecture rules, and 4 workflows that can generate production-ready LG Flutter applications from scratch. The agent pipeline guides students through an 11-stage journey from environment setup to a deployed APK, enforcing best practices and verifying understanding at every checkpoint.

Deliverables

# Deliverable Description Status
1 Starter Kit Flutter "skeleton" with LG best practices built in flutter_client/
2 agent/ Folder 33 skills, 5 rules, 4 workflows β€” the core agentic system .agent/
3 Demo Repository Sample app created entirely by the agent system πŸ“‚ Separate repo
4 Video Demo Walkthrough of repository, agent skills, and resulting app πŸŽ₯ Separate
5 Technical Documentation This README + comprehensive DOCUMENTATION/ folder

Demo App

LG-Task2-Controller β€” A demo application built entirely using this starter kit and the Antigravity agent system. Visualizes real-time USGS earthquake data on a Liquid Galaxy rig with KML heatmaps, camera tours, and multi-screen overlays.


INDEX

  1. About the Contest
    1.1. What I Built
    1.2. Deliverables
    1.3. Demo App
  2. Main Workflow
  3. Agentic Architecture
  4. Agent Skills Overview
  5. CI/CD Pipeline
  6. Key Features
  7. Getting Started with Antigravity
    7.1. Step-by-Step: From Install to Running App
    7.2. Prompts to Explore the Starter Kit
    7.3. How GUIDE.md Powers the Agent
  8. Installation
  9. Running the Project
    9.1. Standard Start (3-Screen Rig)
    9.2. Custom Rig Configuration
    9.3. Screen Mapping (3-Screen Rig)
    9.4. Building for Release
    9.5. Node.js Server (Optional)
  10. Architecture Overview
    10.1. The Flutter App
    10.2. The LG Rig
    10.3. App β†’ Rig Communication
    10.4. The 5-Layer Import Matrix
  11. What Can You Build?
  12. App Screens & Controls
    12.1. 5 Core LG Operations (Task 2 Minimum)
  13. Expert Agent Pipeline
    13.1. Conversational Auto-Chain
    13.2. Full Skill Roster (33 Skills)
    13.3. 5 Enforced Architecture Rules
  14. Educational Notes
    14.1. Professional Quality Tools
  15. Dependencies
  16. References & Resources
  17. Future Work
    17.1. Data Visualization
    17.2. Educational Tours
    17.3. Satellite Tracking
    17.4. AI-Powered Apps
    17.5. Rig Management
  18. Acknowledgments
  19. License

Documentation & Community

Document Description
Architecture 5-layer system design, import matrix, data flow diagrams
Service API Reference Complete method signatures for all services
Setup & Configuration Prerequisites, build overrides, secure storage, rig config
Agent System 11-stage pipeline, 33 skills, auto-chain details
Screens & UI Every screen β€” purpose, route, widgets, behavior
CI/CD & Quality GitHub Actions, static analysis, quality standards
Node.js Server Companion server endpoints, WebSocket API
Repository Map Complete annotated file tree
LG Development Guide Comprehensive Liquid Galaxy + Flutter guide (onboarding, KML, rig setup, best practices)
Code of Conduct Community standards and behavior expectations
Contributing How to contribute, code standards, PR checklist
Security Policy Vulnerability reporting and security practices

A professional, production-grade starter kit for building Liquid Galaxy applications using Flutter, Dart, SSH/KML, and Node.js.

This project provides everything you need to build, test, and deploy Flutter apps that interact with the Liquid Galaxy multi-screen Google Earth system β€” from earthquake visualizers and satellite trackers to guided tours and interactive dashboards. It ships with Antigravity, a 33-skill AI engineering mentor that teaches you the full stack while you build.

Main Workflow

The end-to-end development flow from starter kit to deployed LG application:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        MAIN WORKFLOW                                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”‚
β”‚  β”‚  STARTER  │───▢│  AGENT   │───▢│  FLUTTER │───▢│    LG    β”‚      β”‚
β”‚  β”‚   KIT     β”‚    β”‚ PIPELINE β”‚    β”‚   APP    β”‚    β”‚   RIG    β”‚      β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β”‚
β”‚       β”‚               β”‚               β”‚               β”‚            β”‚
β”‚  Template code   11-stage flow    Your custom     Multi-screen     β”‚
β”‚  + services      + AI mentoring   LG application  Google Earth     β”‚
β”‚  + architecture  + code review    + external API   visualization   β”‚
β”‚                                   + KML tours                      β”‚
β”‚                                                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚  Developer Journey:                                         β”‚    β”‚
β”‚  β”‚  1. Clone starter kit                                       β”‚    β”‚
β”‚  β”‚  2. Run `lg-env-doctor` β†’ validates environment             β”‚    β”‚
β”‚  β”‚  3. Run `lg-init` β†’ scaffolds new app from template         β”‚    β”‚
β”‚  β”‚  4. Brainstorm β†’ Plan β†’ Build (agent-guided)                β”‚    β”‚
β”‚  β”‚  5. Code review + security scan                             β”‚    β”‚
β”‚  β”‚  6. Build APK β†’ Deploy β†’ Connect to LG rig                 β”‚    β”‚
β”‚  β”‚  7. Quiz β†’ Graduate πŸŽ“                                      β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Agentic Architecture

The Antigravity agent system is organized into layers that separate concerns:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     AGENTIC ARCHITECTURE                            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  WORKFLOWS (Orchestration Layer)          .agent/workflows/   β”‚  β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚  β”‚
β”‚  β”‚  β”‚full-pipeline β”‚ β”‚generate-app  β”‚ β”‚test-rig  β”‚ β”‚test-ios  β”‚  β”‚  β”‚
β”‚  β”‚  β”‚  (11 stages) β”‚ β”‚(flutter init)β”‚ β”‚(flutter) β”‚ β”‚(emulator)β”‚  β”‚  β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚            β”‚                β”‚              β”‚            β”‚           β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  SKILLS (33 Specialized Agents)           .agent/skills/      β”‚  β”‚
β”‚  β”‚                                                               β”‚  β”‚
β”‚  β”‚  Pipeline:  env-doctor β†’ shield β†’ init β†’ brainstorm β†’        β”‚  β”‚
β”‚  β”‚             viz-architect β†’ plan β†’ exec β†’ review β†’ quiz       β”‚  β”‚
β”‚  β”‚                                                               β”‚  β”‚
β”‚  β”‚  Builders:  data-pipeline, ui-scaffolder, kml-craftsman,      β”‚  β”‚
β”‚  β”‚             logic-builder, file-generator, ssh-controller     β”‚  β”‚
β”‚  β”‚                                                               β”‚  β”‚
β”‚  β”‚  Quality:   critical-advisor, tester, debugger                β”‚  β”‚
β”‚  β”‚  DevOps:    github-agent, flutter-build, emulator-manager     β”‚  β”‚
β”‚  β”‚  Teaching:  learning-resources, resume-pipeline                β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                             β”‚                                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  RULES (5 Architecture Guards)            .agent/rules/       β”‚  β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚  β”‚
β”‚  β”‚  β”‚lg-architectureβ”‚ β”‚flutter-best-  β”‚ β”‚ layer-boundaries     β”‚  β”‚  β”‚
β”‚  β”‚  β”‚(rig + SSH)    β”‚ β”‚practices      β”‚ β”‚ (5-layer enforcement)β”‚  β”‚  β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚  β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                           β”‚  β”‚
β”‚  β”‚  β”‚kml-standards β”‚ β”‚dart-style     β”‚   Enforced on EVERY      β”‚  β”‚
β”‚  β”‚  β”‚(KML 2.2)     β”‚ β”‚(Effective Dart)β”‚   code generation       β”‚  β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                           β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  GUARDRAIL: Critical Advisor                                  β”‚  β”‚
β”‚  β”‚  Active across ALL stages β€” blocks progress if student        β”‚  β”‚
β”‚  β”‚  skips understanding. "Explain it or the pipeline stops."     β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Agent Skills Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    33 AGENT SKILLS BY CATEGORY                      β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                     β”‚
β”‚  πŸ”΅ PIPELINE CORE (11 skills β€” the main 11-stage journey)          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚env-doctor  β”‚β†’β”‚shield  β”‚β†’β”‚init  β”‚β†’β”‚flutter-initβ”‚β†’β”‚brainstormerβ”‚ β”‚
β”‚  β”‚(validate)  β”‚ β”‚(scan)  β”‚ β”‚(repo)β”‚ β”‚(flutter)   β”‚ β”‚(design)    β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚viz-architectβ”‚β†’β”‚plan-   β”‚β†’β”‚exec  β”‚β†’β”‚code-       β”‚β†’β”‚quiz-master β”‚ β”‚
β”‚  β”‚(storyboard)β”‚ β”‚writer  β”‚ β”‚(build)β”‚ β”‚reviewer    β”‚ β”‚(graduate)  β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚  + setup-guide                                                     β”‚
β”‚                                                                     β”‚
β”‚  🟒 ARCHITECTURE (7 skills β€” code generation)                      β”‚
β”‚  data-pipeline Β· ui-scaffolder Β· kml-craftsman Β· kml-writer        β”‚
β”‚  logic-builder Β· file-generator Β· ssh-controller                   β”‚
β”‚                                                                     β”‚
β”‚  🟑 QUALITY (4 skills β€” enforcement)                               β”‚
β”‚  critical-advisor Β· tester Β· debugger Β· dependency-resolver        β”‚
β”‚                                                                     β”‚
β”‚  πŸ”΄ DEVOPS (5 skills β€” build & deploy)                             β”‚
β”‚  github-agent Β· flutter-build Β· devops-agent                       β”‚
β”‚  emulator-manager Β· demo-recorder                                  β”‚
β”‚                                                                     β”‚
β”‚  🟣 CONVERTERS (3 skills β€” transformation)                         β”‚
β”‚  api-integrator Β· dart-converter Β· code-converter                  β”‚
β”‚                                                                     β”‚
β”‚  πŸ“š TEACHING (3 skills β€” learning)                                 β”‚
β”‚  learning-resources Β· resume-pipeline Β· nanobanana-sprite           β”‚
β”‚                                                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

CI/CD Pipeline

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      CI/CD PIPELINE                                 β”‚
β”‚                  3 GitHub Actions Workflows                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚  1. flutter-ci.yml  (on every push & PR)                    β”‚    β”‚
β”‚  β”‚     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”               β”‚    β”‚
β”‚  β”‚     β”‚ checkout β”‚β†’ β”‚ flutter  β”‚β†’ β”‚ flutter  β”‚               β”‚    β”‚
β”‚  β”‚     β”‚ + setup  β”‚  β”‚ analyze  β”‚  β”‚  test    β”‚               β”‚    β”‚
β”‚  β”‚     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜               β”‚    β”‚
β”‚  β”‚     Blocks merge if lint errors or test failures            β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚  2. flutter-build.yml  (on release tags)                    β”‚    β”‚
β”‚  β”‚     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”               β”‚    β”‚
β”‚  β”‚     β”‚ checkout β”‚β†’ β”‚  build   β”‚β†’ β”‚ upload   β”‚               β”‚    β”‚
β”‚  β”‚     β”‚ + setup  β”‚  β”‚   APK    β”‚  β”‚ artifact β”‚               β”‚    β”‚
β”‚  β”‚     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜               β”‚    β”‚
β”‚  β”‚     Produces release APK for contest submission             β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚  3. security-scan.yml  (on push to main)                    β”‚    β”‚
β”‚  β”‚     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”               β”‚    β”‚
β”‚  β”‚     β”‚ secret   β”‚β†’ β”‚ dep auditβ”‚β†’ β”‚ Node.js  β”‚               β”‚    β”‚
β”‚  β”‚     β”‚ scanning β”‚  β”‚ (pub)    β”‚  β”‚ npm auditβ”‚               β”‚    β”‚
β”‚  β”‚     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜               β”‚    β”‚
β”‚  β”‚     Scans for hardcoded secrets, vulnerable dependencies    β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Features

  • Flutter + LG Integration: Pre-wired Flutter app with SSH, KML generation, and LG rig communication out of the box. Connect your phone to a 3/5/7-screen Google Earth rig in minutes.
  • Complete Service Layer:
    • LG Service: High-level facade β€” sendLogo(), flyTo(), sendPyramid(), cleanKML(), orbit()
    • SSH Service: Raw SSH command execution to the LG master machine via dartssh2
    • KML Service: Stateless KML XML generator β€” placemarks, tours, overlays, 3D objects, time animations
    • API Services: Example data integrations (USGS earthquakes) ready for extension
  • 5-Layer Enforced Architecture: Strict import boundaries between Presentation β†’ Orchestration β†’ Providers β†’ KML β†’ Transport. Violations are blocked automatically.
  • Material 3 UI: Modern Flutter design with light/dark themes, Provider state management, responsive layouts, and an interactive workflow visualizer.
  • Antigravity AI Mentor: 33 agent skills, 5 architecture rules, 4 workflows β€” a conversational 11-stage pipeline that guides you from zero to deployed APK.
  • Dynamic Rig Configuration: Configurable for any screen count (3, 5, 7) via config.dart. Screen numbering, logo placement, and KML targeting adjust automatically.
  • Node.js Companion Server: Optional backend with Express + WebSocket for data processing, API proxying, and real-time communication.
  • CI/CD Ready: 3 GitHub Actions workflows β€” continuous integration, APK builds, and security scanning.

Getting Started with Antigravity

This section walks you through installing Antigravity, cloning this starter kit, and using the AI agent system to build your own Liquid Galaxy Flutter app β€” all from inside the Antigravity application.

Reference: The agent system uses GUIDE.md as its primary knowledge source for Liquid Galaxy concepts, KML management, rig architecture, Flutter best practices, and GSoC deliverables. Antigravity automatically reads this file for context when answering your questions.

Step-by-Step: From Install to Running App


Phase 1 β€” Install Antigravity

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  STEP 1: Download Antigravity                                   β”‚
β”‚                                                                 β”‚
β”‚  Visit:  https://goo.gle/gemini-code-assist-antigravity         β”‚
β”‚                                                                 β”‚
β”‚  Antigravity is a standalone desktop application powered by     β”‚
β”‚  Google Gemini. It provides:                                    β”‚
β”‚    β€’ An AI chat interface for conversational coding             β”‚
β”‚    β€’ Background agents that run tasks autonomously              β”‚
β”‚    β€’ Full terminal, file editor, and workspace management       β”‚
β”‚    β€’ Built-in Git integration                                   β”‚
β”‚                                                                 β”‚
β”‚  Download β†’ Install β†’ Launch the Antigravity app                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

What is Antigravity? It's Google's agentic coding application β€” think of it as an AI-powered IDE that can read your entire project, run terminal commands, edit files, and guide you through complex development tasks using Gemini.


πŸ“‚ Phase 2 β€” Clone the Starter Kit

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  STEP 2: Clone LGFlutterStarterKit inside Antigravity           β”‚
β”‚                                                                 β”‚
β”‚  Open the Antigravity chat and type:                            β”‚
β”‚                                                                 β”‚
β”‚  πŸ’¬ "Clone the repo                                             β”‚
β”‚      github.com/AshishYesale7/LGFlutterStarterKit               β”‚
β”‚      and open it as my workspace"                               β”‚
β”‚                                                                 β”‚
β”‚  The agent will:                                                β”‚
β”‚    βœ… Clone the repo into Antigravity's scratch directory       β”‚
β”‚    βœ… Open the workspace with all files visible                 β”‚
β”‚    βœ… Detect the .agent/ folder (33 skills, 5 rules)            β”‚
β”‚    βœ… Load GUIDE.md as context for LG-specific questions        β”‚
β”‚                                                                 β”‚
β”‚  Your workspace will look like:                                 β”‚
β”‚  ~/.gemini/antigravity/scratch/                                 β”‚
β”‚  └── LGFlutterStarterKit/                                      β”‚
β”‚      β”œβ”€β”€ .agent/          ← 33 skills + 5 rules + 4 workflows  β”‚
β”‚      β”œβ”€β”€ flutter_client/  ← Starter Flutter app template        β”‚
β”‚      β”œβ”€β”€ server/          ← Node.js WebSocket server            β”‚
β”‚      β”œβ”€β”€ demo/            ← Verified plugin stack reference     β”‚
β”‚      β”œβ”€β”€ GUIDE.md         ← LG development guide (agent reads)  β”‚
β”‚      └── README.md        ← You are here!                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ€– Phase 3 β€” Meet the Agent System

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  STEP 3: Explore the Antigravity Chat + Background Agents       β”‚
β”‚                                                                 β”‚
β”‚  Antigravity has TWO ways to interact with the AI:              β”‚
β”‚                                                                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”‚
β”‚  β”‚  πŸ’¬ CHAT (Interactive)                            β”‚          β”‚
β”‚  β”‚  ─────────────────────────────────────────────    β”‚          β”‚
β”‚  β”‚  Type prompts in the chat panel.                  β”‚          β”‚
β”‚  β”‚  The agent responds conversationally.             β”‚          β”‚
β”‚  β”‚  Use for: questions, brainstorming, reviews,      β”‚          β”‚
β”‚  β”‚  learning LG concepts, quick edits.               β”‚          β”‚
β”‚  β”‚                                                   β”‚          β”‚
β”‚  β”‚  Example:                                         β”‚          β”‚
β”‚  β”‚  πŸ’¬ "Explain how SSH works with the LG rig"       β”‚          β”‚
β”‚  β”‚  πŸ’¬ "What KML elements do I need for a flyTo?"    β”‚          β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β”‚
β”‚                                                                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”‚
β”‚  β”‚  πŸ”„ BACKGROUND AGENTS (Autonomous)                β”‚          β”‚
β”‚  β”‚  ─────────────────────────────────────────────    β”‚          β”‚
β”‚  β”‚  Agents run in the background β€” they read files,  β”‚          β”‚
β”‚  β”‚  execute terminal commands, edit code, run tests,  β”‚          β”‚
β”‚  β”‚  and commit changes WITHOUT blocking you.          β”‚          β”‚
β”‚  β”‚                                                   β”‚          β”‚
β”‚  β”‚  Use for: scaffolding entire features, running     β”‚          β”‚
β”‚  β”‚  builds, code reviews, security scans, test gen.  β”‚          β”‚
β”‚  β”‚                                                   β”‚          β”‚
β”‚  β”‚  Example:                                         β”‚          β”‚
β”‚  β”‚  πŸ’¬ "Run lg-init to create my LG-EarthquakeViz    β”‚          β”‚
β”‚  β”‚      app in a new repo"                           β”‚          β”‚
β”‚  β”‚  β†’ Agent runs in background: creates dir, copies  β”‚          β”‚
β”‚  β”‚    template, runs flutter create, inits Git,      β”‚          β”‚
β”‚  β”‚    sets up GitHub repo β€” while you keep working.  β”‚          β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

βš™οΈ Phase 4 β€” Set Up Your Environment

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  STEP 4: Run the Environment Doctor                             β”‚
β”‚                                                                 β”‚
β”‚  πŸ’¬ "Run lg-env-doctor to check my setup"                       β”‚
β”‚                                                                 β”‚
β”‚  The agent validates your entire dev environment:               β”‚
β”‚                                                                 β”‚
β”‚    βœ… Flutter SDK installed & on PATH                           β”‚
β”‚    βœ… Dart SDK version >=3.0.0                                  β”‚
β”‚    βœ… Git configured with user.name & user.email                β”‚
β”‚    βœ… JDK 17+ for Android builds                                β”‚
β”‚    βœ… Android SDK with platform-tools                           β”‚
β”‚    βœ… SSH client available (for LG rig communication)           β”‚
β”‚                                                                 β”‚
β”‚  ❌ If anything fails β†’ the agent tells you exactly             β”‚
β”‚     how to fix it before continuing.                            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ—οΈ Phase 5 β€” Create Your App

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  STEP 5: Initialize a new LG app from the starter kit           β”‚
β”‚                                                                 β”‚
β”‚  πŸ’¬ "Run lg-init to create my app called EarthquakeViz"         β”‚
β”‚                                                                 β”‚
β”‚  The agent (running in background) will:                        β”‚
β”‚                                                                 β”‚
β”‚    1️⃣  Ask your project name β†’ enforces LG-<TaskName> format   β”‚
β”‚    2️⃣  Create a NEW sibling directory:                          β”‚
β”‚        ~/.gemini/antigravity/scratch/                            β”‚
β”‚        β”œβ”€β”€ LGFlutterStarterKit/    (template β€” untouched)       β”‚
β”‚        └── LG-EarthquakeViz/       (YOUR new app)               β”‚
β”‚                                                                 β”‚
β”‚    3️⃣  Copy scaffolding from the starter kit                    β”‚
β”‚    4️⃣  Run flutter create --platforms=android                   β”‚
β”‚    5️⃣  Install dependencies from demo/DEPENDENCIES.md           β”‚
β”‚    6️⃣  Configure LG rig connection in config.dart               β”‚
β”‚    7️⃣  Init Git + create GitHub repo                            β”‚
β”‚    8️⃣  Open BOTH repos side-by-side in the workspace            β”‚
β”‚                                                                 β”‚
β”‚  β›” The agent STOPS at checkpoints to verify you understand     β”‚
β”‚     the architecture before moving forward.                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🧠 Phase 6 β€” Brainstorm, Design & Build

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  STEP 6-7: The agent guides you through the full pipeline       β”‚
β”‚                                                                 β”‚
β”‚  πŸ’¬ "Let's brainstorm β€” I want to visualize earthquake data"    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚  BRAINSTORM β†’ The agent discusses data sources,      β”‚       β”‚
β”‚  β”‚  KML strategies, screen layouts, and user flows.     β”‚       β”‚
β”‚  β”‚  Outputs: docs/plans/<date>-design.md                β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚                           ↓                                     β”‚
β”‚  πŸ’¬ "Start the execution phase"                                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚  EXECUTE β†’ Background agent implements features in    β”‚       β”‚
β”‚  β”‚  batches of 2-3 tasks. After each batch:             β”‚       β”‚
β”‚  β”‚    β€’ Shows what was built                             β”‚       β”‚
β”‚  β”‚    β€’ Asks you to explain what the code does           β”‚       β”‚
β”‚  β”‚    β€’ Only proceeds if you demonstrate understanding   β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚                           ↓                                     β”‚
β”‚  πŸ’¬ "Run code review and security scan"                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚  REVIEW β†’ Professional audit: SOLID compliance,       β”‚       β”‚
β”‚  β”‚  flutter analyze, dart format, layer boundary check.  β”‚       β”‚
β”‚  β”‚  Shield scans for hardcoded secrets & credentials.    β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“± Phase 7 β€” Build, Connect & Deploy

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  STEP 8: Build the release APK                                  β”‚
β”‚                                                                 β”‚
β”‚  πŸ’¬ "Build my app for release"                                  β”‚
β”‚                                                                 β”‚
β”‚  The agent runs the full build pipeline:                        β”‚
β”‚    flutter analyze              ← Zero errors required          β”‚
β”‚    dart format --set-exit-if-changed .   ← Clean formatting     β”‚
β”‚    flutter build apk --release --split-per-abi                  β”‚
β”‚                                                                 β”‚
β”‚  Output: LG-EarthquakeViz-arm64-v8a-release.apk                β”‚
β”‚                                                                 β”‚
β”‚  Install on your Android phone β†’ connect to LG rig β†’ done! πŸ“‘  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸŽ“ Phase 8 β€” Prove You Understand

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  STEP 9: Graduate!                                              β”‚
β”‚                                                                 β”‚
β”‚  πŸ’¬ "start the quiz"                                            β”‚
β”‚                                                                 β”‚
β”‚  The agent asks 5 questions covering:                           β”‚
β”‚    ❓ SSH rig communication                                      β”‚
β”‚    ❓ KML structure & Google Earth rendering                      β”‚
β”‚    ❓ 5-layer architecture & import boundaries                    β”‚
β”‚    ❓ Provider state management                                   β”‚
β”‚    ❓ Performance & multi-screen considerations                   β”‚
β”‚                                                                 β”‚
β”‚  Pass = you understand what you built (not just what AI wrote)  β”‚
β”‚                                                                 β”‚
β”‚  πŸ“‹ Quiz report saved to: docs/reviews/<date>-quiz-report.md   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ” How Antigravity + LGFlutterStarterKit Work Together

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                                                 β”‚
β”‚   ANTIGRAVITY APP                  LGFlutterStarterKit          β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”‚
β”‚   β”‚             β”‚   reads from    β”‚                  β”‚          β”‚
β”‚   β”‚  πŸ’¬ Chat    │◄───────────────►│  .agent/         β”‚          β”‚
β”‚   β”‚  Interface  β”‚   skills &      β”‚  β”œβ”€β”€ skills/     β”‚          β”‚
β”‚   β”‚             β”‚   rules         β”‚  β”œβ”€β”€ rules/      β”‚          β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜                 β”‚  └── workflows/  β”‚          β”‚
β”‚          β”‚                        β”‚                  β”‚          β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”   reads for     β”‚  GUIDE.md        β”‚          β”‚
β”‚   β”‚             β”‚   LG context    β”‚  (LG knowledge   β”‚          β”‚
β”‚   β”‚  πŸ”„ Back-   │◄──────────────►│   base)          β”‚          β”‚
β”‚   β”‚  ground     β”‚                 β”‚                  β”‚          β”‚
β”‚   β”‚  Agents     β”‚   uses as       β”‚  flutter_client/ β”‚          β”‚
β”‚   β”‚             β”‚   template      β”‚  (starter code)  β”‚          β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜                 β”‚                  β”‚          β”‚
β”‚          β”‚                        β”‚  demo/           β”‚          β”‚
β”‚          β”‚         uses verified   β”‚  (plugin stack)  β”‚          β”‚
β”‚          │◄────────versions───────│                  β”‚          β”‚
β”‚          β–Ό                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                               β”‚
β”‚   β”‚ YOUR NEW    β”‚   Created as sibling directory                β”‚
β”‚   β”‚ LG APP      β”‚   ~/.gemini/antigravity/scratch/LG-<Name>/   β”‚
β”‚   β”‚ (separate   β”‚   Own Git repo, own GitHub, own APK          β”‚
β”‚   β”‚  repo)      β”‚                                               β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                               β”‚
β”‚                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Insight: The starter kit is never modified. It serves as a read-only template and knowledge base. Antigravity reads the .agent/ skills, GUIDE.md, and demo/ references to create and guide YOUR app in a separate directory.

Prompts to Explore the Starter Kit

Use these prompts directly in the Antigravity chat to learn and build:

Understanding the Kit

Prompt What It Does
"Explain the 5-layer architecture of this project" Agent walks through Presentation β†’ Transport layers with examples from the codebase
"How does SSH communication work with the LG rig?" Agent explains SSHService, command execution, and /tmp/query.txt using GUIDE.md context
"Show me how KML files are generated and sent" Agent traces the flow from KMLService β†’ SSHService β†’ LG rig
"What is the master-slave architecture of Liquid Galaxy?" Agent explains using GUIDE.md β€” master node, slave screens, UDP sync
"Explain the service layer pattern in this kit" Agent shows LGService facade, why screens never touch SSH/KML directly

Building Your App

Prompt What It Does
"Create a new screen that displays weather data on the LG rig" Agent scaffolds a screen + service + KML generation following architecture rules
"Add an API service that fetches ISS position from NASA" Agent creates the service, model, and wires it into the provider layer
"Generate a KML tour that orbits around 3 cities" Agent uses KMLService patterns to create a multi-stop animated tour
"Help me send a ScreenOverlay logo to the left slave screen" Agent explains and implements using sendLogo() with proper screen targeting
"Add a settings screen where users enter their LG rig IP" Agent extends SettingsProvider with flutter_secure_storage

Testing & Quality

Prompt What It Does
"Run flutter analyze and fix all warnings" Agent runs analysis and fixes lint issues following dart-style rules
"Write unit tests for KMLService" Agent generates tests for pure KML generation functions
"Check if my app follows the layer boundary rules" Agent scans imports and flags architecture violations
"Scan my code for hardcoded secrets" Agent runs lg-shield to find exposed passwords or API keys

Learning LG Concepts

Prompt What It Does
"What are the essential LG functions my app must implement?" Agent lists requirements from GUIDE.md β€” KML cleanup, camera sync, orbit, QR connect
"Explain KML coordinate order and common mistakes" Agent clarifies longitude,latitude,altitude order and why it matters
"How should I handle camera tilt and zoom for 3D views?" Agent explains 45Β° tilt, 2km altitude rule from the LG guide
"What are KML balloons and their limitations on LG?" Agent explains balloon rendering issues on legacy Google Earth
"Walk me through the GSoC deliverables checklist" Agent lists APK builds, documentation, worklog, and GO webstore from GUIDE.md

Advanced Workflows

Prompt What It Does
"Design a multi-screen visualization for satellite tracking" Agent runs viz-architect β€” storyboards, KML elements, performance budget
"Create a data pipeline from USGS API to KML overlay" Agent wires API β†’ Model β†’ KMLService β†’ SSHService end-to-end
"Build an AI-powered tour generator using Gemini" Agent integrates Gemini API, generates waypoints, renders KML tours
"Set up my project for the GO webstore submission" Agent runs flutter-build, prepares APK, checks deliverable checklist

πŸ’‘ Tip: You don't need to memorize these prompts. Just say "ready" after each pipeline stage and the agent automatically suggests the next step. The prompts above are for when you want to explore specific topics or skip ahead.

How GUIDE.md Powers the Agent

The GUIDE.md file is a comprehensive Liquid Galaxy development guide covering:

  • Onboarding β€” GSoC bonding period, mentor meetings, environment setup (Windows & macOS)
  • GitHub Methodology β€” Branch strategy, PR workflow, commit conventions
  • Liquid Galaxy Architecture β€” Master-slave model, UDP communication, screen synchronization
  • Essential LG Functions β€” KML cleanup, camera sync, orbit controls, QR connection
  • KML Management β€” XML structure, placemarks, tours, overlays, balloon limitations
  • Flutter Fundamentals β€” Widgets, state, reactive programming, composition
  • Best Practices β€” Camera tilt/zoom, 3D views, data transmission, rig compatibility
  • Deliverables β€” APK builds, documentation, worklog, GO webstore

When you ask the agent any question about Liquid Galaxy, KML, rig setup, or GSoC requirements, it pulls context directly from this file to give accurate, project-specific answers.

πŸ› οΈ Installation

  1. Clone the repository
 git clone https://github.com/AshishYesale7/LGFlutterStarterKit.git
 cd LGFlutterStarterKit
  1. Install dependencies:
    cd flutter_client
    flutter pub get

🏁 Running the Project

Standard Start (3-Screen Rig)

The default mode assumes a standard 3-screen Liquid Galaxy rig at 192.168.56.101.

cd flutter_client
flutter run

Custom Rig Configuration

Edit lib/config.dart to match your rig:

class Config {
  static const String lgHost = '192.168.56.101';  // Your LG master IP
  static const int lgPort = 22;
  static const int totalScreens = 3;              // 3, 5, or 7
  static const String lgUser = 'lg';
  static const String lgPassword = 'lg';
}

Screen Mapping (3-Screen Rig)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Screen 3 β”‚  β”‚ Screen 1 β”‚  β”‚ Screen 2 β”‚
β”‚  (Left)  β”‚  β”‚ (Master) β”‚  β”‚  (Right) β”‚
β”‚  Logo β—„  β”‚  β”‚  Center  β”‚  β”‚          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  • Screen 1 (Master): Primary Google Earth display, receives camera commands via /tmp/query.txt
  • Screen 3 (Left Slave): App logo displayed as <ScreenOverlay> KML
  • Screen 2 (Right Slave): Additional overlays and legends

Building for Release

# Debug APK
flutter build apk --debug

# Release APK (contest submission)
flutter build apk --release

# With custom LG host override
flutter build apk --dart-define=LG_HOST=192.168.56.101

Node.js Server (Optional)

cd server
npm install
npm start
# Server runs on http://localhost:3000

πŸ—οΈ Architecture Overview

The project follows a Client-to-Rig model. Your Flutter app communicates with the LG rig over SSH, sending KML data and camera commands. Google Earth on the rig handles all multi-screen rendering.

1. The Flutter App (flutter_client/lib/)

  • Screens: UI for rig interaction β€” Splash, Connection, Dashboard, Settings, Help, Workflow Visualizer. Actions trigger KML/SSH operations on the rig.
  • Services: All business logic. LGService is the facade that coordinates SSH + KML. Screens never touch SSH or KML directly.
  • Providers: State management via ChangeNotifier + MultiProvider. Settings, themes, and connection state.
  • Models: Immutable domain data classes. Pure data β€” no I/O, no side effects.

2. The LG Rig

  • LG Master (Screen 1): Receives SSH commands from your app. Writes KML files to /var/www/html/kml/ and camera commands to /tmp/query.txt.
  • Slave Screens: Google Earth instances that poll the KML files and render synchronized visualizations across all screens automatically.
  • No Code Runs on the Rig: You don't deploy anything to the rig. You send KML over SSH, and Google Earth handles the rest.

3. The "Magic" (App β†’ Rig Communication)

User taps "FlyTo" in the app
  β†’ Screen dispatches action to LGService (facade)
  β†’ LGService calls KMLService.generateFlyTo(lat, lon, alt)
  β†’ KMLService returns a KML XML string (pure, no side effects)
  β†’ LGService calls SSHService.execute("echo '$kml' > /tmp/query.txt")
  β†’ SSH sends command to LG Master at 192.168.56.101:22
  β†’ Google Earth reads /tmp/query.txt and flies the camera
  β†’ All 3+ screens update simultaneously (Google Earth handles sync)

This is the core concept every student must understand. Your Flutter app sends data to the rig β€” Google Earth handles all multi-screen rendering.

4. The 5-Layer Import Matrix

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  PRESENTATION   screens/, widgets/                   β”‚
β”‚  ❌ Cannot import: dartssh2, http, kml_service       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  ORCHESTRATION  services/lg_service.dart             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  DATA PROVIDERS services/*_service.dart, providers/  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  KML GENERATION services/kml_service.dart            β”‚
β”‚  ❌ Cannot import: dartssh2, ssh_service              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  TRANSPORT      services/ssh_service.dart            β”‚
β”‚  ❌ Cannot import: kml_service, models/               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Data flows one direction: API β†’ Provider β†’ Domain Model β†’ KML Generator β†’ SSH Transport β†’ LG Rig

πŸ“± What Can You Build?

This starter kit supports any type of Liquid Galaxy application:

App Type Example Data Source
Data Visualization Earthquake heatmaps, volcano activity, weather patterns USGS, NASA, OpenWeather APIs
Educational Tours Historical city tours, museum walkthroughs, geography lessons Static data, Wikipedia, custom
Satellite Tracking ISS tracker, Starlink constellation visualizer NASA TLE, CelesTrak
AI-Powered AI travel itinerary generator, smart city explorer Gemini API, OpenAI, custom ML
Rig Management Dashboard for controlling Google Earth navigation Direct SSH commands
Contest Task 2 Basic LG operations (logo, pyramid, flyTo, clean) None (built-in)

Browse 100+ past GSoC LG projects for inspiration.

App Screens & Controls

Screen Purpose
Splash App branding, auto-navigates to Connection
Connection Enter LG rig IP, port, credentials. Test connection.
Main Dashboard Action cards: FlyTo, Send Logo, Send Pyramid, Orbit, Clean
Settings Rig config, screen count, home city coordinates
Help/About Usage instructions and LG architecture overview
Workflow Flow Interactive n8n-style visualization of the 11-stage agent pipeline

All screens are starting points β€” extend, replace, or add new ones for your project.

5 Core LG Operations (Task 2 Minimum)

Operation Service Method Effect on Rig
Send Logo lgService.sendLogo() ScreenOverlay KML β†’ left slave screen
Send 3D Pyramid lgService.sendPyramid() Extruded colored polygon β†’ master screen
FlyTo Home City lgService.flyToHomeCity() Smooth camera flight to your coordinates
Clean Logos lgService.cleanLogos() Remove overlays from slave screens
Clean KMLs lgService.cleanKMLs() Clear all KML files from the rig

πŸ€– Expert Agent Pipeline

This repository is "Agent-Hardened" with a built-in 11-stage mentoring system designed to guide you from zero to a "Wow-Factor" graduation.

Env Doctor β†’ Shield (pre) β†’ Init β†’ Brainstorm β†’ Viz Architect β†’
Plan Writer β†’ Data Pipeline β†’ UI Scaffold β†’ Execute β†’
Code Review β†’ Shield (post) β†’ Quiz (Finale)
  1. Environment Doctor (lg-env-doctor): Validates Flutter, Dart, Git, JDK, Android SDK, SSH β€” blocks pipeline until everything passes.
  2. Security Pre-Flight (lg-shield): Scans for hardcoded secrets, validates .gitignore, checks flutter_secure_storage.
  3. Initialize (lg-init): Creates your app in a separate directory with LG-<TaskName> naming, scaffolds architecture, inits Git + GitHub.
  4. Brainstorm (lg-brainstormer): Collaborative design focusing on visual impact on the LG rig, data sources, and architectural tradeoffs.
  5. Viz Architect (lg-viz-architect): Designs the multi-screen Google Earth experience β€” storyboards, KML elements, camera tours, performance budgets.
  6. Plan (lg-plan-writer): Detailed implementation roadmap with 5-10 minute tasks and built-in educational checkpoints.
  7. Data Pipeline + UI Scaffold (lg-data-pipeline + lg-ui-scaffolder): Wires API β†’ Model β†’ KML β†’ SSH pipeline. Generates Flutter screens with Provider wiring.
  8. Execute (lg-exec): Guided implementation in batches of 2-3 tasks. Stops after every batch for a verification question. Will not auto-continue.
  9. Code Review (lg-code-reviewer): Professional OSS-grade audit β€” SOLID, DRY, flutter analyze, dart format, 80%+ test coverage.
  10. Security Post-Flight (lg-shield): Final scan on completed code. Blocks graduation if critical issues found.
  11. Quiz (lg-quiz-master): The "TV Show" finale! 5 high-stakes questions covering SSH pipelines, KML constructs, engineering principles, performance, and architecture.

** PROMINENT GUARDRAIL**: The Critical Advisor (lg-critical-advisor) is active throughout the entire journey. If you rush, skip explanations, or say "just build it" β€” it intervenes immediately. You must demonstrate understanding at every checkpoint.

Conversational Auto-Chain

After each stage, the agent automatically offers the next one:

"Project scaffolded! Now let's brainstorm features β€” what should your LG app visualize on Google Earth? Ready? 🧠"

No manual skill-hunting required. Say "ready" and the pipeline flows.

Full Skill Roster (33 Skills)

Category Skills
Pipeline Core lg-env-doctor, lg-setup-guide, lg-shield, lg-init, lg-flutter-init, lg-brainstormer, lg-viz-architect, lg-plan-writer, lg-exec, lg-code-reviewer, lg-quiz-master
Architecture lg-data-pipeline, lg-ui-scaffolder, lg-kml-craftsman, lg-kml-writer, lg-logic-builder, lg-file-generator, lg-ssh-controller
Quality lg-critical-advisor, lg-tester, lg-debugger, lg-dependency-resolver
DevOps lg-github-agent, lg-flutter-build, lg-devops-agent, lg-emulator-manager, lg-demo-recorder
Converters lg-api-integrator, lg-dart-converter, lg-code-converter
Teaching lg-learning-resources, lg-resume-pipeline, lg-nanobanana-sprite

5 Enforced Architecture Rules

Rule Enforces
lg-architecture.md LG rig model, SSH communication, service layer patterns
flutter-best-practices.md Provider patterns, widget decomposition, const constructors
layer-boundaries.md 5-layer import matrix, one-direction data flow
kml-standards.md Valid KML 2.2 structure, lon,lat,alt coordinate order, tour conventions
dart-style.md Effective Dart naming, /// documentation, formatting standards

Educational Notes

  • No Free Code: The agent explains every architectural decision before writing code. If you can't explain it, the pipeline stops.
  • Service Layer Pattern: All SSH, KML, and API logic lives in services β€” never in screens or widgets. This matches how Lucia's LG Master Web App structures the reference implementation.
  • KML Coordinate Order: Google Earth uses longitude,latitude,altitude β€” not lat,lon. Getting this wrong is the #1 beginner mistake.
  • SSH Lifecycle: Connections must be properly opened, verified, and disposed. The agent enforces dispose() methods on services to prevent resource leaks.
  • Secure Storage: Passwords and API keys must use flutter_secure_storage β€” never SharedPreferences. The Shield skill scans for this.

Professional Quality Tools

This starter kit comes pre-configured with the same tools used by professional Flutter teams:

  • flutter analyze: Static analysis β€” zero errors/warnings required at all times.
  • dart format: Consistent code formatting enforced via --set-exit-if-changed.
  • flutter test: Unit and widget tests with 80%+ coverage target.
  • GitHub Actions CI/CD: flutter-ci.yml (lint + test), flutter-build.yml (APK build), security-scan.yml (automated scanning).
  • Provider + ChangeNotifier: Google-recommended state management for medium-complexity apps.

Students are expected to keep flutter analyze passing at all times!

Dependencies

Package Version Purpose
dartssh2 ^2.9.0 SSH communication with LG rig
provider ^6.1.1 State management (ChangeNotifier)
http ^1.2.0 REST API calls to external data sources
xml ^6.3.0 KML XML generation & validation
shared_preferences ^2.2.2 Persistent settings (non-sensitive)
flutter_secure_storage ^9.0.0 Encrypted credential storage
path_provider ^2.1.1 File system access
web_socket_channel ^3.0.1 WebSocket to Node.js server

Reference Implementations & Resources

Resource Link
Lucia's LG Master Web App (reference implementation) GitHub
All Liquid Galaxy Lab Projects (100+ GSoC repos) GitHub
GSoC 2026 Ideas Page liquidgalaxy.eu
LG Mobile Applications Showcase liquidgalaxy.eu
LG App Store store.liquidgalaxy.eu
LG Core Installation GitHub
KML Reference (Google) developers.google.com
Flutter App Architecture (Google) docs.flutter.dev

For detailed technical documentation, see the DOCUMENTATION/ folder β€” architecture deep dives, service API reference, setup guides, agent system docs, and more. Full listing in the Index above.


Future Work

This starter kit is designed to help build any kind of Flutter-powered Liquid Galaxy application. Here's how each app category can benefit from future enhancements:

Data Visualization

Enhancement Description
KML Heatmap Generator Built-in service to convert datasets (CSV, JSON, API) into KML heatmap overlays with configurable color gradients and intensity scaling
Real-Time Data Streaming WebSocket-based live data pipeline β€” push updates from APIs (USGS, OpenWeather, NASA) directly to KML on the rig without manual refresh
Multi-Layer Overlays Support stacking multiple data layers (e.g., earthquakes + fault lines + population density) on different slave screens simultaneously
Chart-to-KML Converter Transform Flutter charts (bar, line, pie) into <ScreenOverlay> KMLs rendered on LG slave screens as dashboard panels

Educational Tours

Enhancement Description
Tour Builder UI Drag-and-drop screen for creating multi-stop Google Earth tours β€” set waypoints, camera angles, dwell times, and narrative text
Narration Engine TTS integration to auto-narrate tour stops as the camera flies between locations on the rig
Pre-Built Tour Templates Ready-made tour packages (World Wonders, Solar System, Historical Battles, Ocean Exploration) that students can customize
Quiz-at-Waypoint Embed interactive quiz questions at tour stops β€” the rig pauses until the user answers correctly on the phone

Satellite Tracking

Enhancement Description
TLE Parser Service Built-in Two-Line Element parser to convert CelesTrak/NASA orbital data into real-time KML satellite positions
Orbit Prediction KML Generate animated orbit paths showing past tracks and future predictions as KML <gx:Track> elements
Constellation Visualizer Render entire constellations (Starlink, GPS, Iridium) with color-coded altitude bands across multiple screens
ISS Live Tracker Pre-wired ISS tracking module with live crew info overlay and ground track KML β€” plug and play

AI-Powered Apps

Enhancement Description
Gemini API Service Ready-to-use service class for calling Gemini β€” text generation, image analysis, and structured JSON output for KML creation
AI Itinerary Generator Describe a trip in natural language β†’ Gemini generates waypoints β†’ KMLService renders the tour on the rig automatically
Smart Data Enrichment Feed raw location data to Gemini for context (history, demographics, ecology) displayed as info balloons on the rig
Natural Language Rig Control Voice or text commands ("Fly to the Eiffel Tower and orbit at 500m") parsed by Gemini into LGService method calls

Rig Management

Enhancement Description
Health Dashboard Real-time monitoring of all rig screens β€” connection status, CPU/memory, Google Earth process health β€” displayed on the phone
Multi-Rig Support Manage multiple LG rigs from a single app instance β€” switch between rigs, broadcast KML to all, or target specific rigs
Scheduled Tasks Cron-style scheduler for automated rig operations β€” rotate demos every 10 minutes, clean KMLs at midnight, auto-relaunch GE
Remote Configuration Push config changes (screen count, resolution, network settings) to the rig over SSH without physically accessing the machines

Acknowledgments

Special thanks to the Liquid Galaxy community and mentors who make this project possible:

  • Lucia Fernandez β€” For the LG Master Web App, the reference implementation that established the service-layer patterns and KML communication protocols used throughout this starter kit.
  • Victor Sanchez β€” For mentoring the Liquid Galaxy project, driving the contest vision, and championing the integration of AI and agentic programming into the LG ecosystem.
  • The Liquid Galaxy LAB Team β€” For maintaining the open-source infrastructure, documentation, and community that supports 100+ GSoC projects.

License

This project is licensed under the MIT License.

Copyright (c) 2026 Ashish Yesale.

About

Antigravity Agentic System: An Antigravity package with 33 specialized agent skills, 5 architecture rules, and 4 workflows. It acts as an AI-powered IDE and mentor, guiding developers through an 11-stage pipeline from setup to a deployed APK.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors