Template
π Description
Display template information and directory structure. The template command provides comprehensive information about available Gexd templates, their architecture patterns, directory structures, and usage recommendations to help you make informed decisions for your Flutter projects.
βοΈ Usage
gexd info template [template_name] [options]π Detailed Usage
Display template information and structure
Usage: gexd info template [template_name] [options]
Arguments:
<template_name> Template to display (getx, clean)
[Optional: Shows all templates if not specified]
Options:
--full Show full directory structure including optional components
Examples:
gexd info template # List all available templates
gexd info template clean # Show clean template details
gexd info template clean --full # Show full directory structure
gexd info template getx --full # Show GetX template with full structureπ― Key Features
π Template Overview
Complete Template List: Display all available architecture templates
Detailed Descriptions: Comprehensive explanation of each template's approach
Best Use Cases: Recommended scenarios and project types
Key Features: Architecture-specific capabilities and benefits
π Directory Structure
Basic Structure: Essential directories and organization
Full Structure: Complete directory tree with optional components
Visual Tree: Beautiful ASCII tree representation
Component Descriptions: Explanation of each directory's purpose
ποΈ Architecture Information
Design Principles: Underlying architectural patterns
Organization Strategy: How code is structured and organized
Development Workflow: Recommended development approaches
Best Practices: Template-specific conventions and guidelines
π Usage Modes
1οΈβ£ List All Templates
Output:
2οΈβ£ Template Details (Basic)
Output:
3οΈβ£ Complete Structure (Full)
Shows the complete directory tree with all optional components and detailed descriptions.
ποΈ Template Comparison
π GetX Template
π― Architecture Overview
Pattern: Feature-based modular architecture
State Management: GetX reactive programming
Organization: Module-centric structure
Dependencies: Built-in GetX ecosystem
β¨ Key Strengths
Rapid Development: Minimal boilerplate, quick setup
Reactive Programming: Built-in state management and reactivity
Integrated Ecosystem: Routing, dependency injection, internationalization
Learning Curve: Gentle for developers familiar with GetX
π― Best For
Medium to Large Apps: Suitable for complex applications
Rapid Prototyping: Quick MVP development
GetX Enthusiasts: Teams comfortable with GetX patterns
Feature-Rich Apps: Applications requiring extensive functionality
π Directory Highlights
ποΈ Clean Architecture Template
π― Architecture Overview
Pattern: Layered architecture with dependency inversion
State Management: Framework-agnostic (can use any)
Organization: Layer-centric structure
Dependencies: Minimal, focused on business logic
β¨ Key Strengths
High Testability: Clear separation enables comprehensive testing
Framework Independence: Business logic isolated from UI framework
Scalability: Designed for large, complex applications
Maintainability: Clear boundaries and dependencies
π― Best For
Enterprise Applications: Large-scale business applications
Complex Business Logic: Applications with intricate rules
Long-term Projects: Applications requiring long-term maintenance
Team Development: Large development teams with clear responsibilities
π Directory Highlights
π Directory Structure Analysis
π Component Categories
ποΈ Core Components (Both Templates)
core/: Fundamental application infrastructureshared/: Reusable components across featuresassets/: Static resources and files
π Data Management
GetX:
lib/app/data/with models, services, providersClean:
lib/infrastructure/with repositories, datasources
π¨ Presentation Layer
GetX:
lib/app/modules/with feature-based organizationClean:
lib/presentation/with layered organization
π§ Business Logic
GetX: Embedded within modules and services
Clean: Isolated in
lib/domain/layer
π§ Optional Components (Shown with --full)
Middleware: Request/response processing
Extensions: Dart type extensions
Exceptions: Custom error handling
Interfaces: Contract definitions
Utils: Helper functions and utilities
π‘ Making Template Decisions
π€ Decision Framework
Choose GetX Template When:
β Rapid development is prioritized
β Team is familiar with GetX ecosystem
β Building medium to large applications
β Want integrated state management solution
β Prefer feature-based organization
Choose Clean Architecture When:
β Building enterprise-grade applications
β Complex business logic requirements
β High testability is critical
β Framework independence is important
β Large development team with specialized roles
π Comparison Matrix
Learning Curve
Moderate
Steep
Development Speed
Fast
Moderate
Testability
Good
Excellent
Scalability
Good
Excellent
Framework Coupling
High (GetX)
Low
Boilerplate
Low
Moderate
Team Size
Small-Medium
Medium-Large
Business Complexity
Moderate
High
π Real-World Usage Examples
π Template Research
π Team Education
ποΈ Project Planning
π Documentation Generation
π¨ Advanced Usage Patterns
π¬ Architecture Analysis
π Project Setup Workflow
π§ Development Integration
π Structure Output Formats
π³ Tree Structure Format
π Component Descriptions
Each directory includes:
π Icon: Visual identification
Name: Directory/file name
# Comment: Purpose and usage description
π― Organizational Logic
Hierarchical: Shows parent-child relationships
Categorized: Groups related components
Descriptive: Explains purpose of each component
Visual: Easy to scan and understand
β Troubleshooting
Common Issues
β "Unknown template: template_name"
β Command not displaying properly
β Structure seems incomplete
π§ Advanced Troubleshooting
Template Updates
Comparison Issues
π Related Commands
π Project Creation
gexd create- Create new project with chosen templategexd init- Initialize existing project with template
π§ Project Management
gexd info config- Check current project templategexd upgrade- Update project to latest template
π οΈ Development
gexd make- Generate components following template structuregexd locale generate- Add internationalization
π Further Reading
ποΈ Architecture Guides
π Best Practices
Generated automatically by gexd_doc
Last updated