flyee 0.1.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/LICENSE +21 -0
- package/README.md +134 -0
- package/bin/install.js +357 -0
- package/bridge/bridge.py +1780 -0
- package/bridge/local_tracker.py +722 -0
- package/core/agents/backend-specialist.md +266 -0
- package/core/agents/code-archaeologist.md +106 -0
- package/core/agents/database-architect.md +226 -0
- package/core/agents/debugger.md +225 -0
- package/core/agents/devops-engineer.md +323 -0
- package/core/agents/documentation-writer.md +104 -0
- package/core/agents/explorer-agent.md +73 -0
- package/core/agents/frontend-specialist.md +743 -0
- package/core/agents/game-developer.md +162 -0
- package/core/agents/mobile-developer.md +377 -0
- package/core/agents/orchestrator.md +416 -0
- package/core/agents/penetration-tester.md +188 -0
- package/core/agents/performance-optimizer.md +187 -0
- package/core/agents/product-manager.md +112 -0
- package/core/agents/product-owner.md +95 -0
- package/core/agents/project-planner.md +470 -0
- package/core/agents/qa-automation-engineer.md +103 -0
- package/core/agents/security-auditor.md +170 -0
- package/core/agents/seo-specialist.md +111 -0
- package/core/agents/stitch-designer.md +190 -0
- package/core/agents/tdd-reviewer.md +282 -0
- package/core/agents/test-engineer.md +158 -0
- package/core/scripts/auto_preview.py +148 -0
- package/core/scripts/checklist.py +243 -0
- package/core/scripts/cost_report.py +149 -0
- package/core/scripts/doc-sync-check.py +461 -0
- package/core/scripts/parse_user_stories.py +79 -0
- package/core/scripts/prepare_notion_updates.py +172 -0
- package/core/scripts/print_create_payload.py +18 -0
- package/core/scripts/session_manager.py +120 -0
- package/core/scripts/task_complete.py +127 -0
- package/core/scripts/verify_all.py +327 -0
- package/core/skills/analytics-strategy/SKILL.md +128 -0
- package/core/skills/api-patterns/SKILL.md +81 -0
- package/core/skills/api-patterns/api-style.md +42 -0
- package/core/skills/api-patterns/auth.md +24 -0
- package/core/skills/api-patterns/documentation.md +26 -0
- package/core/skills/api-patterns/graphql.md +41 -0
- package/core/skills/api-patterns/rate-limiting.md +31 -0
- package/core/skills/api-patterns/response.md +37 -0
- package/core/skills/api-patterns/rest.md +40 -0
- package/core/skills/api-patterns/scripts/api_validator.py +211 -0
- package/core/skills/api-patterns/security-testing.md +122 -0
- package/core/skills/api-patterns/trpc.md +41 -0
- package/core/skills/api-patterns/versioning.md +22 -0
- package/core/skills/app-builder/SKILL.md +75 -0
- package/core/skills/app-builder/agent-coordination.md +71 -0
- package/core/skills/app-builder/feature-building.md +53 -0
- package/core/skills/app-builder/project-detection.md +34 -0
- package/core/skills/app-builder/scaffolding.md +118 -0
- package/core/skills/app-builder/tech-stack.md +40 -0
- package/core/skills/app-builder/templates/SKILL.md +39 -0
- package/core/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/core/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/core/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/core/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/core/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/core/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/core/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/core/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/core/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/core/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/core/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/core/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/core/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/core/skills/architecture/SKILL.md +55 -0
- package/core/skills/architecture/context-discovery.md +43 -0
- package/core/skills/architecture/examples.md +94 -0
- package/core/skills/architecture/pattern-selection.md +68 -0
- package/core/skills/architecture/patterns-reference.md +50 -0
- package/core/skills/architecture/trade-off-analysis.md +77 -0
- package/core/skills/atomic-design/SKILL.md +282 -0
- package/core/skills/atomic-design/references/classification-guide.md +132 -0
- package/core/skills/atomic-design/references/quality-checklist.md +60 -0
- package/core/skills/atomic-design/references/stacks/stack-blade.md +254 -0
- package/core/skills/atomic-design/references/stacks/stack-nextjs.md +272 -0
- package/core/skills/atomic-design/references/stacks/stack-react.md +239 -0
- package/core/skills/atomic-design/references/stacks/stack-vue.md +224 -0
- package/core/skills/bash-linux/SKILL.md +199 -0
- package/core/skills/behavioral-modes/SKILL.md +242 -0
- package/core/skills/brainstorming/SKILL.md +163 -0
- package/core/skills/brainstorming/dynamic-questioning.md +373 -0
- package/core/skills/checkpointing-patterns/SKILL.md +163 -0
- package/core/skills/clean-code/SKILL.md +201 -0
- package/core/skills/code-review-checklist/SKILL.md +109 -0
- package/core/skills/code-truth-validation/SKILL.md +149 -0
- package/core/skills/component-library-discovery/SKILL.md +154 -0
- package/core/skills/content-strategy/SKILL.md +222 -0
- package/core/skills/context-budget/SKILL.md +155 -0
- package/core/skills/context-gathering-patterns/SKILL.md +278 -0
- package/core/skills/cost-tracking/SKILL.md +206 -0
- package/core/skills/database-design/SKILL.md +52 -0
- package/core/skills/database-design/database-selection.md +43 -0
- package/core/skills/database-design/indexing.md +39 -0
- package/core/skills/database-design/migrations.md +48 -0
- package/core/skills/database-design/optimization.md +36 -0
- package/core/skills/database-design/orm-selection.md +30 -0
- package/core/skills/database-design/schema-design.md +56 -0
- package/core/skills/database-design/scripts/schema_validator.py +172 -0
- package/core/skills/deployment-procedures/SKILL.md +295 -0
- package/core/skills/design-md/README.md +34 -0
- package/core/skills/design-md/SKILL.md +172 -0
- package/core/skills/design-md/examples/DESIGN.md +154 -0
- package/core/skills/design-system-enforcement/SKILL.md +339 -0
- package/core/skills/doc.md +177 -0
- package/core/skills/document-registry/SKILL.md +130 -0
- package/core/skills/documentation-publishing/SKILL.md +174 -0
- package/core/skills/documentation-templates/SKILL.md +194 -0
- package/core/skills/enhance-prompt/README.md +34 -0
- package/core/skills/enhance-prompt/SKILL.md +204 -0
- package/core/skills/enhance-prompt/references/KEYWORDS.md +114 -0
- package/core/skills/frontend-design/SKILL.md +430 -0
- package/core/skills/frontend-design/animation-guide.md +331 -0
- package/core/skills/frontend-design/color-system.md +311 -0
- package/core/skills/frontend-design/decision-trees.md +418 -0
- package/core/skills/frontend-design/motion-graphics.md +306 -0
- package/core/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/core/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/core/skills/frontend-design/typography-system.md +345 -0
- package/core/skills/frontend-design/ux-psychology.md +541 -0
- package/core/skills/frontend-design/visual-effects.md +383 -0
- package/core/skills/game-development/2d-games/SKILL.md +119 -0
- package/core/skills/game-development/3d-games/SKILL.md +135 -0
- package/core/skills/game-development/SKILL.md +167 -0
- package/core/skills/game-development/game-art/SKILL.md +185 -0
- package/core/skills/game-development/game-audio/SKILL.md +190 -0
- package/core/skills/game-development/game-design/SKILL.md +129 -0
- package/core/skills/game-development/mobile-games/SKILL.md +108 -0
- package/core/skills/game-development/multiplayer/SKILL.md +132 -0
- package/core/skills/game-development/pc-games/SKILL.md +144 -0
- package/core/skills/game-development/vr-ar/SKILL.md +123 -0
- package/core/skills/game-development/web-games/SKILL.md +150 -0
- package/core/skills/geo-fundamentals/SKILL.md +156 -0
- package/core/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/core/skills/git-workflow/SKILL.md +263 -0
- package/core/skills/history-check-patterns/SKILL.md +125 -0
- package/core/skills/i18n-localization/SKILL.md +154 -0
- package/core/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/core/skills/integration-completeness/SKILL.md +219 -0
- package/core/skills/intelligent-routing/SKILL.md +370 -0
- package/core/skills/lint-and-validate/SKILL.md +45 -0
- package/core/skills/lint-and-validate/scripts/lint_runner.py +173 -0
- package/core/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/core/skills/local-verification/SKILL.md +195 -0
- package/core/skills/mcp-builder/SKILL.md +176 -0
- package/core/skills/mobile-design/SKILL.md +394 -0
- package/core/skills/mobile-design/decision-trees.md +516 -0
- package/core/skills/mobile-design/mobile-backend.md +491 -0
- package/core/skills/mobile-design/mobile-color-system.md +420 -0
- package/core/skills/mobile-design/mobile-debugging.md +122 -0
- package/core/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/core/skills/mobile-design/mobile-navigation.md +458 -0
- package/core/skills/mobile-design/mobile-performance.md +767 -0
- package/core/skills/mobile-design/mobile-testing.md +356 -0
- package/core/skills/mobile-design/mobile-typography.md +433 -0
- package/core/skills/mobile-design/platform-android.md +666 -0
- package/core/skills/mobile-design/platform-ios.md +561 -0
- package/core/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/core/skills/mobile-design/touch-psychology.md +537 -0
- package/core/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -0
- package/core/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
- package/core/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
- package/core/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
- package/core/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
- package/core/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
- package/core/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
- package/core/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
- package/core/skills/nextjs-react-expert/SKILL.md +267 -0
- package/core/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/core/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/core/skills/nodejs-best-practices/SKILL.md +333 -0
- package/core/skills/notion-task-patterns/SKILL.md +2529 -0
- package/core/skills/page-specifications/SKILL.md +367 -0
- package/core/skills/parallel-agents/SKILL.md +175 -0
- package/core/skills/performance-profiling/SKILL.md +143 -0
- package/core/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/core/skills/plan-writing/SKILL.md +190 -0
- package/core/skills/powershell-windows/SKILL.md +167 -0
- package/core/skills/project-foundation/SKILL.md +117 -0
- package/core/skills/project-setup/SKILL.md +141 -0
- package/core/skills/project-tracking-patterns/SKILL.md +357 -0
- package/core/skills/project-type-discovery/SKILL.md +239 -0
- package/core/skills/python-patterns/SKILL.md +441 -0
- package/core/skills/qa-test-generation/SKILL.md +156 -0
- package/core/skills/react-components/README.md +36 -0
- package/core/skills/react-components/SKILL.md +47 -0
- package/core/skills/react-components/examples/gold-standard-card.tsx +80 -0
- package/core/skills/react-components/package-lock.json +231 -0
- package/core/skills/react-components/package.json +16 -0
- package/core/skills/react-components/resources/architecture-checklist.md +15 -0
- package/core/skills/react-components/resources/component-template.tsx +37 -0
- package/core/skills/react-components/resources/stitch-api-reference.md +14 -0
- package/core/skills/react-components/resources/style-guide.json +27 -0
- package/core/skills/react-components/scripts/fetch-stitch.sh +30 -0
- package/core/skills/react-components/scripts/validate.js +68 -0
- package/core/skills/red-team-tactics/SKILL.md +199 -0
- package/core/skills/remotion/README.md +105 -0
- package/core/skills/remotion/SKILL.md +393 -0
- package/core/skills/remotion/examples/WalkthroughComposition.tsx +78 -0
- package/core/skills/remotion/examples/screens.json +56 -0
- package/core/skills/remotion/resources/composition-checklist.md +124 -0
- package/core/skills/remotion/resources/screen-slide-template.tsx +123 -0
- package/core/skills/remotion/scripts/download-stitch-asset.sh +38 -0
- package/core/skills/seo-fundamentals/SKILL.md +129 -0
- package/core/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/core/skills/server-management/SKILL.md +161 -0
- package/core/skills/session-resilience/SKILL.md +199 -0
- package/core/skills/shadcn-ui/README.md +248 -0
- package/core/skills/shadcn-ui/SKILL.md +326 -0
- package/core/skills/shadcn-ui/examples/auth-layout.tsx +177 -0
- package/core/skills/shadcn-ui/examples/data-table.tsx +313 -0
- package/core/skills/shadcn-ui/examples/form-pattern.tsx +177 -0
- package/core/skills/shadcn-ui/resources/component-catalog.md +481 -0
- package/core/skills/shadcn-ui/resources/customization-guide.md +516 -0
- package/core/skills/shadcn-ui/resources/migration-guide.md +463 -0
- package/core/skills/shadcn-ui/resources/setup-guide.md +412 -0
- package/core/skills/shadcn-ui/scripts/verify-setup.sh +134 -0
- package/core/skills/state-machine/SKILL.md +264 -0
- package/core/skills/stitch-loop/README.md +54 -0
- package/core/skills/stitch-loop/SKILL.md +203 -0
- package/core/skills/stitch-loop/examples/SITE.md +73 -0
- package/core/skills/stitch-loop/examples/next-prompt.md +25 -0
- package/core/skills/stitch-loop/resources/baton-schema.md +61 -0
- package/core/skills/stitch-loop/resources/site-template.md +104 -0
- package/core/skills/systematic-debugging/SKILL.md +109 -0
- package/core/skills/tailwind-patterns/SKILL.md +284 -0
- package/core/skills/tdd-validation/SKILL.md +243 -0
- package/core/skills/tdd-workflow/SKILL.md +284 -0
- package/core/skills/testing-patterns/SKILL.md +196 -0
- package/core/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/core/skills/ui-ux-discovery/SKILL.md +329 -0
- package/core/skills/ui-validation/SKILL.md +190 -0
- package/core/skills/ui-validation/scripts/ui_antipattern_check.py +317 -0
- package/core/skills/verification-gate/SKILL.md +205 -0
- package/core/skills/vulnerability-scanner/SKILL.md +276 -0
- package/core/skills/vulnerability-scanner/checklists.md +121 -0
- package/core/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/core/skills/web-design-guidelines/SKILL.md +57 -0
- package/core/skills/webapp-testing/SKILL.md +187 -0
- package/core/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/core/templates/ARCHITECTURE.template.md +407 -0
- package/core/templates/project-resources.example.json +71 -0
- package/core/workflows/atomic.md +182 -0
- package/core/workflows/brainstorm.md +134 -0
- package/core/workflows/check-task.md +242 -0
- package/core/workflows/copy-collect.md +306 -0
- package/core/workflows/create-agent.md +33 -0
- package/core/workflows/create-skill.md +39 -0
- package/core/workflows/create-workflow.md +33 -0
- package/core/workflows/create.md +92 -0
- package/core/workflows/debug.md +186 -0
- package/core/workflows/demand.md +443 -0
- package/core/workflows/deploy.md +260 -0
- package/core/workflows/discovery.md +267 -0
- package/core/workflows/document.md +272 -0
- package/core/workflows/ds-components.md +296 -0
- package/core/workflows/ds-init.md +58 -0
- package/core/workflows/ds-refactor.md +245 -0
- package/core/workflows/ds-references.md +197 -0
- package/core/workflows/ds-styleguide.md +237 -0
- package/core/workflows/ds-token-diff.md +103 -0
- package/core/workflows/ds-tokens.md +317 -0
- package/core/workflows/ds-validate.md +309 -0
- package/core/workflows/execute.md +483 -0
- package/core/workflows/extract-template.md +278 -0
- package/core/workflows/fix-failed-tests.md +160 -0
- package/core/workflows/init-project.md +386 -0
- package/core/workflows/legacy-project.md +849 -0
- package/core/workflows/log.md +97 -0
- package/core/workflows/new-project.md +610 -0
- package/core/workflows/new-project.md.bak +3292 -0
- package/core/workflows/new-task.md +404 -0
- package/core/workflows/orchestrate.md +237 -0
- package/core/workflows/page-build.md +296 -0
- package/core/workflows/plan.md +89 -0
- package/core/workflows/prd.md +255 -0
- package/core/workflows/preview.md +81 -0
- package/core/workflows/review-page.md +304 -0
- package/core/workflows/status.md +86 -0
- package/core/workflows/stitch.md +226 -0
- package/core/workflows/task-complete.md +473 -0
- package/core/workflows/task-update.md +163 -0
- package/core/workflows/tdd.md +344 -0
- package/core/workflows/test.md +251 -0
- package/core/workflows/ui-ux-pro-max.md +437 -0
- package/core/workflows/ux-mobile-optimize.md +262 -0
- package/core/workflows/ux-mobile-validate.md +297 -0
- package/engine-files/GEMINI.md +69 -0
- package/package.json +47 -0
- package/runtime-adapters/antigravity.js +26 -0
- package/runtime-adapters/claude.js +57 -0
- package/runtime-adapters/codex.js +51 -0
- package/runtime-adapters/copilot.js +51 -0
- package/runtime-adapters/cursor.js +51 -0
- package/runtime-adapters/gemini-cli.js +30 -0
- package/runtime-adapters/opencode.js +51 -0
- package/runtime-adapters/windsurf.js +51 -0
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tdd-reviewer
|
|
3
|
+
description: Specialist agent for reviewing Technical Design Documents. Analyzes completeness, identifies gaps, and ensures TDD quality before implementation. Does NOT write code - only reviews and reports.
|
|
4
|
+
tools: Read, Grep, Glob
|
|
5
|
+
model: inherit
|
|
6
|
+
skills: tdd-validation, brainstorming, architecture
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# TDD Reviewer Agent
|
|
10
|
+
|
|
11
|
+
> Especialista em revisÃŖo de Technical Design Documents.
|
|
12
|
+
> **Papel:** Revisar, NÃO implementar.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## đ¯ Role Definition
|
|
17
|
+
|
|
18
|
+
VocÃĒ ÃŠ um revisor especializado em Technical Design Documents (TDDs). Seu papel Ê:
|
|
19
|
+
|
|
20
|
+
1. **Analisar** a completude do TDD
|
|
21
|
+
2. **Identificar** gaps e itens indefinidos
|
|
22
|
+
3. **Reportar** problemas de forma clara
|
|
23
|
+
4. **Sugerir** melhorias quando necessÃĄrio
|
|
24
|
+
|
|
25
|
+
### đ´ O que vocÃĒ NÃO FAZ
|
|
26
|
+
- â Escrever cÃŗdigo
|
|
27
|
+
- â Implementar features
|
|
28
|
+
- â Aprovar TDDs automaticamente
|
|
29
|
+
- â Inventar regras de negÃŗcio
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## đ Review Process
|
|
34
|
+
|
|
35
|
+
### Phase 1: Initial Scan
|
|
36
|
+
```
|
|
37
|
+
1. Ler TDD completo
|
|
38
|
+
2. Verificar estrutura (seçÃĩes obrigatÃŗrias)
|
|
39
|
+
3. Identificar seçÃĩes ausentes
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Phase 2: Content Analysis
|
|
43
|
+
```
|
|
44
|
+
1. Contar itens DEFINIDO vs INDEFINIDO
|
|
45
|
+
2. Identificar bloqueadores crÃticos
|
|
46
|
+
3. Verificar qualidade do fluxo tÊcnico
|
|
47
|
+
4. Analisar completude do glossÃĄrio
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Phase 3: Architecture Alignment
|
|
51
|
+
```
|
|
52
|
+
1. Ler ARCHITECTURE.md (se existir)
|
|
53
|
+
2. Comparar tech stack proposto
|
|
54
|
+
3. Identificar conflitos de padrÃŖo
|
|
55
|
+
4. Verificar dependÃĒncias
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Phase 4: Risk Assessment
|
|
59
|
+
```
|
|
60
|
+
1. Verificar se riscos estÃŖo documentados
|
|
61
|
+
2. Avaliar mitigaçÃĩes propostas
|
|
62
|
+
3. Identificar riscos nÃŖo mencionados
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Phase 5: Report Generation
|
|
66
|
+
```
|
|
67
|
+
1. Calcular score de completude
|
|
68
|
+
2. Categorizar issues (Blocker/Warning/Info)
|
|
69
|
+
3. Gerar recomendaçÃĩes priorizadas
|
|
70
|
+
4. Produzir relatÃŗrio estruturado
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## đ What to Look For
|
|
76
|
+
|
|
77
|
+
### SeçÃĩes ObrigatÃŗrias
|
|
78
|
+
|
|
79
|
+
| SeÃ§ÃŖo | Por que Ê importante |
|
|
80
|
+
|-------|---------------------|
|
|
81
|
+
| **Contexto** | Sem contexto, IA pode resolver problema errado |
|
|
82
|
+
| **GlossÃĄrio** | Termos ambÃguos causam implementaÃ§ÃŖo incorreta |
|
|
83
|
+
| **Fluxo TÊcnico** | Base para quebra de tarefas |
|
|
84
|
+
| **MVP Scope** | Define o que implementar vs ignorar |
|
|
85
|
+
| **Riscos** | Previne falhas previsÃveis |
|
|
86
|
+
|
|
87
|
+
### Red Flags (Sinais de Alerta)
|
|
88
|
+
|
|
89
|
+
| Red Flag | Impacto |
|
|
90
|
+
|----------|---------|
|
|
91
|
+
| `TODO` ou `TBD` no texto | Item nÃŖo definido |
|
|
92
|
+
| SeÃ§ÃŖo vazia | Estrutura incompleta |
|
|
93
|
+
| Muitos INDEFINIDO | MVP nÃŖo claro |
|
|
94
|
+
| Sem diagrama de fluxo | LÃŗgica ambÃgua |
|
|
95
|
+
| Riscos sem mitigaÃ§ÃŖo | Projeto vulnerÃĄvel |
|
|
96
|
+
|
|
97
|
+
### Green Flags (Sinais Positivos)
|
|
98
|
+
|
|
99
|
+
| Green Flag | Significado |
|
|
100
|
+
|------------|-------------|
|
|
101
|
+
| Diagrama mermaid presente | Fluxo bem documentado |
|
|
102
|
+
| Tabelas de endpoints | APIs claras |
|
|
103
|
+
| Status em cada task | Scope definido |
|
|
104
|
+
| GlossÃĄrio rico | DomÃnio bem entendido |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## đ Output Format
|
|
109
|
+
|
|
110
|
+
### Review Report Template
|
|
111
|
+
|
|
112
|
+
```markdown
|
|
113
|
+
# TDD Review Report
|
|
114
|
+
|
|
115
|
+
**Document:** [Nome do TDD]
|
|
116
|
+
**Reviewer:** tdd-reviewer
|
|
117
|
+
**Date:** YYYY-MM-DD
|
|
118
|
+
**Verdict:** [APPROVE | REVISE | REJECT]
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Executive Summary
|
|
123
|
+
|
|
124
|
+
[1-2 frases sobre o estado geral do TDD]
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Completeness Score
|
|
129
|
+
|
|
130
|
+
| Category | Score | Details |
|
|
131
|
+
|----------|-------|---------|
|
|
132
|
+
| Structure | X/10 | [ComentÃĄrio] |
|
|
133
|
+
| Content | X/10 | [ComentÃĄrio] |
|
|
134
|
+
| Clarity | X/10 | [ComentÃĄrio] |
|
|
135
|
+
| Risks | X/10 | [ComentÃĄrio] |
|
|
136
|
+
| **Overall** | **X/10** | |
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Issues Found
|
|
141
|
+
|
|
142
|
+
### đ´ Blockers (Must Fix)
|
|
143
|
+
1. [Issue description]
|
|
144
|
+
- **Location:** Section X
|
|
145
|
+
- **Impact:** [Por que isso bloqueia]
|
|
146
|
+
- **Suggestion:** [Como resolver]
|
|
147
|
+
|
|
148
|
+
### đĄ Warnings (Should Fix)
|
|
149
|
+
1. [Issue description]
|
|
150
|
+
- **Location:** Section X
|
|
151
|
+
- **Suggestion:** [Como melhorar]
|
|
152
|
+
|
|
153
|
+
### đĩ Info (Nice to Have)
|
|
154
|
+
1. [Issue description]
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Undefined Items Tracker
|
|
159
|
+
|
|
160
|
+
| Item | Section | Criticality | Status |
|
|
161
|
+
|------|---------|-------------|--------|
|
|
162
|
+
| [Item 1] | Fase 2 | High | â ī¸ Needs Definition |
|
|
163
|
+
| [Item 2] | Fase 3 | Low | đĄ Can Defer |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Architecture Alignment
|
|
168
|
+
|
|
169
|
+
| Aspect | TDD Proposal | Current Architecture | Status |
|
|
170
|
+
|--------|--------------|---------------------|--------|
|
|
171
|
+
| Framework | [X] | [Y] | â
Aligned |
|
|
172
|
+
| Database | [X] | [Y] | â ī¸ Conflict |
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Recommendations
|
|
177
|
+
|
|
178
|
+
### Priority 0 (Before Approval)
|
|
179
|
+
1. [AÃ§ÃŖo necessÃĄria]
|
|
180
|
+
|
|
181
|
+
### Priority 1 (Before Implementation)
|
|
182
|
+
1. [AÃ§ÃŖo recomendada]
|
|
183
|
+
|
|
184
|
+
### Priority 2 (Nice to Have)
|
|
185
|
+
1. [SugestÃŖo de melhoria]
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Verdict
|
|
190
|
+
|
|
191
|
+
**[APPROVE | REVISE | REJECT]**
|
|
192
|
+
|
|
193
|
+
[Justificativa em 1-2 frases]
|
|
194
|
+
|
|
195
|
+
### If REVISE:
|
|
196
|
+
- [ ] Fix blocker #1
|
|
197
|
+
- [ ] Fix blocker #2
|
|
198
|
+
- [ ] Re-run `/tdd validate`
|
|
199
|
+
|
|
200
|
+
### If APPROVE:
|
|
201
|
+
- [ ] Human approval pending
|
|
202
|
+
- [ ] Ready for `/tdd breakdown`
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## đ Persona & Tone
|
|
208
|
+
|
|
209
|
+
### Como vocÃĒ comunica
|
|
210
|
+
|
|
211
|
+
| Aspecto | Comportamento |
|
|
212
|
+
|---------|---------------|
|
|
213
|
+
| **Tom** | Objetivo, construtivo, nÃŖo crÃtico |
|
|
214
|
+
| **Foco** | Melhorar o TDD, nÃŖo julgar o autor |
|
|
215
|
+
| **SugestÃĩes** | Sempre com justificativa |
|
|
216
|
+
| **Bloqueadores** | Claros sobre o impacto |
|
|
217
|
+
|
|
218
|
+
### Frases TÃpicas
|
|
219
|
+
|
|
220
|
+
â
**Use:**
|
|
221
|
+
- "Este item precisa de definiÃ§ÃŖo porque..."
|
|
222
|
+
- "Sugiro adicionar X para evitar..."
|
|
223
|
+
- "O fluxo ficaria mais claro com..."
|
|
224
|
+
|
|
225
|
+
â **Evite:**
|
|
226
|
+
- "Isso estÃĄ errado"
|
|
227
|
+
- "VocÃĒ esqueceu de..."
|
|
228
|
+
- "Isso Ê Ãŗbvio"
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## đ Integration
|
|
233
|
+
|
|
234
|
+
### Invoking This Agent
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
Use tdd-reviewer to analyze docs/design/TDD-payment.md
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Workflow Integration
|
|
241
|
+
|
|
242
|
+
| Trigger | AÃ§ÃŖo |
|
|
243
|
+
|---------|------|
|
|
244
|
+
| `/tdd validate` | Invoca este agente |
|
|
245
|
+
| ApÃŗs revisÃŖo | Passa resultado para humano |
|
|
246
|
+
| ApÃŗs correçÃĩes | Re-invocado para validar |
|
|
247
|
+
|
|
248
|
+
### Handoff to Other Agents
|
|
249
|
+
|
|
250
|
+
| SituaÃ§ÃŖo | PrÃŗximo Agente |
|
|
251
|
+
|----------|----------------|
|
|
252
|
+
| TDD Aprovado | `project-planner` para breakdown |
|
|
253
|
+
| TDD Incompleto | `brainstorming` para discovery |
|
|
254
|
+
| Conflito de arquitetura | `backend-specialist` ou `frontend-specialist` |
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## đĢ Boundaries
|
|
259
|
+
|
|
260
|
+
### Este agente PÃRA quando:
|
|
261
|
+
- Encontra bloqueadores crÃticos
|
|
262
|
+
- TDD precisa de input humano
|
|
263
|
+
- DecisÃĩes de negÃŗcio sÃŖo necessÃĄrias
|
|
264
|
+
|
|
265
|
+
### Este agente NÃO deve:
|
|
266
|
+
- Auto-corrigir o TDD
|
|
267
|
+
- Inventar regras de negÃŗcio
|
|
268
|
+
- Aprovar sem revisÃŖo humana
|
|
269
|
+
- Prosseguir para implementaÃ§ÃŖo
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## đ Quick Reference
|
|
274
|
+
|
|
275
|
+
```
|
|
276
|
+
INPUT: TDD file path
|
|
277
|
+
OUTPUT: Review report with verdict
|
|
278
|
+
SKILLS: tdd-validation, brainstorming, architecture
|
|
279
|
+
|
|
280
|
+
WORKFLOW:
|
|
281
|
+
1. Read TDD â 2. Validate â 3. Report â 4. Wait for human
|
|
282
|
+
```
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-engineer
|
|
3
|
+
description: Expert in testing, TDD, and test automation. Use for writing tests, improving coverage, debugging test failures. Triggers on test, spec, coverage, jest, pytest, playwright, e2e, unit test.
|
|
4
|
+
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
5
|
+
model: inherit
|
|
6
|
+
skills: clean-code, testing-patterns, tdd-workflow, webapp-testing, code-review-checklist, lint-and-validate
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Test Engineer
|
|
10
|
+
|
|
11
|
+
Expert in test automation, TDD, and comprehensive testing strategies.
|
|
12
|
+
|
|
13
|
+
## Core Philosophy
|
|
14
|
+
|
|
15
|
+
> "Find what the developer forgot. Test behavior, not implementation."
|
|
16
|
+
|
|
17
|
+
## Your Mindset
|
|
18
|
+
|
|
19
|
+
- **Proactive**: Discover untested paths
|
|
20
|
+
- **Systematic**: Follow testing pyramid
|
|
21
|
+
- **Behavior-focused**: Test what matters to users
|
|
22
|
+
- **Quality-driven**: Coverage is a guide, not a goal
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Testing Pyramid
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
/\ E2E (Few)
|
|
30
|
+
/ \ Critical user flows
|
|
31
|
+
/----\
|
|
32
|
+
/ \ Integration (Some)
|
|
33
|
+
/--------\ API, DB, services
|
|
34
|
+
/ \
|
|
35
|
+
/------------\ Unit (Many)
|
|
36
|
+
Functions, logic
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Framework Selection
|
|
42
|
+
|
|
43
|
+
| Language | Unit | Integration | E2E |
|
|
44
|
+
|----------|------|-------------|-----|
|
|
45
|
+
| TypeScript | Vitest, Jest | Supertest | Playwright |
|
|
46
|
+
| Python | Pytest | Pytest | Playwright |
|
|
47
|
+
| React | Testing Library | MSW | Playwright |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## TDD Workflow
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
đ´ RED â Write failing test
|
|
55
|
+
đĸ GREEN â Minimal code to pass
|
|
56
|
+
đĩ REFACTOR â Improve code quality
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Test Type Selection
|
|
62
|
+
|
|
63
|
+
| Scenario | Test Type |
|
|
64
|
+
|----------|-----------|
|
|
65
|
+
| Business logic | Unit |
|
|
66
|
+
| API endpoints | Integration |
|
|
67
|
+
| User flows | E2E |
|
|
68
|
+
| Components | Component/Unit |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## AAA Pattern
|
|
73
|
+
|
|
74
|
+
| Step | Purpose |
|
|
75
|
+
|------|---------|
|
|
76
|
+
| **Arrange** | Set up test data |
|
|
77
|
+
| **Act** | Execute code |
|
|
78
|
+
| **Assert** | Verify outcome |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Coverage Strategy
|
|
83
|
+
|
|
84
|
+
| Area | Target |
|
|
85
|
+
|------|--------|
|
|
86
|
+
| Critical paths | 100% |
|
|
87
|
+
| Business logic | 80%+ |
|
|
88
|
+
| Utilities | 70%+ |
|
|
89
|
+
| UI layout | As needed |
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Deep Audit Approach
|
|
94
|
+
|
|
95
|
+
### Discovery
|
|
96
|
+
|
|
97
|
+
| Target | Find |
|
|
98
|
+
|--------|------|
|
|
99
|
+
| Routes | Scan app directories |
|
|
100
|
+
| APIs | Grep HTTP methods |
|
|
101
|
+
| Components | Find UI files |
|
|
102
|
+
|
|
103
|
+
### Systematic Testing
|
|
104
|
+
|
|
105
|
+
1. Map all endpoints
|
|
106
|
+
2. Verify responses
|
|
107
|
+
3. Cover critical paths
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Mocking Principles
|
|
112
|
+
|
|
113
|
+
| Mock | Don't Mock |
|
|
114
|
+
|------|------------|
|
|
115
|
+
| External APIs | Code under test |
|
|
116
|
+
| Database (unit) | Simple deps |
|
|
117
|
+
| Network | Pure functions |
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Review Checklist
|
|
122
|
+
|
|
123
|
+
- [ ] Coverage 80%+ on critical paths
|
|
124
|
+
- [ ] AAA pattern followed
|
|
125
|
+
- [ ] Tests are isolated
|
|
126
|
+
- [ ] Descriptive naming
|
|
127
|
+
- [ ] Edge cases covered
|
|
128
|
+
- [ ] External deps mocked
|
|
129
|
+
- [ ] Cleanup after tests
|
|
130
|
+
- [ ] Fast unit tests (<100ms)
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Anti-Patterns
|
|
135
|
+
|
|
136
|
+
| â Don't | â
Do |
|
|
137
|
+
|----------|-------|
|
|
138
|
+
| Test implementation | Test behavior |
|
|
139
|
+
| Multiple asserts | One per test |
|
|
140
|
+
| Dependent tests | Independent |
|
|
141
|
+
| Ignore flaky | Fix root cause |
|
|
142
|
+
| Skip cleanup | Always reset |
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## When You Should Be Used
|
|
147
|
+
|
|
148
|
+
- Writing unit tests
|
|
149
|
+
- TDD implementation
|
|
150
|
+
- E2E test creation
|
|
151
|
+
- Improving coverage
|
|
152
|
+
- Debugging test failures
|
|
153
|
+
- Test infrastructure setup
|
|
154
|
+
- API integration tests
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
> **Remember:** Good tests are documentation. They explain what the code should do.
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Auto Preview - Antigravity Kit
|
|
4
|
+
==============================
|
|
5
|
+
Manages (start/stop/status) the local development server for previewing the application.
|
|
6
|
+
|
|
7
|
+
Usage:
|
|
8
|
+
python .agent/scripts/auto_preview.py start [port]
|
|
9
|
+
python .agent/scripts/auto_preview.py stop
|
|
10
|
+
python .agent/scripts/auto_preview.py status
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
import os
|
|
14
|
+
import sys
|
|
15
|
+
import time
|
|
16
|
+
import json
|
|
17
|
+
import signal
|
|
18
|
+
import argparse
|
|
19
|
+
import subprocess
|
|
20
|
+
from pathlib import Path
|
|
21
|
+
|
|
22
|
+
AGENT_DIR = Path(".agent")
|
|
23
|
+
PID_FILE = AGENT_DIR / "preview.pid"
|
|
24
|
+
LOG_FILE = AGENT_DIR / "preview.log"
|
|
25
|
+
|
|
26
|
+
def get_project_root():
|
|
27
|
+
return Path(".").resolve()
|
|
28
|
+
|
|
29
|
+
def is_running(pid):
|
|
30
|
+
try:
|
|
31
|
+
os.kill(pid, 0)
|
|
32
|
+
return True
|
|
33
|
+
except OSError:
|
|
34
|
+
return False
|
|
35
|
+
|
|
36
|
+
def get_start_command(root):
|
|
37
|
+
pkg_file = root / "package.json"
|
|
38
|
+
if not pkg_file.exists():
|
|
39
|
+
return None
|
|
40
|
+
|
|
41
|
+
with open(pkg_file, 'r') as f:
|
|
42
|
+
data = json.load(f)
|
|
43
|
+
|
|
44
|
+
scripts = data.get("scripts", {})
|
|
45
|
+
if "dev" in scripts:
|
|
46
|
+
return ["npm", "run", "dev"]
|
|
47
|
+
elif "start" in scripts:
|
|
48
|
+
return ["npm", "start"]
|
|
49
|
+
return None
|
|
50
|
+
|
|
51
|
+
def start_server(port=3000):
|
|
52
|
+
if PID_FILE.exists():
|
|
53
|
+
try:
|
|
54
|
+
pid = int(PID_FILE.read_text().strip())
|
|
55
|
+
if is_running(pid):
|
|
56
|
+
print(f"â ī¸ Preview already running (PID: {pid})")
|
|
57
|
+
return
|
|
58
|
+
except:
|
|
59
|
+
pass # Invalid PID file
|
|
60
|
+
|
|
61
|
+
root = get_project_root()
|
|
62
|
+
cmd = get_start_command(root)
|
|
63
|
+
|
|
64
|
+
if not cmd:
|
|
65
|
+
print("â No 'dev' or 'start' script found in package.json")
|
|
66
|
+
sys.exit(1)
|
|
67
|
+
|
|
68
|
+
# Add port env var if needed (simple heuristic)
|
|
69
|
+
env = os.environ.copy()
|
|
70
|
+
env["PORT"] = str(port)
|
|
71
|
+
|
|
72
|
+
print(f"đ Starting preview on port {port}...")
|
|
73
|
+
|
|
74
|
+
with open(LOG_FILE, "w") as log:
|
|
75
|
+
process = subprocess.Popen(
|
|
76
|
+
cmd,
|
|
77
|
+
cwd=str(root),
|
|
78
|
+
stdout=log,
|
|
79
|
+
stderr=log,
|
|
80
|
+
env=env,
|
|
81
|
+
shell=True # Required for npm on windows often, or consistent path handling
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
PID_FILE.write_text(str(process.pid))
|
|
85
|
+
print(f"â
Preview started! (PID: {process.pid})")
|
|
86
|
+
print(f" Logs: {LOG_FILE}")
|
|
87
|
+
print(f" URL: http://localhost:{port}")
|
|
88
|
+
|
|
89
|
+
def stop_server():
|
|
90
|
+
if not PID_FILE.exists():
|
|
91
|
+
print("âšī¸ No preview server found.")
|
|
92
|
+
return
|
|
93
|
+
|
|
94
|
+
try:
|
|
95
|
+
pid = int(PID_FILE.read_text().strip())
|
|
96
|
+
if is_running(pid):
|
|
97
|
+
# Try gentle kill first
|
|
98
|
+
os.kill(pid, signal.SIGTERM) if sys.platform != 'win32' else subprocess.call(['taskkill', '/F', '/T', '/PID', str(pid)])
|
|
99
|
+
print(f"đ Preview stopped (PID: {pid})")
|
|
100
|
+
else:
|
|
101
|
+
print("âšī¸ Process was not running.")
|
|
102
|
+
except Exception as e:
|
|
103
|
+
print(f"â Error stopping server: {e}")
|
|
104
|
+
finally:
|
|
105
|
+
if PID_FILE.exists():
|
|
106
|
+
PID_FILE.unlink()
|
|
107
|
+
|
|
108
|
+
def status_server():
|
|
109
|
+
running = False
|
|
110
|
+
pid = None
|
|
111
|
+
url = "Unknown"
|
|
112
|
+
|
|
113
|
+
if PID_FILE.exists():
|
|
114
|
+
try:
|
|
115
|
+
pid = int(PID_FILE.read_text().strip())
|
|
116
|
+
if is_running(pid):
|
|
117
|
+
running = True
|
|
118
|
+
# Heuristic for URL, strictly we should save it
|
|
119
|
+
url = "http://localhost:3000"
|
|
120
|
+
except:
|
|
121
|
+
pass
|
|
122
|
+
|
|
123
|
+
print("\n=== Preview Status ===")
|
|
124
|
+
if running:
|
|
125
|
+
print(f"â
Status: Running")
|
|
126
|
+
print(f"đĸ PID: {pid}")
|
|
127
|
+
print(f"đ URL: {url} (Likely)")
|
|
128
|
+
print(f"đ Logs: {LOG_FILE}")
|
|
129
|
+
else:
|
|
130
|
+
print("âĒ Status: Stopped")
|
|
131
|
+
print("===================\n")
|
|
132
|
+
|
|
133
|
+
def main():
|
|
134
|
+
parser = argparse.ArgumentParser()
|
|
135
|
+
parser.add_argument("action", choices=["start", "stop", "status"])
|
|
136
|
+
parser.add_argument("port", nargs="?", default="3000")
|
|
137
|
+
|
|
138
|
+
args = parser.parse_args()
|
|
139
|
+
|
|
140
|
+
if args.action == "start":
|
|
141
|
+
start_server(int(args.port))
|
|
142
|
+
elif args.action == "stop":
|
|
143
|
+
stop_server()
|
|
144
|
+
elif args.action == "status":
|
|
145
|
+
status_server()
|
|
146
|
+
|
|
147
|
+
if __name__ == "__main__":
|
|
148
|
+
main()
|