Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
6a38307
Configure CI
gspencergoog Jul 18, 2025
421675c
feat: Complete migration to in-process AI server
gspencergoog Jul 18, 2025
528d0f3
Convert to list of widgets and add schema
gspencergoog Jul 19, 2025
a17ca1b
Add Firebase Config
gspencergoog Jul 19, 2025
6d2f38a
Checkpoint
gspencergoog Jul 21, 2025
cd447ff
Migrate to firebase_ai
gspencergoog Jul 21, 2025
dc60753
Pass firebase app to isolate
gspencergoog Jul 21, 2025
931d433
MacOS changes
gspencergoog Jul 21, 2025
e2c69a2
Default to 2.5 Flash
gspencergoog Jul 21, 2025
256806e
Update podfiles, fix logging.
gspencergoog Jul 21, 2025
bdaa805
Add testing annotation
gspencergoog Jul 21, 2025
8551765
Remove commented out code
gspencergoog Jul 21, 2025
5cd4775
Update entitlements
gspencergoog Jul 21, 2025
b2c4fa6
Update README.md
polina-c Jul 22, 2025
db4a3ec
-
polina-c Jul 22, 2025
f7a9638
Merge pull request #3 from flutter/example
polina-c Jul 22, 2025
6b2b044
Create launch.json
polina-c Jul 22, 2025
082ae23
Update README.md
polina-c Jul 22, 2025
e91ffc2
-
polina-c Jul 22, 2025
1cd522c
Update MainMenu.xib
polina-c Jul 22, 2025
41c2260
feat: Implement dynamic UI generation from AI
gspencergoog Jul 23, 2025
6d9fc8a
Merge remote-tracking branch 'upstream/main'
gspencergoog Jul 23, 2025
8410106
invitation_draft
polina-c Jul 23, 2025
1fa0518
Merge branch 'main' of github.com:flutter/genui
polina-c Jul 23, 2025
9106b36
some improvemenrs
polina-c Jul 23, 2025
538c399
feat: Overhaul app to generate elicitation UIs
gspencergoog Jul 24, 2025
ec8bc0a
Merge remote-tracking branch 'upstream/main'
gspencergoog Jul 24, 2025
1c00de0
-
polina-c Jul 25, 2025
bd4e527
Merge branch 'main' of github.com:flutter/genui
polina-c Jul 25, 2025
cb50726
-
polina-c Jul 25, 2025
44ace48
-
polina-c Jul 25, 2025
f041592
Update text_styles.dart
polina-c Jul 25, 2025
c2dd7fb
-
polina-c Jul 25, 2025
173f401
-
polina-c Jul 25, 2025
c2922c5
-
polina-c Jul 25, 2025
d95edc1
lints
polina-c Jul 25, 2025
774d8ca
Publish web version
gspencergoog Jul 25, 2025
c699db6
Merge remote-tracking branch 'upstream/main'
gspencergoog Jul 25, 2025
edb8515
-
polina-c Jul 25, 2025
c773ad3
Merge branch 'main' of github.com:flutter/genui
polina-c Jul 25, 2025
0b351bd
-
polina-c Jul 27, 2025
def81a1
-
polina-c Jul 27, 2025
4250c08
-
polina-c Jul 27, 2025
8f38d8a
-
polina-c Jul 27, 2025
d4feb65
-
polina-c Jul 27, 2025
a7df032
-
polina-c Jul 27, 2025
62086e9
-
polina-c Jul 27, 2025
cea944e
-
polina-c Jul 27, 2025
58b969a
Update carousel.dart
polina-c Jul 27, 2025
6f25e2b
Bump firebase_core, firebase_ai, firebase_auth and firebase_app_check
dependabot[bot] Jul 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .gemini/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Maximize verbosity.
have_fun: true
code_review:
# For now, use the default of MEDIUM for testing. Based on desired verbosity,
# we can change this to LOW or HIGH in the future.
comment_severity_threshold: MEDIUM
pull_request_opened:
# Explicitly set help to false in case the default changes in the future, as
# having a help message on every PR would be spammy.
help: false
# These tend to be verbose, and since we expect PR authors to clearly
# describe their PRs this would be at best duplicative.
summary: false
20 changes: 20 additions & 0 deletions .gemini/styleguide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Flutter GenUI Style Guide

## Introduction

This style guide outlines the coding conventions for contributions to this repository.

## Style Guides

