@polymorphism-tech/morph-spec 4.6.0 → 4.7.1

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.
Files changed (239) hide show
  1. package/README.md +414 -700
  2. package/docs/ARCHITECTURE.md +331 -0
  3. package/docs/CHEATSHEET.md +221 -0
  4. package/docs/COMMAND-FLOWS.md +368 -0
  5. package/docs/QUICKSTART.md +212 -0
  6. package/docs/examples/order-management/contracts.cs +84 -0
  7. package/docs/examples/order-management/proposal.md +24 -0
  8. package/docs/examples/order-management/spec.md +162 -0
  9. package/docs/plans/2026-02-23-ddd-architecture-refactor.md +1153 -0
  10. package/docs/plans/2026-02-23-ddd-nextsteps.md +682 -0
  11. package/docs/plans/2026-02-23-infra-architect-refactor.md +437 -0
  12. package/docs/plans/2026-02-23-nextjs-code-review-design.md +156 -0
  13. package/docs/plans/2026-02-23-nextjs-code-review-impl.md +1254 -0
  14. package/docs/plans/2026-02-23-nextjs-standards-design.md +149 -0
  15. package/docs/plans/2026-02-23-nextjs-standards-impl.md +1846 -0
  16. package/framework/agents/README.md +14 -14
  17. package/framework/agents/architecture/standards-architect.md +159 -159
  18. package/framework/agents/frontend/nextjs-expert.md +87 -127
  19. package/framework/agents/infrastructure/azure-architect.md +147 -147
  20. package/framework/agents/infrastructure/infra-architect.md +45 -0
  21. package/framework/agents.json +1145 -278
  22. package/framework/rules/frontend-standards.md +0 -3
  23. package/framework/rules/nextjs-standards.md +17 -0
  24. package/framework/skills/level-0-meta/code-review-nextjs/SKILL.md +147 -0
  25. package/framework/skills/level-0-meta/code-review-nextjs/references/review-example-nextjs.md +254 -0
  26. package/framework/skills/level-0-meta/tool-usage-guide/SKILL.md +3 -3
  27. package/framework/skills/level-1-workflows/phase-design/SKILL.md +45 -9
  28. package/framework/skills/level-1-workflows/phase-tasks/SKILL.md +38 -0
  29. package/framework/standards/STANDARDS.json +121 -0
  30. package/framework/standards/architecture/ddd/bounded-contexts.md +105 -0
  31. package/framework/standards/architecture/ddd/complexity-levels.md +108 -0
  32. package/framework/standards/architecture/ddd/ubiquitous-language.md +58 -0
  33. package/framework/standards/frontend/nextjs/app-router.md +123 -0
  34. package/framework/standards/frontend/nextjs/components.md +132 -0
  35. package/framework/standards/frontend/nextjs/data-fetching.md +126 -0
  36. package/framework/standards/frontend/nextjs/forms.md +128 -0
  37. package/framework/standards/frontend/nextjs/naming-conventions.md +67 -0
  38. package/framework/standards/frontend/nextjs/project-structure.md +102 -0
  39. package/framework/standards/frontend/nextjs/state-management.md +72 -0
  40. package/framework/standards/frontend/nextjs/testing.md +111 -0
  41. package/framework/templates/REGISTRY.json +538 -142
  42. package/framework/templates/code/dotnet/contracts/contracts-level1.cs +69 -0
  43. package/framework/templates/code/dotnet/contracts/contracts-level2.cs +86 -0
  44. package/framework/templates/code/dotnet/contracts/contracts-level3.cs +41 -0
  45. package/framework/templates/docs/spec.md +49 -0
  46. package/framework/templates/frontend/nextjs/Dockerfile.nextjs.hbs +43 -0
  47. package/framework/templates/frontend/nextjs/client-component.tsx.hbs +26 -0
  48. package/framework/templates/frontend/nextjs/env.mjs.hbs +32 -0
  49. package/framework/templates/frontend/nextjs/feature-form.tsx.hbs +56 -0
  50. package/framework/templates/frontend/nextjs/page.tsx.hbs +22 -0
  51. package/framework/templates/frontend/nextjs/tsconfig.json.hbs +26 -0
  52. package/framework/templates/frontend/nextjs/use-feature.ts.hbs +54 -0
  53. package/framework/templates/project-structure/dotnet-ddd.md +70 -0
  54. package/framework/workflows/docs/enforcement-pipeline.md +2 -1
  55. package/package.json +1 -1
  56. package/scripts/scan-nextjs.mjs +169 -0
  57. package/src/commands/project/doctor.js +52 -1
  58. package/src/commands/project/init.js +15 -1
  59. package/src/commands/project/update.js +6 -1
  60. package/src/lib/standards/standards-context-injector.js +5 -0
  61. package/src/lib/validators/nextjs/index.js +6 -0
  62. package/src/lib/validators/nextjs/next-component-validator.js +181 -0
  63. package/src/lib/validators/validation-runner.js +5 -0
  64. package/src/utils/agents-installer.js +14 -2
  65. package/.morph/.morphversion +0 -5
  66. package/.morph/analytics/threads-log.jsonl +0 -6
  67. package/.morph/config/config.json +0 -8
  68. package/.morph/framework/agents.json +0 -948
  69. package/.morph/framework/standards/STANDARDS.json +0 -812
  70. package/.morph/framework/standards/ai-agents/blazor-ui.md +0 -364
  71. package/.morph/framework/standards/ai-agents/production.md +0 -415
  72. package/.morph/framework/standards/ai-agents/setup.md +0 -418
  73. package/.morph/framework/standards/ai-agents/team-orchestration.md +0 -479
  74. package/.morph/framework/standards/ai-agents/workflows.md +0 -354
  75. package/.morph/framework/standards/architecture/ddd/aggregates.md +0 -120
  76. package/.morph/framework/standards/architecture/ddd/entities.md +0 -99
  77. package/.morph/framework/standards/architecture/ddd/value-objects.md +0 -124
  78. package/.morph/framework/standards/backend/api/minimal-api.md +0 -494
  79. package/.morph/framework/standards/backend/api/rest.md +0 -492
  80. package/.morph/framework/standards/backend/api/validation.md +0 -88
  81. package/.morph/framework/standards/backend/authentication/passkeys.md +0 -428
  82. package/.morph/framework/standards/backend/database/ef-core.md +0 -199
  83. package/.morph/framework/standards/backend/database/migrations.md +0 -393
  84. package/.morph/framework/standards/backend/database/postgresql/database.md +0 -352
  85. package/.morph/framework/standards/backend/database/repository-patterns.md +0 -528
  86. package/.morph/framework/standards/backend/database/vector-search-rag.md +0 -541
  87. package/.morph/framework/standards/backend/dotnet/async.md +0 -366
  88. package/.morph/framework/standards/backend/dotnet/core.md +0 -117
  89. package/.morph/framework/standards/backend/dotnet/di.md +0 -439
  90. package/.morph/framework/standards/backend/dotnet/program-cs-checklist.md +0 -92
  91. package/.morph/framework/standards/backend/integrations/asaas/asaas-api.md +0 -216
  92. package/.morph/framework/standards/backend/integrations/clerk/clerk-auth.md +0 -290
  93. package/.morph/framework/standards/backend/integrations/hangfire/hangfire-jobs.md +0 -350
  94. package/.morph/framework/standards/backend/integrations/resend/resend-email.md +0 -385
  95. package/.morph/framework/standards/context/analytics.md +0 -96
  96. package/.morph/framework/standards/context/bundles.md +0 -110
  97. package/.morph/framework/standards/context/priming.md +0 -78
  98. package/.morph/framework/standards/core/architecture.md +0 -185
  99. package/.morph/framework/standards/core/coding.md +0 -214
  100. package/.morph/framework/standards/core/git-branching-strategy.md +0 -403
  101. package/.morph/framework/standards/core/git.md +0 -185
  102. package/.morph/framework/standards/core/testing.md +0 -295
  103. package/.morph/framework/standards/data/nosql/blob-storage.md +0 -102
  104. package/.morph/framework/standards/data/nosql/cache/redis.md +0 -97
  105. package/.morph/framework/standards/data/nosql/cosmos-db.md +0 -118
  106. package/.morph/framework/standards/data/vector-search/azure-ai-search.md +0 -121
  107. package/.morph/framework/standards/data/vector-search/rag-chunking.md +0 -104
  108. package/.morph/framework/standards/frontend/blazor/design-checklist.md +0 -222
  109. package/.morph/framework/standards/frontend/blazor/fluent-ui-setup.md +0 -595
  110. package/.morph/framework/standards/frontend/blazor/fluent-ui.md +0 -137
  111. package/.morph/framework/standards/frontend/blazor/html-conversion.md +0 -184
  112. package/.morph/framework/standards/frontend/blazor/lifecycle.md +0 -195
  113. package/.morph/framework/standards/frontend/blazor/pitfalls.md +0 -198
  114. package/.morph/framework/standards/frontend/blazor/state.md +0 -191
  115. package/.morph/framework/standards/frontend/design-system/animations.md +0 -151
  116. package/.morph/framework/standards/frontend/design-system/naming.md +0 -64
  117. package/.morph/framework/standards/frontend/nextjs/nextjs-patterns.md +0 -215
  118. package/.morph/framework/standards/infrastructure/azure/azure.md +0 -624
  119. package/.morph/framework/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -422
  120. package/.morph/framework/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -516
  121. package/.morph/framework/standards/infrastructure/azure/devops/local-development.md +0 -520
  122. package/.morph/framework/standards/infrastructure/azure/services/functions.md +0 -486
  123. package/.morph/framework/standards/infrastructure/azure/services/service-bus.md +0 -459
  124. package/.morph/framework/standards/infrastructure/azure/services/storage.md +0 -407
  125. package/.morph/framework/standards/infrastructure/docker/easypanel-deploy.md +0 -196
  126. package/.morph/framework/standards/infrastructure/supabase/mcp-setup.md +0 -252
  127. package/.morph/framework/standards/infrastructure/supabase/supabase-auth.md +0 -176
  128. package/.morph/framework/standards/infrastructure/supabase/supabase-pgvector.md +0 -169
  129. package/.morph/framework/standards/infrastructure/supabase/supabase-rls.md +0 -184
  130. package/.morph/framework/standards/infrastructure/supabase/supabase-storage.md +0 -153
  131. package/.morph/framework/standards/integration/api/graphql.md +0 -91
  132. package/.morph/framework/standards/integration/api/grpc.md +0 -114
  133. package/.morph/framework/standards/integration/api/rest-design.md +0 -95
  134. package/.morph/framework/standards/integration/event-driven/cqrs.md +0 -101
  135. package/.morph/framework/standards/integration/event-driven/event-sourcing.md +0 -124
  136. package/.morph/framework/standards/integration/event-driven/service-bus.md +0 -95
  137. package/.morph/framework/standards/integration/mcp/mcp-tools.md +0 -384
  138. package/.morph/framework/standards/observability/logging.md +0 -131
  139. package/.morph/framework/standards/observability/metrics.md +0 -121
  140. package/.morph/framework/standards/observability/monitoring.md +0 -114
  141. package/.morph/framework/standards/observability/tracing.md +0 -132
  142. package/.morph/framework/standards/workflows/parallel-execution.md +0 -112
  143. package/.morph/framework/standards/workflows/thread-management.md +0 -113
  144. package/.morph/framework/templates/.idea/morph-templates.xml +0 -92
  145. package/.morph/framework/templates/.vscode/morph-templates.code-snippets +0 -186
  146. package/.morph/framework/templates/IDE-SNIPPETS.md +0 -266
  147. package/.morph/framework/templates/README.md +0 -814
  148. package/.morph/framework/templates/REGISTRY.json +0 -1492
  149. package/.morph/framework/templates/code/dotnet/backend/repository.cs +0 -141
  150. package/.morph/framework/templates/code/dotnet/backend/service.cs +0 -139
  151. package/.morph/framework/templates/code/dotnet/contracts/Commands.cs +0 -74
  152. package/.morph/framework/templates/code/dotnet/contracts/Entities.cs +0 -25
  153. package/.morph/framework/templates/code/dotnet/contracts/Queries.cs +0 -74
  154. package/.morph/framework/templates/code/dotnet/contracts/README.md +0 -74
  155. package/.morph/framework/templates/code/dotnet/contracts/api-contracts.cs +0 -173
  156. package/.morph/framework/templates/code/dotnet/contracts/contracts.cs +0 -217
  157. package/.morph/framework/templates/code/dotnet/contracts/contracts.cs.hbs +0 -172
  158. package/.morph/framework/templates/code/dotnet/database/migration.cs +0 -83
  159. package/.morph/framework/templates/code/dotnet/frontend/component.razor +0 -239
  160. package/.morph/framework/templates/code/dotnet/jobs/agent.cs +0 -163
  161. package/.morph/framework/templates/code/dotnet/jobs/job.cs +0 -171
  162. package/.morph/framework/templates/code/dotnet/test.cs +0 -239
  163. package/.morph/framework/templates/code/sql/rls-policy.sql +0 -57
  164. package/.morph/framework/templates/code/sql/supabase-migration.sql +0 -100
  165. package/.morph/framework/templates/code/sql/supabase-migration.template.sql +0 -113
  166. package/.morph/framework/templates/code/typescript/contracts.ts +0 -168
  167. package/.morph/framework/templates/context/CONTEXT-FEATURE.md +0 -276
  168. package/.morph/framework/templates/context/CONTEXT.md +0 -181
  169. package/.morph/framework/templates/docs/clarifications.md +0 -253
  170. package/.morph/framework/templates/docs/onboarding.md +0 -123
  171. package/.morph/framework/templates/docs/proposal.md +0 -182
  172. package/.morph/framework/templates/docs/schema-analysis.md +0 -119
  173. package/.morph/framework/templates/docs/spec.md +0 -149
  174. package/.morph/framework/templates/docs/ui-components.md +0 -124
  175. package/.morph/framework/templates/docs/ui-design-system.md +0 -76
  176. package/.morph/framework/templates/docs/ui-flows.md +0 -167
  177. package/.morph/framework/templates/docs/ui-mockups.md +0 -98
  178. package/.morph/framework/templates/docs/user-stories.md +0 -34
  179. package/.morph/framework/templates/examples/design-system-examples.md +0 -357
  180. package/.morph/framework/templates/examples/spec-examples.md +0 -90
  181. package/.morph/framework/templates/feature/decisions.md +0 -187
  182. package/.morph/framework/templates/feature/recap.md +0 -146
  183. package/.morph/framework/templates/feature/tasks.md +0 -199
  184. package/.morph/framework/templates/infrastructure/azure/Dockerfile.example +0 -82
  185. package/.morph/framework/templates/infrastructure/azure/README.md +0 -286
  186. package/.morph/framework/templates/infrastructure/azure/app-insights.bicep +0 -63
  187. package/.morph/framework/templates/infrastructure/azure/app-service.bicep +0 -164
  188. package/.morph/framework/templates/infrastructure/azure/container-app-env.bicep +0 -49
  189. package/.morph/framework/templates/infrastructure/azure/container-app.bicep +0 -156
  190. package/.morph/framework/templates/infrastructure/azure/deploy-checklist.md +0 -426
  191. package/.morph/framework/templates/infrastructure/azure/deploy.ps1 +0 -229
  192. package/.morph/framework/templates/infrastructure/azure/deploy.sh +0 -208
  193. package/.morph/framework/templates/infrastructure/azure/key-vault.bicep +0 -91
  194. package/.morph/framework/templates/infrastructure/azure/main.bicep +0 -189
  195. package/.morph/framework/templates/infrastructure/azure/parameters.dev.json +0 -29
  196. package/.morph/framework/templates/infrastructure/azure/parameters.prod.json +0 -29
  197. package/.morph/framework/templates/infrastructure/azure/parameters.staging.json +0 -29
  198. package/.morph/framework/templates/infrastructure/azure/sql-database.bicep +0 -103
  199. package/.morph/framework/templates/infrastructure/azure/storage.bicep +0 -106
  200. package/.morph/framework/templates/infrastructure/docker/Dockerfile.template +0 -58
  201. package/.morph/framework/templates/infrastructure/docker/docker-compose.template.yml +0 -67
  202. package/.morph/framework/templates/infrastructure/docker/dockerfile-api.dockerfile +0 -38
  203. package/.morph/framework/templates/infrastructure/docker/dockerfile-web.dockerfile +0 -48
  204. package/.morph/framework/templates/infrastructure/docker/easypanel.template.json +0 -54
  205. package/.morph/framework/templates/infrastructure/github/README.md +0 -593
  206. package/.morph/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +0 -22
  207. package/.morph/framework/templates/infrastructure/github/actions/docker-build-push/action.yml.hbs +0 -45
  208. package/.morph/framework/templates/infrastructure/github/actions/health-check/action.yml.hbs +0 -27
  209. package/.morph/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +0 -61
  210. package/.morph/framework/templates/infrastructure/github/workflows/deploy-easypanel.yml.hbs +0 -31
  211. package/.morph/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs +0 -59
  212. package/.morph/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs +0 -39
  213. package/.morph/framework/templates/integrations/asaas-client.cs +0 -387
  214. package/.morph/framework/templates/integrations/asaas-webhook.cs +0 -351
  215. package/.morph/framework/templates/integrations/azure-identity-config.cs +0 -288
  216. package/.morph/framework/templates/integrations/clerk-config.cs +0 -258
  217. package/.morph/framework/templates/meta-prompts/fusion/fusion-agent.md +0 -76
  218. package/.morph/framework/templates/meta-prompts/fusion/fusion-aggregator.md +0 -100
  219. package/.morph/framework/templates/meta-prompts/hops/hop-retry.md +0 -78
  220. package/.morph/framework/templates/meta-prompts/hops/hop-validation.md +0 -97
  221. package/.morph/framework/templates/meta-prompts/hops/hop-wrapper.md +0 -36
  222. package/.morph/framework/templates/meta-prompts/parallel-workers/parallel-coordinator.md +0 -113
  223. package/.morph/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +0 -80
  224. package/.morph/framework/templates/meta-prompts/squad-leaders/backend-squad.md +0 -90
  225. package/.morph/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +0 -126
  226. package/.morph/framework/templates/meta-prompts/squad-leaders/squad-leader.md +0 -43
  227. package/.morph/framework/templates/meta-prompts/validators/checkpoint-validator.md +0 -107
  228. package/.morph/framework/templates/meta-prompts/validators/pre-commit-validator.md +0 -95
  229. package/.morph/framework/templates/saas/subscription.cs +0 -347
  230. package/.morph/framework/templates/saas/tenant.cs +0 -338
  231. package/.morph/framework/templates/state.template.json +0 -17
  232. package/.morph/framework/templates/ui/FluentDesignTheme.cs +0 -149
  233. package/.morph/framework/templates/ui/MudTheme.cs +0 -281
  234. package/.morph/framework/templates/ui/design-system.css +0 -226
  235. package/.morph/logs/tool-failures.log +0 -7
  236. package/.morph/memory/pre-compact-2026-02-23T15-43-03-521Z.json +0 -16
  237. package/.morph/state.json +0 -48
  238. package/framework/templates/code/dotnet/contracts/contracts.cs +0 -217
  239. package/framework/templates/code/dotnet/contracts/contracts.cs.hbs +0 -172
