Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 4 additions & 4 deletions .agents/skills/create-flet-example-projects/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,17 +39,17 @@ Ensure each runnable example is a standalone project containing:
- Infer from path and code.
- Create missing `pyproject.toml` files for existing project folders.
- Update obviously stale metadata when migrating existing examples (for example wrong title/description/categories).
- Verify platform support before adding or omitting `[tool.flet].platforms`:
- Verify platform support before adding or omitting `[tool.flet.gallery].platforms`:
- Check the local implementation and docs for explicit platform guards, support tables, or platform-specific exceptions.
- If support is limited, add `[tool.flet].platforms` with only the supported platforms.
- If support is broad/all-platform, omit `[tool.flet].platforms`.
- If support is limited, add `[tool.flet.gallery].platforms` with only the supported platforms.
- If support is broad/all-platform, omit `[tool.flet.gallery].platforms`.
- Required fields:
- `[project]`: `name`, `version`, `description`, `requires-python`, `keywords`, `authors`, `dependencies`
- `[dependency-groups].dev`: include `flet-cli`, `flet-desktop`, `flet-web`
- `[tool.flet.gallery].categories`
- `[tool.flet.metadata]`: `title`, `controls`, `layout_pattern`, `complexity`, `features`
- `[tool.flet]`: `org`, `company`, `copyright`
- Add `[tool.flet].platforms` only when the example is platform-limited.
- Add `[tool.flet.gallery].platforms` only when the example is platform-limited.
- Add permissions blocks only when code actually needs them.

4. Infer metadata.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ dependencies = ["flet"]
[dependency-groups]
dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
platforms = ["web"]

[tool.flet.metadata]
title = "GitHub login in same page"
controls = ["SafeArea", "Column", "Button", "Text", "GitHubOAuthProvider", "UrlLauncher"]
Expand All @@ -21,4 +24,3 @@ features = ["oauth login", "same-tab redirect"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
platforms = ["web"]
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ dependencies = ["flet", "httpx"]
[dependency-groups]
dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
platforms = ["web"]

[tool.flet.metadata]
title = "GitHub repos browser"
controls = ["SafeArea", "Column", "Row", "Text", "Button", "ListView", "ListTile", "GitHubOAuthProvider"]
Expand All @@ -21,4 +24,3 @@ features = ["oauth login", "saved token restore", "github api request"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
platforms = ["web"]
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Declarative", "Navigation/Routing", "Featured"]
platforms = ["web"]
screenshots = ["packages/flet/integration_tests/examples/apps/golden/macos/declarative_routing_two_pages/declarative_routing_two_pages.png"]

[tool.flet.metadata]
Expand All @@ -22,7 +23,6 @@ complexity = "intermediate"
features = ["routing", "context", "theme switching"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Active links"
Expand All @@ -21,7 +22,6 @@ complexity = "basic"
features = ["is_route_active", "active link styling", "use_route_outlet"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
2 changes: 1 addition & 1 deletion sdk/python/examples/apps/router/app_drawer/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "App settings drawer"
Expand All @@ -21,7 +22,6 @@ complexity = "intermediate"
features = ["manage_views", "outlet", "nested routes", "NavigationDrawer", "deep linking", "is_route_active"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
2 changes: 1 addition & 1 deletion sdk/python/examples/apps/router/auth_dialog/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Auth dialog"
Expand All @@ -21,7 +22,6 @@ complexity = "intermediate"
features = ["auth guard", "modal dialog", "context", "observable state", "use_effect"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
2 changes: 1 addition & 1 deletion sdk/python/examples/apps/router/auth_page/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Auth page redirect"
Expand All @@ -21,7 +22,6 @@ complexity = "intermediate"
features = ["auth guard", "route redirect", "context", "observable state"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Dynamic segments"
Expand All @@ -21,7 +22,6 @@ complexity = "basic"
features = ["dynamic segments", "use_route_params", "nested params"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
2 changes: 1 addition & 1 deletion sdk/python/examples/apps/router/featured/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router", "Featured"]
platforms = ["web"]
screenshots = ["packages/flet/integration_tests/examples/apps/golden/macos/router/featured_logged_in.png"]

[tool.flet.metadata]
Expand All @@ -22,7 +23,6 @@ complexity = "advanced"
features = ["nested routes", "layout outlet", "auth guard", "route loaders", "active links", "dynamic segments", "context", "observable state"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Managed views — full app with NavigationRail"
Expand All @@ -22,7 +23,6 @@ complexity = "intermediate"
features = ["manage_views", "outlet", "nested routes", "view stack", "back navigation", "tabs", "is_route_active"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Index routes"
Expand All @@ -21,7 +22,6 @@ complexity = "basic"
features = ["index routes", "default child routes"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Layout outlet"
Expand All @@ -21,7 +22,6 @@ complexity = "basic"
features = ["layout routes", "use_route_outlet", "shared layout"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
2 changes: 1 addition & 1 deletion sdk/python/examples/apps/router/loaders/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Route loaders"
Expand All @@ -21,7 +22,6 @@ complexity = "intermediate"
features = ["route loaders", "use_route_loader_data", "use_route_params"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Modal routes"
Expand All @@ -23,7 +24,6 @@ complexity = "intermediate"
features = ["modal routes", "fullscreen_dialog", "manage_views", "global modal", "local modal"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Managed views — shared layout with outlet"
Expand All @@ -22,7 +23,6 @@ complexity = "intermediate"
features = ["nested routes", "outlet", "manage_views", "view stack", "back navigation"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Managed views — nested routes"
Expand All @@ -22,7 +23,6 @@ complexity = "basic"
features = ["nested routes", "dynamic segments", "use_route_params"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Prefix routes"
Expand All @@ -21,7 +22,6 @@ complexity = "basic"
features = ["pathless layouts", "path-only grouping", "use_route_outlet"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Recursive routes"
Expand All @@ -22,7 +23,6 @@ complexity = "intermediate"
features = ["recursive routes", "use_view_path", "manage_views", "tree URLs"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
2 changes: 1 addition & 1 deletion sdk/python/examples/apps/router/routing/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Routing"
Expand All @@ -21,7 +22,6 @@ complexity = "basic"
features = ["flat routes", "navigation"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Runtime routes"
Expand All @@ -21,7 +22,6 @@ complexity = "intermediate"
features = ["dynamic routes", "use_state", "add routes", "remove routes"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
2 changes: 1 addition & 1 deletion sdk/python/examples/apps/router/splats/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Router"]
platforms = ["web"]

[tool.flet.metadata]
title = "Splat routes"
Expand All @@ -21,7 +22,6 @@ complexity = "basic"
features = ["catch-all routes", "splat segments", "use_route_params"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Routing"]
platforms = ["web"]

[tool.flet.metadata]
title = "Building views on route change"
Expand All @@ -21,7 +22,6 @@ complexity = "basic"
features = ["routing", "nested routes", "back navigation"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ dev = ["flet-cli", "flet-desktop", "flet-web"]

[tool.flet.gallery]
categories = ["Navigation/Routing"]
platforms = ["web"]

[tool.flet.metadata]
title = "Drawer navigation"
Expand All @@ -21,7 +22,6 @@ complexity = "basic"
features = ["routing", "drawer navigation", "back navigation"]

[tool.flet]
platforms = ["web"]
org = "dev.flet"
company = "Flet"
copyright = "Copyright (C) 2023-2026 by Flet"
Loading
Loading