architecture-feature-first

Structure Flutter applications with layered, feature-first file organization.

Updated Jun 30, 2025
One-click install
npx skills add https://github.com/hnvcam/teno_mindmap --skill architecture-feature-first-hnvcam
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture-feature-first
Source: https://github.com/hnvcam/teno_mindmap/tree/main/.qwen/skills/architecture-feature-first
Command: npx skills add https://github.com/hnvcam/teno_mindmap --skill architecture-feature-first-hnvcam

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a robust and scalable architectural pattern for Flutter applications, ensuring maintainability and ease of development by organizing code logically around features and layers.

Core Features & Use Cases

  • Layered Architecture: Enforces separation of concerns with UI, Logic (optional), and Data layers.
  • Feature-First Organization: Groups all code related to a specific feature within a single directory.
  • State Management Agnostic: Compatible with various state management solutions like BLoC, Provider, Riverpod, etc.
  • Use Case: When starting a new Flutter project or adding a new feature like user authentication or a product catalog, use this skill to establish the foundational file and folder structure.

Quick Start

Use the architecture-feature-first skill to set up a new feature directory for user profiles.

Frequently Asked Questions about architecture-feature-first

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a Flutter app using feature-first architecture?

Feature-first architecture structures a Flutter app by grouping all related code—UI, logic, and data—within a single directory for each feature. This layered approach enforces separation of concerns and ensures maintainability as your project scales.

Does this feature-first architecture work with Riverpod and Provider?

Yes, the feature-first architecture is state management agnostic. It is fully compatible with various state management solutions, including Riverpod, Provider, and BLoC, allowing you to implement view models using your preferred library.

What is the best way to organize repositories and services in Flutter?

The best way to organize repositories and services in Flutter is through a layered architecture. This pattern separates the data layer (repositories and services) from the UI layer, guiding the implementation of data management within distinct feature directories.

How do I add a new feature to an existing Flutter project structure?

To add a new feature, you create a new dedicated directory that encapsulates its UI, logic, and data layers. This feature-first organization isolates the new functionality, maintaining separation of concerns and keeping the codebase scalable.

When should I use a layered architecture for my Flutter application?

You should use a layered architecture when starting a new Flutter project or adding complex features like user authentication. It establishes a foundational file and folder structure that separates UI, logic, and data, preventing code entanglement as the app grows.

Do I need dependency injection for feature-first Flutter development?

Feature-first Flutter development supports dependency injection to manage the data layer and view models. While not strictly mandated, using dependency injection within this layered structure enhances separation of concerns and makes your features more testable.