@maestro-ai/cli 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -0
- package/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +119 -0
- package/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +147 -0
- package/content/guides/Checklist Mestre de Entrega.md +68 -0
- package/content/guides/Gates de Qualidade.md +209 -0
- package/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +355 -0
- package/content/guides/Guia de Chaos Engineering.md +267 -0
- package/content/guides/Guia de Debugging com IA.md +135 -0
- package/content/guides/Guia de Estrat/303/251gias de Cache.md" +352 -0
- package/content/guides/Guia de Migrations Zero-Downtime.md +311 -0
- package/content/guides/Guia de Multi-tenancy.md +368 -0
- package/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +195 -0
- package/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +162 -0
- package/content/guides/Guia de SLOs e Error Budgets.md +315 -0
- package/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +93 -0
- package/content/guides/Rules base.md +90 -0
- package/content/prompts/README.md +203 -0
- package/content/prompts/acessibilidade/analise-acessibilidade.md +257 -0
- package/content/prompts/apis/design-api-rest.md +303 -0
- package/content/prompts/apis/idempotencia.md +254 -0
- package/content/prompts/apis/versionamento.md +313 -0
- package/content/prompts/arquitetura/arquitetura-c4-completo.md +190 -0
- package/content/prompts/arquitetura/clean-architecture.md +151 -0
- package/content/prompts/arquitetura/ddd-bounded-contexts.md +183 -0
- package/content/prompts/arquitetura/ddd-cqrs.md +176 -0
- package/content/prompts/arquitetura/modelo-dominio.md +207 -0
- package/content/prompts/arquitetura/multi-tenancy.md +235 -0
- package/content/prompts/database/migrations-zero-downtime.md +192 -0
- package/content/prompts/database/otimizacao-queries.md +296 -0
- package/content/prompts/desenvolvimento/code-review.md +301 -0
- package/content/prompts/desenvolvimento/gerar-servico.md +271 -0
- package/content/prompts/devops/docker-compose.md +336 -0
- package/content/prompts/devops/feature-flags.md +374 -0
- package/content/prompts/devops/kubernetes-deploy.md +460 -0
- package/content/prompts/devops/pipeline-cicd.md +358 -0
- package/content/prompts/devops/terraform-iac.md +502 -0
- package/content/prompts/escalabilidade/analise-performance.md +240 -0
- package/content/prompts/escalabilidade/analise-performance.txt +94 -0
- package/content/prompts/escalabilidade/caching.md +255 -0
- package/content/prompts/observabilidade/chaos-testing.md +237 -0
- package/content/prompts/observabilidade/estrategia-observabilidade.md +263 -0
- package/content/prompts/observabilidade/estrategia-observabilidade.txt +134 -0
- package/content/prompts/observabilidade/slos.md +215 -0
- package/content/prompts/produto/discovery-inicial.md +203 -0
- package/content/prompts/produto/discovery-inicial.txt +33 -0
- package/content/prompts/requisitos/refinar-requisitos.md +232 -0
- package/content/prompts/requisitos/refinar-requisitos.txt +40 -0
- package/content/prompts/seguranca/analise-seguranca.md +243 -0
- package/content/prompts/seguranca/pentest-checklist.md +333 -0
- package/content/prompts/seguranca/rate-limiting.md +356 -0
- package/content/prompts/seguranca/revisao-lgpd.md +227 -0
- package/content/prompts/seguranca/threat-modeling.md +224 -0
- package/content/prompts/testes/contract-testing.md +340 -0
- package/content/prompts/testes/gerar-testes-unitarios.md +474 -0
- package/content/prompts/testes/testes-e2e.md +460 -0
- package/content/prompts/testes/testes-integracao.md +418 -0
- package/content/prompts/testes/testes-performance.md +458 -0
- package/content/prompts/ux/gerar-ui-stitch.md +151 -0
- package/content/skills/api-patterns/SKILL.md +81 -0
- package/content/skills/api-patterns/api-style.md +42 -0
- package/content/skills/api-patterns/auth.md +24 -0
- package/content/skills/api-patterns/documentation.md +26 -0
- package/content/skills/api-patterns/graphql.md +41 -0
- package/content/skills/api-patterns/rate-limiting.md +31 -0
- package/content/skills/api-patterns/response.md +37 -0
- package/content/skills/api-patterns/rest.md +40 -0
- package/content/skills/api-patterns/scripts/api_validator.py +211 -0
- package/content/skills/api-patterns/security-testing.md +122 -0
- package/content/skills/api-patterns/trpc.md +41 -0
- package/content/skills/api-patterns/versioning.md +22 -0
- package/content/skills/app-builder/SKILL.md +75 -0
- package/content/skills/app-builder/agent-coordination.md +71 -0
- package/content/skills/app-builder/feature-building.md +53 -0
- package/content/skills/app-builder/project-detection.md +34 -0
- package/content/skills/app-builder/scaffolding.md +118 -0
- package/content/skills/app-builder/tech-stack.md +40 -0
- package/content/skills/app-builder/templates/SKILL.md +39 -0
- package/content/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/content/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/content/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/content/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/content/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/content/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/content/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/content/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/content/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/content/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/content/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/content/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/content/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/content/skills/architecture/SKILL.md +55 -0
- package/content/skills/architecture/context-discovery.md +43 -0
- package/content/skills/architecture/examples.md +94 -0
- package/content/skills/architecture/pattern-selection.md +68 -0
- package/content/skills/architecture/patterns-reference.md +50 -0
- package/content/skills/architecture/trade-off-analysis.md +77 -0
- package/content/skills/bash-linux/SKILL.md +199 -0
- package/content/skills/behavioral-modes/SKILL.md +242 -0
- package/content/skills/brainstorming/SKILL.md +163 -0
- package/content/skills/brainstorming/dynamic-questioning.md +350 -0
- package/content/skills/clean-code/SKILL.md +201 -0
- package/content/skills/code-review-checklist/SKILL.md +109 -0
- package/content/skills/database-design/SKILL.md +52 -0
- package/content/skills/database-design/database-selection.md +43 -0
- package/content/skills/database-design/indexing.md +39 -0
- package/content/skills/database-design/migrations.md +48 -0
- package/content/skills/database-design/optimization.md +36 -0
- package/content/skills/database-design/orm-selection.md +30 -0
- package/content/skills/database-design/schema-design.md +56 -0
- package/content/skills/database-design/scripts/schema_validator.py +172 -0
- package/content/skills/deployment-procedures/SKILL.md +241 -0
- package/content/skills/doc.md +177 -0
- package/content/skills/documentation-templates/SKILL.md +194 -0
- package/content/skills/frontend-design/SKILL.md +396 -0
- package/content/skills/frontend-design/animation-guide.md +331 -0
- package/content/skills/frontend-design/color-system.md +311 -0
- package/content/skills/frontend-design/decision-trees.md +418 -0
- package/content/skills/frontend-design/motion-graphics.md +306 -0
- package/content/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/content/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/content/skills/frontend-design/typography-system.md +345 -0
- package/content/skills/frontend-design/ux-psychology.md +541 -0
- package/content/skills/frontend-design/visual-effects.md +383 -0
- package/content/skills/game-development/2d-games/SKILL.md +119 -0
- package/content/skills/game-development/3d-games/SKILL.md +135 -0
- package/content/skills/game-development/SKILL.md +167 -0
- package/content/skills/game-development/game-art/SKILL.md +185 -0
- package/content/skills/game-development/game-audio/SKILL.md +190 -0
- package/content/skills/game-development/game-design/SKILL.md +129 -0
- package/content/skills/game-development/mobile-games/SKILL.md +108 -0
- package/content/skills/game-development/multiplayer/SKILL.md +132 -0
- package/content/skills/game-development/pc-games/SKILL.md +144 -0
- package/content/skills/game-development/vr-ar/SKILL.md +123 -0
- package/content/skills/game-development/web-games/SKILL.md +150 -0
- package/content/skills/geo-fundamentals/SKILL.md +156 -0
- package/content/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/content/skills/i18n-localization/SKILL.md +154 -0
- package/content/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/content/skills/intelligent-routing/SKILL.md +334 -0
- package/content/skills/lint-and-validate/SKILL.md +45 -0
- package/content/skills/lint-and-validate/scripts/lint_runner.py +172 -0
- package/content/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/content/skills/mcp-builder/SKILL.md +176 -0
- package/content/skills/mobile-design/SKILL.md +394 -0
- package/content/skills/mobile-design/decision-trees.md +516 -0
- package/content/skills/mobile-design/mobile-backend.md +491 -0
- package/content/skills/mobile-design/mobile-color-system.md +420 -0
- package/content/skills/mobile-design/mobile-debugging.md +122 -0
- package/content/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/content/skills/mobile-design/mobile-navigation.md +458 -0
- package/content/skills/mobile-design/mobile-performance.md +767 -0
- package/content/skills/mobile-design/mobile-testing.md +356 -0
- package/content/skills/mobile-design/mobile-typography.md +433 -0
- package/content/skills/mobile-design/platform-android.md +666 -0
- package/content/skills/mobile-design/platform-ios.md +561 -0
- package/content/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/content/skills/mobile-design/touch-psychology.md +537 -0
- package/content/skills/nextjs-best-practices/SKILL.md +203 -0
- package/content/skills/nodejs-best-practices/SKILL.md +333 -0
- package/content/skills/parallel-agents/SKILL.md +175 -0
- package/content/skills/performance-profiling/SKILL.md +143 -0
- package/content/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/content/skills/plan-writing/SKILL.md +152 -0
- package/content/skills/powershell-windows/SKILL.md +167 -0
- package/content/skills/python-patterns/SKILL.md +441 -0
- package/content/skills/react-patterns/SKILL.md +198 -0
- package/content/skills/red-team-tactics/SKILL.md +199 -0
- package/content/skills/seo-fundamentals/SKILL.md +129 -0
- package/content/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/content/skills/server-management/SKILL.md +161 -0
- package/content/skills/systematic-debugging/SKILL.md +109 -0
- package/content/skills/tailwind-patterns/SKILL.md +269 -0
- package/content/skills/tdd-workflow/SKILL.md +149 -0
- package/content/skills/testing-patterns/SKILL.md +178 -0
- package/content/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/content/skills/vulnerability-scanner/SKILL.md +276 -0
- package/content/skills/vulnerability-scanner/checklists.md +121 -0
- package/content/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/content/skills/webapp-testing/SKILL.md +187 -0
- package/content/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/content/specialists/Especialista em Acessibilidade.md +266 -0
- package/content/specialists/Especialista em An/303/241lise de Testes.md" +434 -0
- package/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +358 -0
- package/content/specialists/Especialista em Arquitetura de Software.md +177 -0
- package/content/specialists/Especialista em Banco de Dados.md +260 -0
- package/content/specialists/Especialista em Contrato de API.md +172 -0
- package/content/specialists/Especialista em Dados e Analytics com IA.md +246 -0
- package/content/specialists/Especialista em Debugging e Troubleshooting.md +191 -0
- package/content/specialists/Especialista em Desenvolvimento Frontend.md +477 -0
- package/content/specialists/Especialista em Desenvolvimento Mobile.md +241 -0
- package/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +417 -0
- package/content/specialists/Especialista em DevOps e Infraestrutura.md +294 -0
- package/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +227 -0
- package/content/specialists/Especialista em Engenharia de Requisitos com IA.md +299 -0
- package/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +179 -0
- package/content/specialists/Especialista em Gest/303/243o de Produto.md" +179 -0
- package/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +410 -0
- package/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +248 -0
- package/content/specialists/Especialista em Observabilidade.md +415 -0
- package/content/specialists/Especialista em Performance e Escalabilidade.md +373 -0
- package/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +341 -0
- package/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +419 -0
- package/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +508 -0
- package/content/specialists/Especialista em UX Design.md +453 -0
- package/content/specialists/INDEX.md +43 -0
- package/content/templates/PRD.md +165 -0
- package/content/templates/README.md +65 -0
- package/content/templates/adr.md +103 -0
- package/content/templates/arquitetura.md +279 -0
- package/content/templates/backlog.md +185 -0
- package/content/templates/checklist-seguranca.md +180 -0
- package/content/templates/contexto.md +120 -0
- package/content/templates/criterios-aceite.md +99 -0
- package/content/templates/design-banco.md +270 -0
- package/content/templates/design-doc.md +240 -0
- package/content/templates/feature.md +88 -0
- package/content/templates/historia-backend.md +84 -0
- package/content/templates/historia-frontend.md +75 -0
- package/content/templates/historia-usuario.md +125 -0
- package/content/templates/mapa-navegacao.md +133 -0
- package/content/templates/matriz-rastreabilidade.md +121 -0
- package/content/templates/modelo-dominio.md +219 -0
- package/content/templates/plano-testes.md +199 -0
- package/content/templates/prototipo-stitch.md +138 -0
- package/content/templates/requisitos.md +162 -0
- package/content/templates/slo-sli.md +197 -0
- package/content/workflows/README-MCP.md +363 -0
- package/content/workflows/brainstorm.md +113 -0
- package/content/workflows/create.md +59 -0
- package/content/workflows/debug.md +103 -0
- package/content/workflows/deploy.md +176 -0
- package/content/workflows/enhance.md +63 -0
- package/content/workflows/mcp-debug.md +506 -0
- package/content/workflows/mcp-feature.md +385 -0
- package/content/workflows/mcp-gate.md +413 -0
- package/content/workflows/mcp-next.md +388 -0
- package/content/workflows/mcp-refactor.md +600 -0
- package/content/workflows/mcp-start.md +304 -0
- package/content/workflows/mcp-status.md +400 -0
- package/content/workflows/orchestrate.md +237 -0
- package/content/workflows/plan.md +89 -0
- package/content/workflows/preview.md +81 -0
- package/content/workflows/status.md +86 -0
- package/content/workflows/test.md +144 -0
- package/content/workflows/ui-ux-pro-max.md +296 -0
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.js +138 -0
- package/dist/commands/update.d.ts +5 -0
- package/dist/commands/update.js +50 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +21 -0
- package/package.json +48 -0
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Plan and implement UI
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
description: AI-powered design intelligence with 50+ styles, 95+ color palettes, and automated design system generation
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# ui-ux-pro-max
|
|
10
|
+
|
|
11
|
+
Comprehensive design guide for web and mobile applications. Contains 50+ styles, 97 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types across 9 technology stacks. Searchable database with priority-based recommendations.
|
|
12
|
+
|
|
13
|
+
## Prerequisites
|
|
14
|
+
|
|
15
|
+
Check if Python is installed:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
python3 --version || python --version
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
If Python is not installed, install it based on user's OS:
|
|
22
|
+
|
|
23
|
+
**macOS:**
|
|
24
|
+
```bash
|
|
25
|
+
brew install python3
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Ubuntu/Debian:**
|
|
29
|
+
```bash
|
|
30
|
+
sudo apt update && sudo apt install python3
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Windows:**
|
|
34
|
+
```powershell
|
|
35
|
+
winget install Python.Python.3.12
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## How to Use This Workflow
|
|
41
|
+
|
|
42
|
+
When user requests UI/UX work (design, build, create, implement, review, fix, improve), follow this workflow:
|
|
43
|
+
|
|
44
|
+
### Step 1: Analyze User Requirements
|
|
45
|
+
|
|
46
|
+
Extract key information from user request:
|
|
47
|
+
- **Product type**: SaaS, e-commerce, portfolio, dashboard, landing page, etc.
|
|
48
|
+
- **Style keywords**: minimal, playful, professional, elegant, dark mode, etc.
|
|
49
|
+
- **Industry**: healthcare, fintech, gaming, education, etc.
|
|
50
|
+
- **Stack**: React, Vue, Next.js, or default to `html-tailwind`
|
|
51
|
+
|
|
52
|
+
### Step 2: Generate Design System (REQUIRED)
|
|
53
|
+
|
|
54
|
+
**Always start with `--design-system`** to get comprehensive recommendations with reasoning:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
This command:
|
|
61
|
+
1. Searches 5 domains in parallel (product, style, color, landing, typography)
|
|
62
|
+
2. Applies reasoning rules from `ui-reasoning.csv` to select best matches
|
|
63
|
+
3. Returns complete design system: pattern, style, colors, typography, effects
|
|
64
|
+
4. Includes anti-patterns to avoid
|
|
65
|
+
|
|
66
|
+
**Example:**
|
|
67
|
+
```bash
|
|
68
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "beauty spa wellness service" --design-system -p "Serenity Spa"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Step 2b: Persist Design System (Master + Overrides Pattern)
|
|
72
|
+
|
|
73
|
+
To save the design system for hierarchical retrieval across sessions, add `--persist`:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
This creates:
|
|
80
|
+
- `design-system/MASTER.md` — Global Source of Truth with all design rules
|
|
81
|
+
- `design-system/pages/` — Folder for page-specific overrides
|
|
82
|
+
|
|
83
|
+
**With page-specific override:**
|
|
84
|
+
```bash
|
|
85
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name" --page "dashboard"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
This also creates:
|
|
89
|
+
- `design-system/pages/dashboard.md` — Page-specific deviations from Master
|
|
90
|
+
|
|
91
|
+
**How hierarchical retrieval works:**
|
|
92
|
+
1. When building a specific page (e.g., "Checkout"), first check `design-system/pages/checkout.md`
|
|
93
|
+
2. If the page file exists, its rules **override** the Master file
|
|
94
|
+
3. If not, use `design-system/MASTER.md` exclusively
|
|
95
|
+
|
|
96
|
+
### Step 3: Supplement with Detailed Searches (as needed)
|
|
97
|
+
|
|
98
|
+
After getting the design system, use domain searches to get additional details:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<keyword>" --domain <domain> [-n <max_results>]
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**When to use detailed searches:**
|
|
105
|
+
|
|
106
|
+
| Need | Domain | Example |
|
|
107
|
+
|------|--------|---------|
|
|
108
|
+
| More style options | `style` | `--domain style "glassmorphism dark"` |
|
|
109
|
+
| Chart recommendations | `chart` | `--domain chart "real-time dashboard"` |
|
|
110
|
+
| UX best practices | `ux` | `--domain ux "animation accessibility"` |
|
|
111
|
+
| Alternative fonts | `typography` | `--domain typography "elegant luxury"` |
|
|
112
|
+
| Landing structure | `landing` | `--domain landing "hero social-proof"` |
|
|
113
|
+
|
|
114
|
+
### Step 4: Stack Guidelines (Default: html-tailwind)
|
|
115
|
+
|
|
116
|
+
Get implementation-specific best practices. If user doesn't specify a stack, **default to `html-tailwind`**.
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "<keyword>" --stack html-tailwind
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Available stacks: `html-tailwind`, `react`, `nextjs`, `vue`, `svelte`, `swiftui`, `react-native`, `flutter`, `shadcn`, `jetpack-compose`
|
|
123
|
+
, `jetpack-compose`
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Search Reference
|
|
127
|
+
|
|
128
|
+
### Available Domains
|
|
129
|
+
|
|
130
|
+
| Domain | Use For | Example Keywords |
|
|
131
|
+
|--------|---------|------------------|
|
|
132
|
+
| `product` | Product type recommendations | SaaS, e-commerce, portfolio, healthcare, beauty, service |
|
|
133
|
+
| `style` | UI styles, colors, effects | glassmorphism, minimalism, dark mode, brutalism |
|
|
134
|
+
| `typography` | Font pairings, Google Fonts | elegant, playful, professional, modern |
|
|
135
|
+
| `color` | Color palettes by product type | saas, ecommerce, healthcare, beauty, fintech, service |
|
|
136
|
+
| `landing` | Page structure, CTA strategies | hero, hero-centric, testimonial, pricing, social-proof |
|
|
137
|
+
| `chart` | Chart types, library recommendations | trend, comparison, timeline, funnel, pie |
|
|
138
|
+
| `ux` | Best practices, anti-patterns | animation, accessibility, z-index, loading |
|
|
139
|
+
| `react` | React/Next.js performance | waterfall, bundle, suspense, memo, rerender, cache |
|
|
140
|
+
| `web` | Web interface guidelines | aria, focus, keyboard, semantic, virtualize |
|
|
141
|
+
| `prompt` | AI prompts, CSS keywords | (style name) |
|
|
142
|
+
|
|
143
|
+
### Available Stacks
|
|
144
|
+
|
|
145
|
+
| Stack | Focus |
|
|
146
|
+
|-------|-------|
|
|
147
|
+
| `html-tailwind` | Tailwind utilities, responsive, a11y (DEFAULT) |
|
|
148
|
+
| `react` | State, hooks, performance, patterns |
|
|
149
|
+
| `nextjs` | SSR, routing, images, API routes |
|
|
150
|
+
| `vue` | Composition API, Pinia, Vue Router |
|
|
151
|
+
| `svelte` | Runes, stores, SvelteKit |
|
|
152
|
+
| `swiftui` | Views, State, Navigation, Animation |
|
|
153
|
+
| `react-native` | Components, Navigation, Lists |
|
|
154
|
+
| `flutter` | Widgets, State, Layout, Theming |
|
|
155
|
+
| `shadcn` | shadcn/ui components, theming, forms, patterns |
|
|
156
|
+
| `jetpack-compose` | Composables, Modifiers, State Hoisting, Recomposition |
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Example Workflow
|
|
161
|
+
|
|
162
|
+
**User request:** "Làm landing page cho dịch vụ chăm sóc da chuyên nghiệp"
|
|
163
|
+
|
|
164
|
+
### Step 1: Analyze Requirements
|
|
165
|
+
- Product type: Beauty/Spa service
|
|
166
|
+
- Style keywords: elegant, professional, soft
|
|
167
|
+
- Industry: Beauty/Wellness
|
|
168
|
+
- Stack: html-tailwind (default)
|
|
169
|
+
|
|
170
|
+
### Step 2: Generate Design System (REQUIRED)
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "beauty spa wellness service elegant" --design-system -p "Serenity Spa"
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Output:** Complete design system with pattern, style, colors, typography, effects, and anti-patterns.
|
|
177
|
+
|
|
178
|
+
### Step 3: Supplement with Detailed Searches (as needed)
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# Get UX guidelines for animation and accessibility
|
|
182
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "animation accessibility" --domain ux
|
|
183
|
+
|
|
184
|
+
# Get alternative typography options if needed
|
|
185
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "elegant luxury serif" --domain typography
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Step 4: Stack Guidelines
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "layout responsive form" --stack html-tailwind
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**Then:** Synthesize design system + detailed searches and implement the design.
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Output Formats
|
|
199
|
+
|
|
200
|
+
The `--design-system` flag supports two output formats:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
# ASCII box (default) - best for terminal display
|
|
204
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system
|
|
205
|
+
|
|
206
|
+
# Markdown - best for documentation
|
|
207
|
+
python3 .agent/.shared/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system -f markdown
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Tips for Better Results
|
|
213
|
+
|
|
214
|
+
1. **Be specific with keywords** - "healthcare SaaS dashboard" > "app"
|
|
215
|
+
2. **Search multiple times** - Different keywords reveal different insights
|
|
216
|
+
3. **Combine domains** - Style + Typography + Color = Complete design system
|
|
217
|
+
4. **Always check UX** - Search "animation", "z-index", "accessibility" for common issues
|
|
218
|
+
5. **Use stack flag** - Get implementation-specific best practices
|
|
219
|
+
6. **Iterate** - If first search doesn't match, try different keywords
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Common Rules for Professional UI
|
|
224
|
+
|
|
225
|
+
These are frequently overlooked issues that make UI look unprofessional:
|
|
226
|
+
|
|
227
|
+
### Icons & Visual Elements
|
|
228
|
+
|
|
229
|
+
| Rule | Do | Don't |
|
|
230
|
+
|------|----|----- |
|
|
231
|
+
| **No emoji icons** | Use SVG icons (Heroicons, Lucide, Simple Icons) | Use emojis like 🎨 🚀 ⚙️ as UI icons |
|
|
232
|
+
| **Stable hover states** | Use color/opacity transitions on hover | Use scale transforms that shift layout |
|
|
233
|
+
| **Correct brand logos** | Research official SVG from Simple Icons | Guess or use incorrect logo paths |
|
|
234
|
+
| **Consistent icon sizing** | Use fixed viewBox (24x24) with w-6 h-6 | Mix different icon sizes randomly |
|
|
235
|
+
|
|
236
|
+
### Interaction & Cursor
|
|
237
|
+
|
|
238
|
+
| Rule | Do | Don't |
|
|
239
|
+
|------|----|----- |
|
|
240
|
+
| **Cursor pointer** | Add `cursor-pointer` to all clickable/hoverable cards | Leave default cursor on interactive elements |
|
|
241
|
+
| **Hover feedback** | Provide visual feedback (color, shadow, border) | No indication element is interactive |
|
|
242
|
+
| **Smooth transitions** | Use `transition-colors duration-200` | Instant state changes or too slow (>500ms) |
|
|
243
|
+
|
|
244
|
+
### Light/Dark Mode Contrast
|
|
245
|
+
|
|
246
|
+
| Rule | Do | Don't |
|
|
247
|
+
|------|----|----- |
|
|
248
|
+
| **Glass card light mode** | Use `bg-white/80` or higher opacity | Use `bg-white/10` (too transparent) |
|
|
249
|
+
| **Text contrast light** | Use `#0F172A` (slate-900) for text | Use `#94A3B8` (slate-400) for body text |
|
|
250
|
+
| **Muted text light** | Use `#475569` (slate-600) minimum | Use gray-400 or lighter |
|
|
251
|
+
| **Border visibility** | Use `border-gray-200` in light mode | Use `border-white/10` (invisible) |
|
|
252
|
+
|
|
253
|
+
### Layout & Spacing
|
|
254
|
+
|
|
255
|
+
| Rule | Do | Don't |
|
|
256
|
+
|------|----|----- |
|
|
257
|
+
| **Floating navbar** | Add `top-4 left-4 right-4` spacing | Stick navbar to `top-0 left-0 right-0` |
|
|
258
|
+
| **Content padding** | Account for fixed navbar height | Let content hide behind fixed elements |
|
|
259
|
+
| **Consistent max-width** | Use same `max-w-6xl` or `max-w-7xl` | Mix different container widths |
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## Pre-Delivery Checklist
|
|
264
|
+
|
|
265
|
+
Before delivering UI code, verify these items:
|
|
266
|
+
|
|
267
|
+
### Visual Quality
|
|
268
|
+
- [ ] No emojis used as icons (use SVG instead)
|
|
269
|
+
- [ ] All icons from consistent icon set (Heroicons/Lucide)
|
|
270
|
+
- [ ] Brand logos are correct (verified from Simple Icons)
|
|
271
|
+
- [ ] Hover states don't cause layout shift
|
|
272
|
+
- [ ] Use theme colors directly (bg-primary) not var() wrapper
|
|
273
|
+
|
|
274
|
+
### Interaction
|
|
275
|
+
- [ ] All clickable elements have `cursor-pointer`
|
|
276
|
+
- [ ] Hover states provide clear visual feedback
|
|
277
|
+
- [ ] Transitions are smooth (150-300ms)
|
|
278
|
+
- [ ] Focus states visible for keyboard navigation
|
|
279
|
+
|
|
280
|
+
### Light/Dark Mode
|
|
281
|
+
- [ ] Light mode text has sufficient contrast (4.5:1 minimum)
|
|
282
|
+
- [ ] Glass/transparent elements visible in light mode
|
|
283
|
+
- [ ] Borders visible in both modes
|
|
284
|
+
- [ ] Test both modes before delivery
|
|
285
|
+
|
|
286
|
+
### Layout
|
|
287
|
+
- [ ] Floating elements have proper spacing from edges
|
|
288
|
+
- [ ] No content hidden behind fixed navbars
|
|
289
|
+
- [ ] Responsive at 375px, 768px, 1024px, 1440px
|
|
290
|
+
- [ ] No horizontal scroll on mobile
|
|
291
|
+
|
|
292
|
+
### Accessibility
|
|
293
|
+
- [ ] All images have alt text
|
|
294
|
+
- [ ] Form inputs have labels
|
|
295
|
+
- [ ] Color is not the only indicator
|
|
296
|
+
- [ ] `prefers-reduced-motion` respected
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { existsSync } from 'fs';
|
|
2
|
+
import { join, dirname } from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
import fse from 'fs-extra';
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import ora from 'ora';
|
|
7
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
export async function init(options = {}) {
|
|
9
|
+
const cwd = process.cwd();
|
|
10
|
+
const spinner = ora();
|
|
11
|
+
console.log(chalk.blue.bold('\n🎯 Maestro - Inicializando projeto\n'));
|
|
12
|
+
// Verifica se já existe
|
|
13
|
+
if (existsSync(join(cwd, '.maestro')) && !options.force) {
|
|
14
|
+
console.log(chalk.yellow('⚠️ Projeto já inicializado. Use --force para sobrescrever.'));
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
// Paths do content embarcado no pacote
|
|
18
|
+
const packageRoot = join(__dirname, '..', '..');
|
|
19
|
+
const contentSource = join(packageRoot, 'content');
|
|
20
|
+
try {
|
|
21
|
+
// 1. Criar estrutura .maestro
|
|
22
|
+
spinner.start('Criando estrutura .maestro/');
|
|
23
|
+
await fse.ensureDir(join(cwd, '.maestro'));
|
|
24
|
+
await fse.ensureDir(join(cwd, '.maestro', 'history'));
|
|
25
|
+
await fse.writeJSON(join(cwd, '.maestro', 'config.json'), {
|
|
26
|
+
version: '1.0.0',
|
|
27
|
+
initialized: new Date().toISOString(),
|
|
28
|
+
mcpServer: 'https://maestro.deluna.dev.br/mcp'
|
|
29
|
+
}, { spaces: 2 });
|
|
30
|
+
spinner.succeed('Estrutura .maestro/ criada');
|
|
31
|
+
// 2. Copiar content para .maestro/content/ (se não minimal)
|
|
32
|
+
if (!options.minimal) {
|
|
33
|
+
spinner.start('Copiando especialistas e templates para .maestro/content/...');
|
|
34
|
+
// Content vai para .maestro/content/
|
|
35
|
+
const contentDirs = ['specialists', 'templates', 'guides', 'prompts'];
|
|
36
|
+
for (const dir of contentDirs) {
|
|
37
|
+
const src = join(contentSource, dir);
|
|
38
|
+
const dest = join(cwd, '.maestro', 'content', dir);
|
|
39
|
+
if (await fse.pathExists(src)) {
|
|
40
|
+
await fse.copy(src, dest, { overwrite: options.force });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
spinner.succeed('Content copiado para .maestro/content/');
|
|
44
|
+
}
|
|
45
|
+
// 3. Copiar skills para .agent/skills/
|
|
46
|
+
spinner.start('Copiando skills para .agent/skills/...');
|
|
47
|
+
const skillsSrc = join(contentSource, 'skills');
|
|
48
|
+
const skillsDest = join(cwd, '.agent', 'skills');
|
|
49
|
+
if (await fse.pathExists(skillsSrc)) {
|
|
50
|
+
await fse.copy(skillsSrc, skillsDest, { overwrite: options.force });
|
|
51
|
+
}
|
|
52
|
+
spinner.succeed('Skills copiados para .agent/skills/');
|
|
53
|
+
// 4. Copiar workflows para .agent/workflows/
|
|
54
|
+
spinner.start('Copiando workflows para .agent/workflows/...');
|
|
55
|
+
const workflowsSrc = join(contentSource, 'workflows');
|
|
56
|
+
const workflowsDest = join(cwd, '.agent', 'workflows');
|
|
57
|
+
if (await fse.pathExists(workflowsSrc)) {
|
|
58
|
+
await fse.copy(workflowsSrc, workflowsDest, { overwrite: options.force });
|
|
59
|
+
}
|
|
60
|
+
spinner.succeed('Workflows copiados para .agent/workflows/');
|
|
61
|
+
// 5. Gerar GEMINI.md
|
|
62
|
+
spinner.start('Gerando GEMINI.md...');
|
|
63
|
+
const geminiContent = generateGeminiMd();
|
|
64
|
+
await fse.writeFile(join(cwd, 'GEMINI.md'), geminiContent);
|
|
65
|
+
spinner.succeed('GEMINI.md gerado');
|
|
66
|
+
// Resumo
|
|
67
|
+
console.log(chalk.green.bold('\n✅ Maestro inicializado com sucesso!\n'));
|
|
68
|
+
console.log(chalk.dim('Estrutura criada:'));
|
|
69
|
+
console.log(chalk.dim(' .maestro/'));
|
|
70
|
+
console.log(chalk.dim(' ├── config.json'));
|
|
71
|
+
console.log(chalk.dim(' ├── history/'));
|
|
72
|
+
if (!options.minimal) {
|
|
73
|
+
console.log(chalk.dim(' └── content/'));
|
|
74
|
+
console.log(chalk.dim(' ├── specialists/'));
|
|
75
|
+
console.log(chalk.dim(' ├── templates/'));
|
|
76
|
+
console.log(chalk.dim(' ├── guides/'));
|
|
77
|
+
console.log(chalk.dim(' └── prompts/'));
|
|
78
|
+
}
|
|
79
|
+
console.log(chalk.dim(' .agent/'));
|
|
80
|
+
console.log(chalk.dim(' ├── skills/'));
|
|
81
|
+
console.log(chalk.dim(' └── workflows/'));
|
|
82
|
+
console.log(chalk.dim(' GEMINI.md'));
|
|
83
|
+
console.log(chalk.blue('\n📋 Próximos passos:'));
|
|
84
|
+
console.log(' 1. Configure o MCP na sua IDE:');
|
|
85
|
+
console.log(chalk.gray(' "mcpServers": { "maestro": { "serverUrl": "https://maestro.deluna.dev.br/mcp" } }'));
|
|
86
|
+
console.log(' 2. Inicie um novo projeto com: @mcp:maestro iniciar_projeto');
|
|
87
|
+
console.log('');
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
spinner.fail('Erro durante inicialização');
|
|
91
|
+
console.error(chalk.red(error));
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function generateGeminiMd() {
|
|
96
|
+
return `---
|
|
97
|
+
trigger: always_on
|
|
98
|
+
system: maestro
|
|
99
|
+
version: 1.0.0
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
# Maestro - Desenvolvimento Assistido por IA
|
|
103
|
+
|
|
104
|
+
> Este projeto utiliza o sistema Maestro para desenvolvimento estruturado.
|
|
105
|
+
|
|
106
|
+
## Configuração MCP
|
|
107
|
+
|
|
108
|
+
\`\`\`json
|
|
109
|
+
{
|
|
110
|
+
"mcpServers": {
|
|
111
|
+
"maestro": {
|
|
112
|
+
"serverUrl": "https://maestro.deluna.dev.br/mcp"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
\`\`\`
|
|
117
|
+
|
|
118
|
+
## Como Usar
|
|
119
|
+
|
|
120
|
+
1. **Iniciar projeto**: Use \`iniciar_projeto\` para começar
|
|
121
|
+
2. **Avançar fases**: Use \`proximo\` para salvar e avançar
|
|
122
|
+
3. **Ver status**: Use \`status\` para ver onde está
|
|
123
|
+
|
|
124
|
+
## Estrutura Local
|
|
125
|
+
|
|
126
|
+
| Pasta | Conteúdo |
|
|
127
|
+
|-------|----------|
|
|
128
|
+
| \`.maestro/estado.json\` | Estado do projeto (fonte da verdade) |
|
|
129
|
+
| \`.maestro/SYSTEM.md\` | Contexto atual para IA |
|
|
130
|
+
| \`.maestro/content/\` | Especialistas, templates, prompts |
|
|
131
|
+
| \`.agent/skills/\` | Skills disponíveis |
|
|
132
|
+
| \`.agent/workflows/\` | Workflows automatizados |
|
|
133
|
+
|
|
134
|
+
## Estado do Projeto
|
|
135
|
+
|
|
136
|
+
O estado é mantido em \`.maestro/estado.json\` e deve ser passado como \`estado_json\` em todos os tools MCP.
|
|
137
|
+
`;
|
|
138
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { join, dirname } from 'path';
|
|
2
|
+
import { fileURLToPath } from 'url';
|
|
3
|
+
import fse from 'fs-extra';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import ora from 'ora';
|
|
6
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
7
|
+
export async function update(options = {}) {
|
|
8
|
+
const cwd = process.cwd();
|
|
9
|
+
const spinner = ora();
|
|
10
|
+
console.log(chalk.blue.bold('\n🔄 Maestro - Atualizando content\n'));
|
|
11
|
+
// Verifica se projeto está inicializado
|
|
12
|
+
if (!await fse.pathExists(join(cwd, '.maestro'))) {
|
|
13
|
+
console.log(chalk.red('❌ Projeto não inicializado. Execute: npx @maestro init'));
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const packageRoot = join(__dirname, '..', '..');
|
|
17
|
+
const contentSource = join(packageRoot, 'content');
|
|
18
|
+
try {
|
|
19
|
+
// Atualizar content
|
|
20
|
+
spinner.start('Atualizando especialistas e templates...');
|
|
21
|
+
const contentDirs = ['specialists', 'templates', 'guides', 'prompts', 'skills'];
|
|
22
|
+
for (const dir of contentDirs) {
|
|
23
|
+
const src = join(contentSource, dir);
|
|
24
|
+
const dest = join(cwd, 'content', dir);
|
|
25
|
+
if (await fse.pathExists(src)) {
|
|
26
|
+
await fse.copy(src, dest, { overwrite: options.force });
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
spinner.succeed('Content atualizado');
|
|
30
|
+
// Atualizar workflows
|
|
31
|
+
spinner.start('Atualizando workflows...');
|
|
32
|
+
const workflowsSrc = join(contentSource, 'workflows');
|
|
33
|
+
const workflowsDest = join(cwd, '.agent', 'workflows');
|
|
34
|
+
if (await fse.pathExists(workflowsSrc)) {
|
|
35
|
+
await fse.copy(workflowsSrc, workflowsDest, { overwrite: options.force });
|
|
36
|
+
}
|
|
37
|
+
spinner.succeed('Workflows atualizados');
|
|
38
|
+
// Atualizar versão no config
|
|
39
|
+
const configPath = join(cwd, '.maestro', 'config.json');
|
|
40
|
+
const config = await fse.readJSON(configPath);
|
|
41
|
+
config.lastUpdate = new Date().toISOString();
|
|
42
|
+
await fse.writeJSON(configPath, config, { spaces: 2 });
|
|
43
|
+
console.log(chalk.green.bold('\n✅ Atualização concluída!\n'));
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
spinner.fail('Erro durante atualização');
|
|
47
|
+
console.error(chalk.red(error));
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { init } from './commands/init.js';
|
|
4
|
+
import { update } from './commands/update.js';
|
|
5
|
+
const program = new Command();
|
|
6
|
+
program
|
|
7
|
+
.name('maestro')
|
|
8
|
+
.description('CLI para inicializar projetos com Maestro - Desenvolvimento assistido por IA')
|
|
9
|
+
.version('1.0.0');
|
|
10
|
+
program
|
|
11
|
+
.command('init')
|
|
12
|
+
.description('Inicializa Maestro no projeto atual')
|
|
13
|
+
.option('-f, --force', 'Sobrescreve arquivos existentes')
|
|
14
|
+
.option('--minimal', 'Instala apenas workflows e GEMINI.md')
|
|
15
|
+
.action(init);
|
|
16
|
+
program
|
|
17
|
+
.command('update')
|
|
18
|
+
.description('Atualiza content para a última versão')
|
|
19
|
+
.option('-f, --force', 'Sobrescreve arquivos modificados')
|
|
20
|
+
.action(update);
|
|
21
|
+
program.parse();
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@maestro-ai/cli",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "CLI para inicializar projetos com Maestro - Desenvolvimento assistido por IA",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"maestro": "./dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc && npm run copy-content",
|
|
12
|
+
"copy-content": "node scripts/copy-content.js",
|
|
13
|
+
"dev": "tsx src/index.ts",
|
|
14
|
+
"prepublishOnly": "npm run build"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"content"
|
|
19
|
+
],
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"commander": "^12.0.0",
|
|
22
|
+
"chalk": "^5.3.0",
|
|
23
|
+
"fs-extra": "^11.2.0",
|
|
24
|
+
"ora": "^8.0.0"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"typescript": "^5.5.0",
|
|
28
|
+
"@types/node": "^22.0.0",
|
|
29
|
+
"@types/fs-extra": "^11.0.0",
|
|
30
|
+
"tsx": "^4.19.0"
|
|
31
|
+
},
|
|
32
|
+
"engines": {
|
|
33
|
+
"node": ">=18.0.0"
|
|
34
|
+
},
|
|
35
|
+
"repository": {
|
|
36
|
+
"type": "git",
|
|
37
|
+
"url": "https://github.com/Matheus-Gama-deluna/Maestro"
|
|
38
|
+
},
|
|
39
|
+
"keywords": [
|
|
40
|
+
"maestro",
|
|
41
|
+
"ai",
|
|
42
|
+
"development",
|
|
43
|
+
"mcp",
|
|
44
|
+
"cli"
|
|
45
|
+
],
|
|
46
|
+
"author": "Matheus Luna",
|
|
47
|
+
"license": "MIT"
|
|
48
|
+
}
|