Code should follow the relevant style guides, and use the correct
auto-formatter, for each language, as described in
[the repository contributing guide's Style section](https://github.com/flutter/genui/blob/main/CONTRIBUTING.md#style).

## Best Practices

- Code should follow the guidance and principles described in
[the flutter/genui contribution guide](https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md).
- Code should be tested.
- PR descriptions should include the Pre-Review Checklist from
[the PR template](https://github.com/flutter/genui/blob/main/.github/PULL_REQUEST_TEMPLATE.md),
with all of the steps completed.
23 changes: 23 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Description

_Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots._

_List which issues are fixed by this PR. For larger changes, raising an issue first helps reduce redundant work._

## Pre-launch Checklist

- [ ] I read the [Flutter Style Guide] _recently_, and have followed its advice.
- [ ] I signed the [CLA].
- [ ] I read the [Contributors Guide].
- [ ] I have added sample code updates to the [changelog].
- [ ] I updated/added relevant documentation (doc comments with `///`).

If you need help, consider asking for advice on the #hackers-devrel channel on [Discord].

<!-- Links -->

[Flutter Style Guide]: https://github.com/flutter/flutter/blob/master/docs/contributing/Style-guide-for-Flutter-repo.md
[CLA]: https://cla.developers.google.com/
[Discord]: https://github.com/flutter/flutter/blob/master/docs/contributing/Chat.md
[Contributors Guide]: https://github.com/flutter/samples/blob/main/CONTRIBUTING.md
[changelog]: ../CHANGELOG.md
16 changes: 16 additions & 0 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: 2
enable-beta-ecosystems: true
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
# Don't auto-submit github actions updates
# labels:
# - "autosubmit"
- package-ecosystem: "pub"
directory: "pkgs/genui_client"
schedule:
interval: "daily"
labels:
- "autosubmit"
35 changes: 0 additions & 35 deletions .github/workflows/ci.yaml

This file was deleted.

55 changes: 0 additions & 55 deletions .github/workflows/code_search_mcp.yaml

This file was deleted.

47 changes: 0 additions & 47 deletions .github/workflows/dart_code.yaml

This file was deleted.

84 changes: 84 additions & 0 deletions .github/workflows/flutter_packages.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json

name: Flutter Packages CI

on:
push:
branches:
- main
paths:
- ".github/workflows/flutter_packages.yaml"
- "pkgs/**"
pull_request:
branches:
- main
paths:
- ".github/workflows/flutter_packages.yaml"
- "pkgs/**"

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
changes:
runs-on: ubuntu-latest
outputs:
# The output will be a JSON array of package names, e.g.
# '["genui_client"]'
matrix: ${{ steps.filter.outputs.changes }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36
id: filter
with:
# For pushes, the base is the previous commit. For PRs, it's the
# target branch.
base: ${{ github.base_ref }}
# The name of the filter becomes the value in the output matrix.
filters: |
genui_client:
- "pkgs/genui_client/**"
# To add another package, create a new entry here.
# another_package:
# - "pkgs/another_package/**"

analyze_and_test:
needs: changes
# Only run if the 'changes' job has found changed packages.
if: github.repository == 'flutter/genui' && needs.changes.outputs.matrix != '[]'
name: Test ${{ matrix.package }} on ${{ matrix.os }} with Flutter ${{ matrix.flutter_version }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# The list of packages is dynamically set from the 'changes' job.
package: ${{ fromJSON(needs.changes.outputs.matrix) }}
flutter_version: [stable, beta, master]
os: [ubuntu-latest, macos-latest, windows-latest]
defaults:
run:
working-directory: pkgs/${{ matrix.package }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: actions/setup-java@17f84c3641ba7b8f6deff6309fc4c864478f5d62
with:
distribution: "zulu"
java-version: "17"
- uses: subosito/flutter-action@e938fdf56512cc96ef2f93601a5a40bde3801046
with:
channel: ${{ matrix.flutter_version }}
- name: Cache Pub dependencies
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684
with:
path: ${{ env.PUB_CACHE }}
key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }}
restore-keys: ${{ runner.os }}-pub-
- name: Install dependencies
run: dart pub get
- name: Check formatting
run: dart format --output=none --set-exit-if-changed .
- name: Analyze code
run: flutter analyze --fatal-infos
- name: Run Flutter tests
run: flutter test --test-randomize-ordering-seed=random
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.dart_tool/
pubspec.lock
.DS_Store
20 changes: 20 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "example",
"cwd": "pkgs/example",
"request": "launch",
"type": "dart"
},
{
"name": "genui_client",
"cwd": "pkgs/genui_client",
"request": "launch",
"type": "dart"
},
]
}
19 changes: 11 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
# Flutter Coding Agent
# Flutter Generative UI SDK Packages and Apps

A tool using GenKit to generate Flutter code using an agentic framework.
This repository is a collection of packages and applications for the Flutter Generative UI SDK.

This repository contains a GenKit application that generates Flutter code based
on user requirements. It leverages a large language model (LLM) to design the
application's architecture, create an implementation plan, and generate the
corresponding Dart code.
## Packages

See the agent [README.md](./agent/README.md) for information about running the
agent.
- [`genui_client`](/pkgs/genui_client): A client for the Generative UI service.

## Contribute

We follow [Effective Dart](https://dart.dev/effective-dart/style)
and selected items from [Style guide for Flutter repo](https://github.com/flutter/flutter/blob/master/docs/contributing/Style-guide-for-Flutter-repo.md):

* [Naming rules for typedefs and function variables](https://github.com/flutter/flutter/blob/master/docs/contributing/Style-guide-for-Flutter-repo.md#naming-rules-for-typedefs-and-function-variables)
4 changes: 0 additions & 4 deletions pkgs/.gitignore

This file was deleted.

Loading