flutter/flutter-routing-and-navigation

Navegue entre diferentes telas ou crie deep links para rotas em um aplicativo Flutter.

O que é flutter-routing-and-navigation?

Esta skill permite que um agente de IA (como Claude Code, Cursor ou Codex) gerencie a navegação e o roteamento em aplicativos Flutter. Ela facilita a movimentação entre telas, a criação de deep links para rotas específicas e a implementação de padrões de navegação comuns. Suporta tanto a navegação imperativa (push/pop) quanto a declarativa, utilizando o Navigator 2.0 e pacotes como go_router, auto_route ou beamer. É útil para desenvolvedores que desejam automatizar a criação de fluxos de navegação, configurar deep linking para notificações ou links externos, e estruturar a navegação de forma escalável e modular.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/flutter/skills/tree/main/skills/flutter-routing-and-navigation

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que flutter-routing-and-navigation faz?

Navegue entre diferentes telas ou crie deep links para rotas em um aplicativo Flutter.

Descrição

Esta skill permite que um agente de IA gerencie a navegação e o roteamento em aplicativos Flutter de forma eficiente. Ela suporta a movimentação entre telas, a criação de deep links para rotas específicas e a implementação de padrões de navegação comuns, tanto imperativos quanto declarativos.

Funcionalidades

  • Navegação básica: Push, pop, e substituição de rotas usando o Navigator padrão.
  • Navegação declarativa: Suporte ao Navigator 2.0 com pacotes populares como go_router, auto_route ou beamer.
  • Deep linking: Configuração de deep links para aceitar URLs externas e notificações push.
  • Gerenciamento de estado: Integração com soluções de estado como Provider, Riverpod, Bloc, entre outros.

Como usar

Navegação imperativa

// Exemplo de push para uma nova tela
Navigator.push(
  context,
  MaterialPageRoute(builder: (context) => SegundaTela()),
);

Navegação com GoRouter

// Configuração do GoRouter
final router = GoRouter(
  routes: [
    GoRoute(
      path: '/',
      builder: (context, state) => HomeScreen(),
      routes: [
        GoRoute(
          path: 'detalhes',
          builder: (context, state) => DetalhesScreen(),
        ),
      ],
    ),
  ],
);

Deep linking

Configure deep links no MaterialApp:

MaterialApp.router(
  routerConfig: router,
  // ...
);

Para aceitar deep links externos, configure os esquemas de URL no AndroidManifest.xml e Info.plist.

Observações

  • A skill não substitui a necessidade de configurações específicas de plataforma para deep linking.
  • Certifique-se de que o roteador escolhido seja compatível com a versão do Flutter sendo usada.

Recursos adicionais


Esta skill foi gerada para auxiliar agentes de IA no desenvolvimento de aplicativos Flutter.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

flutter/flutter-accessibility

Configure your Flutter app to support assistive technologies like Screen Readers

flutter/flutter-accessibility-audit

Triggers an accessibility scan through the widget_inspector and automatically adds Semantics widgets or missing labels to the source code.

flutter/flutter-adding-home-screen-widgets

Adds home screen widgets to a Flutter app for Android and iOS. Use when providing glanceable app information or quick actions on the device home screen.

flutter/flutter-add-integration-test

Configures Flutter Driver for app interaction and converts MCP actions into permanent integration tests. Use when adding integration testing to a project, exploring UI components via MCP, or automating user flows with the integration_test package.

flutter/flutter-add-widget-preview

Adds interactive widget previews to the project using the previews.dart system. Use when creating new UI components or updating existing screens to ensure consistent design and interactive testing.

flutter/flutter-add-widget-test

Implement a component-level test using `WidgetTester` to verify UI rendering and user interactions (tapping, scrolling, entering text). Use when validating that a specific widget displays correct data and responds to events as expected.

flutter/flutter-animating-apps

Implements animated effects, transitions, and motion in a Flutter app. Use when adding visual feedback, shared element transitions, or physics-based animations.

flutter/flutter-animation

Add animated effects to your Flutter app

flutter/flutter-apply-architecture-best-practices

Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.

flutter/flutter-app-size

Measure and reduce the size of the Flutter app bundle, APK, or IPA

flutter/flutter-architecting-apps

Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.

flutter/flutter-architecture

Use the Flutter team's recommended app architecture

flutter/flutter-building-forms

Builds Flutter forms with validation and user input handling. Use when creating login screens, data entry forms, or any multi-field user input.

flutter/flutter-building-layouts

Builds Flutter layouts using the constraint system and layout widgets. Use when creating or refining the UI structure of a Flutter application.

flutter/flutter-building-plugins

Builds Flutter plugins that provide native interop for other apps to use. Use when creating reusable packages that bridge Flutter with platform-specific functionality.

flutter/flutter-build-responsive-layout

Use `LayoutBuilder`, `MediaQuery`, or `Expanded/Flexible` to create a layout that adapts to different screen sizes. Use when you need the UI to look good on both mobile and tablet/desktop form factors.

flutter/flutter-caching

Cache data in a Flutter app

flutter/flutter-caching-data

Implements caching strategies for Flutter apps to improve performance and offline support. Use when retaining app data locally to reduce network requests or speed up startup.

flutter/flutter-concurrency

Execute long-running tasks in a background thread in Flutter

flutter/flutter-databases

Work with databases in a Flutter app

Habilidades Relacionadas