@@ -1,403 +0,0 @@
1
- # Git Branching Strategy
2
-
3
- > **Scope:** universal
4
- > **Layer:** 0
5
- > **Keywords:** git, branch, workflow, pr, pull request, merge, staging, production, feature branch
6
- > **Load When:** always
7
-
8
- > **Git Flow simplificado para one-person business**
9
-
10
- ---
11
-
12
- ## 🌳 Estrutura de Branches
13
-
14
- ```
15
- main/master (produção)
16
-
17
- │ PR (com aprovação)
18
-
19
- staging (homologação)
20
-
21
- │ PR (automático merge)
22
-
23
- feature/* (desenvolvimento)
24
- ```
25
-
26
- ### **Branches Principais**
27
-
28
- | Branch | Propósito | Deploy | Aprovação |
29
- |--------|-----------|--------|-----------|
30
- | **`main`** ou **`master`** | Produção | Container Apps (always-on) | ✅ Obrigatória |
31
- | **`staging`** | Homologação/QA | Container Apps (scale-to-zero) | ❌ Nenhuma |
32
-
33
- ### **Branches Temporárias**
34
-
35
- | Padrão | Exemplo | Propósito |
36
- |--------|---------|-----------|
37
- | `feature/*` | `feature/add-payments` | Nova funcionalidade |
38
- | `bugfix/*` | `bugfix/fix-login` | Correção de bug |
39
- | `hotfix/*` | `hotfix/critical-security` | Correção urgente em prod |
40
-
41
- ---
42
-
43
- ## 🔄 Workflow Completo
44
-
45
- ### 1. Nova Feature
46
-
47
- ```bash
48
- # Atualizar staging
49
- git checkout staging
50
- git pull origin staging
51
-
52
- # Criar feature branch
53
- git checkout -b feature/pagamentos-asaas
54
-
55
- # Desenvolver localmente
56
- # ... code, test, commit ...
57
-
58
- # Push
59
- git push origin feature/pagamentos-asaas
60
-
61
- # Criar PR para staging
62
- ```
63
-
64
- **Azure DevOps**:
65
- 1. **Repos** → **Pull Requests** → **New**
66
- 2. Source: `feature/pagamentos-asaas`
67
- 3. Target: `staging`
68
- 4. Title: "feat: integração com Asaas para pagamentos recorrentes"
69
- 5. Description: Detalhar mudanças
70
- 6. **Create**
71
- 7. **Approve** (você mesmo) e **Complete**
72
-
73
- **Resultado**: Pipeline staging triggado automaticamente
74
-
75
- ---
76
-
77
- ### 2. Bug Fix
78
-
79
- ```bash
80
- # Partir de staging
81
- git checkout staging
82
- git pull origin staging
83
-
84
- # Criar bugfix branch
85
- git checkout -b bugfix/corrigir-calculo-total
86
-
87
- # Corrigir + testar
88
- git add .
89
- git commit -m "fix: corrige cálculo de total no carrinho"
90
-
91
- # Push e PR para staging
92
- git push origin bugfix/corrigir-calculo-total
93
- ```
94
-
95
- ---
96
-
97
- ### 3. Hotfix (Produção)
98
-
99
- ```bash
100
- # Partir de main (produção)
101
- git checkout main
102
- git pull origin main
103
-
104
- # Criar hotfix branch
105
- git checkout -b hotfix/vulnerabilidade-critica
106
-
107
- # Corrigir urgentemente
108
- git add .
109
- git commit -m "fix: corrige vulnerabilidade SQL injection"
110
-
111
- # Push
112
- git push origin hotfix/vulnerabilidade-critica
113
-
114
- # Criar 2 PRs:
115
- # 1. hotfix → main (deploy imediato)
116
- # 2. hotfix → staging (manter ambientes sincronizados)
117
- ```
118
-
119
- **Atenção**: Hotfix é para emergências! Use com moderação.
120
-
121
- ---
122
-
123
- ### 4. Release (Staging → Produção)
124
-
125
- ```bash
126
- # Quando staging estiver estável e testado
127
-
128
- # Criar PR no Azure DevOps:
129
- # Source: staging
130
- # Target: main
131
-
132
- # Self-review checklist:
133
- # - [ ] Funcionalidades testadas em staging
134
- # - [ ] Performance OK
135
- # - [ ] Sem erros nos logs
136
- # - [ ] Migrations aplicadas
137
- # - [ ] Documentação atualizada
138
-
139
- # Approve e Complete
140
- # Pipeline prod triggará
141
- # ⏸️ Approval gate aparecerá
142
- # Aprovar após validar deployment summary
143
- ```
144
-
145
- ---
146
-
147
- ## ⚙️ Configuração Azure DevOps
148
-
149
- ### Branch Policies (Staging)
150
-
151
- **Repos** → **Branches** → `staging` → **Branch policies**:
152
-
153
- ```
154
- ✅ Require a minimum number of reviewers: 0
155
- (você pode fazer self-merge)
156
-
157
- ✅ Check for linked work items: Recommended
158
- (boa prática para rastreabilidade)
159
-
160
- ✅ Check for comment resolution: All
161
- (resolver comentários antes de merge)
162
-
163
- ✅ Build validation:
164
- - Pipeline: staging-pipeline
165
- - Trigger: Automatic
166
- - Policy requirement: Required
167
- ```
168
-
169
- ### Branch Policies (Main)
170
-
171
- **Repos** → **Branches** → `main` → **Branch policies**:
172
-
173
- ```
174
- ✅ Require a minimum number of reviewers: 0
175
- (você faz self-review com approval gate no pipeline)
176
-
177
- ✅ Check for linked work items: Required
178
- (obrigatório para rastreabilidade)
179
-
180
- ✅ Check for comment resolution: All
181
-
182
- ✅ Build validation:
183
- - Pipeline: prod-pipeline
184
- - Trigger: Automatic
185
- - Policy requirement: Required
186
-
187
- ❌ Limit merge types:
188
- ✅ Squash merge only (recomendado)
189
- (mantém histórico limpo)
190
- ```
191
-
192
- ---
193
-
194
- ## 🎯 Boas Práticas
195
-
196
- ### Commits
197
-
198
- ```bash
199
- # Use Conventional Commits
200
- feat: adiciona integração com Asaas
201
- fix: corrige cálculo de desconto
202
- docs: atualiza README com instruções de deploy
203
- refactor: simplifica lógica de autenticação
204
- test: adiciona testes para carrinho de compras
205
- chore: atualiza dependências do projeto
206
-
207
- # Seja descritivo no body (se necessário)
208
- git commit -m "feat: integração Asaas" -m "
209
- - Adiciona AsaasClient para chamadas API
210
- - Implementa webhook para notificações
211
- - Cria tabela Subscriptions para assinaturas
212
- - Adiciona testes de integração
213
- "
214
- ```
215
-
216
- ### Feature Branches
217
-
218
- ```bash
219
- # ✅ Bom
220
- feature/add-asaas-integration
221
- feature/user-dashboard
222
- bugfix/fix-login-redirect
223
-
224
- # ❌ Ruim
225
- my-changes
226
- temp
227
- test
228
- wip
229
- ```
230
-
231
- ### Merge vs Squash vs Rebase
232
-
233
- **Recomendação para one-person business**: **Squash merge**
234
-
235
- ```
236
- # Vantagens squash:
237
- - Histórico limpo em main/staging
238
- - Cada merge = 1 commit = 1 feature
239
- - Fácil reverter feature inteira
240
- - Fácil ler changelog
241
-
242
- # Configurar no Azure DevOps:
243
- Branch Policies → Limit merge types → Squash merge only
244
- ```
245
-
246
- ---
247
-
248
- ## 📊 Visualização do Fluxo
249
-
250
- ```
251
- ┌─────────────────────────────────────────────────────────┐
252
- │ Developer Local │
253
- │ │
254
- │ feature/pagamentos-asaas │
255
- │ │ │
256
- │ ├─ commit: adiciona AsaasClient │
257
- │ ├─ commit: implementa webhook │
258
- │ └─ commit: adiciona testes │
259
- └──────────────────────│──────────────────────────────────┘
260
-
261
- │ git push
262
- │ + PR para staging
263
-
264
- ┌─────────────────────────────────────────────────────────┐
265
- │ Staging Branch │
266
- │ │
267
- │ Squash merge │
268
- │ └─ feat: integração completa com Asaas │
269
- │ │
270
- │ Pipeline staging-pipeline triggado │
271
- │ └─ Deploy automático para staging │
272
- └──────────────────────│──────────────────────────────────┘
273
-
274
- │ Testes manuais OK
275
- │ PR staging → main
276
-
277
- ┌─────────────────────────────────────────────────────────┐
278
- │ Main Branch (Produção) │
279
- │ │
280
- │ Squash merge │
281
- │ └─ feat: integração completa com Asaas │
282
- │ │
283
- │ Pipeline prod-pipeline triggado │
284
- │ ├─ Build & Security Scan │
285
- │ ├─ ⏸️ Approval gate (você aprova) │
286
- │ └─ Deploy para produção │
287
- └─────────────────────────────────────────────────────────┘
288
- ```
289
-
290
- ---
291
-
292
- ## 🆘 Cenários Comuns
293
-
294
- ### Conflito de Merge
295
-
296
- ```bash
297
- # Atualizar feature branch com staging
298
- git checkout feature/minha-feature
299
- git fetch origin
300
- git merge origin/staging
301
-
302
- # Resolver conflitos manualmente
303
- # Editar arquivos, escolher versão correta
304
-
305
- git add .
306
- git commit -m "merge: resolve conflitos com staging"
307
- git push origin feature/minha-feature
308
- ```
309
-
310
- ### Reverter um Merge
311
-
312
- ```bash
313
- # Se merge em staging deu problema
314
- git checkout staging
315
- git revert -m 1 <commit-hash-do-merge>
316
- git push origin staging
317
-
318
- # Pipeline triggará e deployará versão sem a feature
319
- ```
320
-
321
- ### Sincronizar Branch Desatualizada
322
-
323
- ```bash
324
- # Sua feature ficou muito desatualizada
325
- git checkout feature/antiga
326
- git fetch origin
327
- git merge origin/staging
328
-
329
- # Ou, se preferir histórico limpo (rebase)
330
- git rebase origin/staging
331
-
332
- # Se houver conflitos, resolve e continua
333
- git rebase --continue
334
-
335
- git push origin feature/antiga --force-with-lease
336
- ```
337
-
338
- ### Deletar Branch Remota
339
-
340
- ```bash
341
- # Após merge, deletar feature branch
342
- git push origin --delete feature/minha-feature
343
-
344
- # Deletar local também
345
- git branch -d feature/minha-feature
346
- ```
347
-
348
- ---
349
-
350
- ## 📅 Cadência Recomendada
351
-
352
- ### Para One-Person Business
353
-
354
- | Atividade | Frequência | Descrição |
355
- |-----------|------------|-----------|
356
- | **Commits** | Várias vezes/dia | Commits pequenos e frequentes |
357
- | **Push** | 1-2x/dia | Push ao final do dia ou feature completa |
358
- | **PR → Staging** | 1-3x/semana | Quando feature está funcional |
359
- | **Deploy Staging** | Automático | Após merge no staging |
360
- | **PR → Prod** | 1x/semana ou quinzenal | Quando staging está estável |
361
- | **Deploy Prod** | Conforme necessário | Após aprovação manual |
362
-
363
- **Dica**: Não acumule muitas features antes de fazer release. Releases pequenos e frequentes são mais seguros.
364
-
365
- ---
366
-
367
- ## ✅ Checklist de PR
368
-
369
- ### Antes de Criar PR
370
-
371
- - [ ] Código testado localmente
372
- - [ ] Unit tests passando (`dotnet test`)
373
- - [ ] Sem warnings de compilação
374
- - [ ] Código formatado/lint OK
375
- - [ ] Commits com mensagens descritivas
376
- - [ ] Branch atualizada com target (staging ou main)
377
-
378
- ### Ao Criar PR
379
-
380
- - [ ] Título descritivo (feat/fix/docs/etc)
381
- - [ ] Descrição clara do que mudou
382
- - [ ] Linkar work item se houver
383
- - [ ] Adicionar screenshots se for UI
384
-
385
- ### Antes de Aprovar (Self-Review)
386
-
387
- - [ ] Revisar diff completo
388
- - [ ] Verificar se não commitou secrets/senhas
389
- - [ ] Verificar se não tem console.log/debug temporário
390
- - [ ] Pipeline de build passou
391
- - [ ] Sem conflitos
392
-
393
- ---
394
-
395
- ## 📚 Referências
396
-
397
- - [Git Flow](https://nvie.com/posts/a-successful-git-branching-model/)
398
- - [Conventional Commits](https://www.conventionalcommits.org/)
399
- - [Azure Repos Branch Policies](https://learn.microsoft.com/azure/devops/repos/git/branch-policies)
400
-
401
- ---
402
-
403
- *MORPH-SPEC by Polymorphism Tech*
@@ -1,185 +0,0 @@
1
- # Git Standards
2
-
3
- > **Scope:** universal
4
- > **Layer:** 0 (always load)
5
- > **Keywords:** git, commit, branch, version control, collaboration
6
- > **Load When:** always
7
-
8
- Version control and collaboration standards for MORPH-SPEC projects
9
-
10
- ---
11
-
12
- ## Commit Messages
13
-
14
- ### Format
15
-
16
- ```
17
- <type>(<scope>): <subject>
18
-
19
- <body>
20
-
21
- <footer>
22
- ```
23
-
24
- ### Types
25
-
26
- - `feat`: New feature
27
- - `fix`: Bug fix
28
- - `docs`: Documentation only
29
- - `style`: Code style (formatting, no logic change)
30
- - `refactor`: Code refactoring (no feature/fix)
31
- - `test`: Adding/updating tests
32
- - `chore`: Build/tool/dependency updates
33
- - `perf`: Performance improvement
34
-
35
- ### Examples
36
-
37
- ```bash
38
- feat(auth): add JWT refresh token rotation
39
-
40
- Implemented automatic refresh token rotation on every token refresh
41
- to improve security. Old tokens are invalidated immediately.
42
-
43
- Closes #123
44
- ```
45
-
46
- ```bash
47
- fix(api): prevent SQL injection in search endpoint
48
-
49
- Sanitized user input before database query execution.
50
- Added parameterized queries for all search operations.
51
- ```
52
-
53
- ---
54
-
55
- ## Branch Naming
56
-
57
- ### Format
58
-
59
- ```
60
- <type>/<issue-number>-<short-description>
61
- ```
62
-
63
- ### Types
64
-
65
- - `feature/` - New features
66
- - `bugfix/` - Bug fixes
67
- - `hotfix/` - Urgent production fixes
68
- - `refactor/` - Code refactoring
69
- - `docs/` - Documentation updates
70
-
71
- ### Examples
72
-
73
- ```bash
74
- feature/123-user-authentication
75
- bugfix/456-login-redirect
76
- hotfix/789-payment-gateway-timeout
77
- ```
78
-
79
- ---
80
-
81
- ## Workflow
82
-
83
- ### Feature Development
84
-
85
- ```bash
86
- # 1. Create branch from main
87
- git checkout main
88
- git pull origin main
89
- git checkout -b feature/123-user-auth
90
-
91
- # 2. Make changes, commit often
92
- git add .
93
- git commit -m "feat(auth): add User entity"
94
-
95
- # 3. Push to remote
96
- git push -u origin feature/123-user-auth
97
-
98
- # 4. Create pull request
99
- # 5. After approval, squash merge to main
100
- ```
101
-
102
- ### Pull Request Standards
103
-
104
- - **Title**: Same format as commit messages
105
- - **Description**:
106
- - Summary of changes
107
- - Related issues
108
- - Testing done
109
- - Breaking changes (if any)
110
- - **Reviewers**: Minimum 1 approval required
111
- - **CI/CD**: All checks must pass
112
-
113
- ---
114
-
115
- ## Best Practices
116
-
117
- ### DO
118
-
119
- ✅ Commit early and often (small, focused commits)
120
- ✅ Write descriptive commit messages
121
- ✅ Pull before push to avoid conflicts
122
- ✅ Use `.gitignore` to exclude build artifacts, secrets
123
- ✅ Tag releases (`v1.0.0`, `v1.1.0`)
124
-
125
- ### DON'T
126
-
127
- ❌ Commit secrets (API keys, passwords)
128
- ❌ Commit large binary files
129
- ❌ Force push to shared branches
130
- ❌ Commit directly to `main` (use PRs)
131
- ❌ Use generic messages ("fix", "update")
132
-
133
- ---
134
-
135
- ## .gitignore Templates
136
-
137
- ### .NET Projects
138
-
139
- ```gitignore
140
- # Build results
141
- bin/
142
- obj/
143
- *.user
144
- *.suo
145
-
146
- # NuGet packages
147
- *.nupkg
148
- packages/
149
-
150
- # Environment files
151
- .env
152
- .env.local
153
- appsettings.Development.json
154
-
155
- # IDE
156
- .vs/
157
- .vscode/
158
- .idea/
159
- ```
160
-
161
- ### Node.js Projects
162
-
163
- ```gitignore
164
- # Dependencies
165
- node_modules/
166
- npm-debug.log
167
- yarn-error.log
168
-
169
- # Build output
170
- dist/
171
- .next/
172
- out/
173
-
174
- # Environment
175
- .env
176
- .env.local
177
-
178
- # IDE
179
- .vscode/
180
- .idea/
181
- ```
182
-
183
- ---
184
-
185
- *MORPH-SPEC by Polymorphism Tech*