🚀 STMR Flutter CLI - VSCode Extension

Integração completa do STMR CLI para desenvolvimento Flutter com MVC/MVVM + Clean Architecture diretamente no VSCode!
✨ Características
- 🎯 Integração Nativa: Comandos STMR diretamente no Command Palette
- 🏗️ MVC/MVVM + Clean Architecture: Estruturas organizadas seguindo melhores práticas
- 🚀 Auto-instalação: Instala automaticamente o STMR CLI se necessário
- 📱 Flutter Focused: Otimizado para desenvolvimento Flutter/Dart
- 🎨 Interface Intuitiva: Formulários integrados para entrada de dados
- ⚡ Produtividade: Acelere seu desenvolvimento com templates prontos
🛠️ Comandos Disponíveis
🎨 Criação de Projetos
- STMR: Criar Projeto - Cria um novo projeto Flutter com arquitetura limpa
🏗️ Estruturas de Código
- STMR: Criar Módulo/Feature - Gera módulos completos com MVC/MVVM + Clean Architecture
- STMR: Gerar Page - Cria páginas na camada de presentation com controllers
- STMR: Gerar Controller - Gera controllers com lógica de negócio e binding
- STMR: Gerar Repository - Cria camada de dados com DTOs organizados
- STMR: Gerar DTO - Gera Request/Response DTOs com serialização JSON
🚀 Como Usar
Via Command Palette
- Pressione
Ctrl+Shift+P
(ou Cmd+Shift+P
no Mac)
- Digite "STMR" para ver todos os comandos disponíveis
- Selecione o comando desejado
- Preencha os campos solicitados
- Aguarde a execução!
- Clique com o botão direito em qualquer pasta no Explorer
- Selecione "STMR CLI" no menu contextual
- Escolha a operação desejada
- Preencha o formulário
- Execute!
📋 Pré-requisitos
- VSCode: Versão 1.74.0 ou superior
- Node.js: Para instalação automática do STMR CLI
- Flutter: SDK Flutter instalado (para projetos Flutter)
💡 Nota: O plugin instala automaticamente o STMR CLI se não estiver presente no sistema!
🎯 Funcionalidades Avançadas
✅ Instalação Automática
O plugin verifica automaticamente se o STMR CLI está instalado e oferece instalação automática se necessário.
✅ Validação Inteligente
- Validação de nomes de projetos e módulos
- Verificação de estruturas existentes
- Prevenção de conflitos de nomenclatura
✅ Feedback Visual
- Indicadores de progresso durante execução
- Output detalhado em canal dedicado
- Mensagens de erro claras e acionáveis
✅ Integração Completa
- Atualização automática do Explorer após criação
- Suporte a workspaces múltiplos
- Compatibilidade com temas do VSCode
🏗️ Arquitetura Gerada
O STMR CLI gera estruturas tendo como referência MVC / MVVM e Clean Architecture com:
📁 Estrutura de Módulo Simples
lib/
├── app/
│ └── modules/
│ └── auth/
│ ├── presentations/
│ │ ├── controllers/
│ │ │ └── auth_controller.dart
│ │ └── pages/
│ │ └── auth_page.dart
│ ├── repositories/
│ │ ├── auth_repository.dart
│ │ └── dtos/
│ │ ├── requests/
│ │ │ └── auth_request.dart
│ │ └── responses/
│ │ └── auth_response.dart
│ ├── auth_routes.dart
│ ├── auth_bindings.dart
│ └── auth_constants.dart
lib/
├── app/
│ └── modules/
│ └── auth/
│ └── features/
│ ├── login/
│ │ ├── presentations/
│ │ │ ├── controllers/
│ │ │ │ └── login_controller.dart
│ │ │ └── pages/
│ │ │ └── login_page.dart
│ │ ├── repositories/
│ │ │ ├── login_repository.dart
│ │ │ └── dtos/
│ │ │ ├── requests/
│ │ │ │ └── login_request.dart
│ │ │ └── responses/
│ │ │ └── login_response.dart
│ │ ├── login_routes.dart
│ │ ├── login_bindings.dart
│ │ └── login_constants.dart
│ ├── recovery_password/
│ │ ├── presentations/
│ │ │ ├── controllers/
│ │ │ │ └── recovery_controller.dart
│ │ │ └── pages/
│ │ │ └── recovery_page.dart
│ │ ├── repositories/
│ │ │ ├── recovery_repository.dart
│ │ │ └── dtos/
│ │ │ ├── requests/
│ │ │ │ └── recovery_request.dart
│ │ │ └── responses/
│ │ │ └── recovery_response.dart
│ │ ├── recovery_routes.dart
│ │ ├── recovery_bindings.dart
│ │ └── recovery_constants.dart
│ └── create_account/
│ ├── presentations/
│ │ ├── controllers/
│ │ │ └── create_account_controller.dart
│ │ └── pages/
│ │ └── create_account_page.dart
│ ├── repositories/
│ │ ├── create_account_repository.dart
│ │ └── dtos/
│ │ ├── requests/
│ │ │ └── create_account_request.dart
│ │ └── responses/
│ │ └── create_account_response.dart
│ ├── create_account_routes.dart
│ ├── create_account_bindings.dart
│ └── create_account_constants.dart
🎯 Camadas da Arquitetura
- Presentations: Controllers e Pages (UI/UX)
- Repositories: Camada de dados e APIs
- DTOs: Data Transfer Objects (Requests/Responses)
- Routes: Configuração de rotas do módulo
- Bindings: Injeção de dependências (GetX)
- Constants: Constantes e configurações do módulo
📋 Quando Usar Cada Estrutura
- Módulo Simples: Para funcionalidades únicas (ex:
modules/auth/
)
- Múltiplas Features: Para módulos complexos com várias funcionalidades relacionadas (ex:
modules/auth/features/login/
, modules/auth/features/recovery_password/
, modules/auth/features/create_account/
)
🔧 Configuração
Não é necessária configuração adicional! O plugin funciona imediatamente após a instalação.
Configurações Opcionais
Você pode personalizar o comportamento através das configurações do VSCode:
{
"stmr.autoInstall": true,
"stmr.showProgress": true,
"stmr.outputLevel": "detailed"
}
🤝 Contribuindo
Contribuições são bem-vindas! Veja nosso repositório no GitHub para mais informações.
📝 Changelog
0.0.1 (Inicial)
- ✅ Implementação de todos os comandos STMR
- ✅ Interface integrada com VSCode
- ✅ Instalação automática do CLI
- ✅ Menu contextual no Explorer
- ✅ Sistema de validação e feedback
🐛 Reportar Problemas
Encontrou um bug? Abra uma issue no nosso repositório.
📄 Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
🔗 Links Úteis
Desenvolvido com ❤️ para a comunidade Flutter
Acelere seu desenvolvimento Flutter com STMR CLI + VSCode!