@polymorphism-tech/morph-spec 4.12.0 → 4.13.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.
Files changed (314) hide show
  1. package/README.md +21 -29
  2. package/bin/morph-spec.js +41 -24
  3. package/bin/task-manager.js +962 -1341
  4. package/bin/validate.js +1 -1
  5. package/claude-plugin.json +1 -1
  6. package/docs/CHEATSHEET.md +10 -11
  7. package/docs/QUICKSTART.md +15 -15
  8. package/framework/CLAUDE.md +5 -2
  9. package/framework/agents/README.md +3 -4
  10. package/framework/agents/ai-agents/ai-system-architect.md +6 -10
  11. package/framework/agents/architecture/seo-growth-hacker.md +166 -326
  12. package/framework/agents/architecture/standards-architect.md +21 -31
  13. package/framework/agents/backend/dotnet-senior.md +160 -86
  14. package/framework/agents/backend/ef-modeler.md +2 -6
  15. package/framework/agents/backend/hangfire-orchestrator.md +8 -9
  16. package/framework/agents/backend/ms-agent-expert.md +1 -1
  17. package/framework/agents/frontend/nextjs-expert.md +198 -133
  18. package/framework/agents/frontend/ui-ux-designer.md +226 -267
  19. package/framework/agents/infrastructure/infra-architect.md +191 -27
  20. package/framework/agents/integrations/clerk-auth.md +19 -26
  21. package/framework/agents/integrations/hangfire-integration.md +1 -4
  22. package/framework/agents.json +215 -1453
  23. package/framework/commands/morph-apply.md +4 -4
  24. package/framework/commands/morph-preflight.md +4 -26
  25. package/framework/commands/morph-proposal.md +19 -19
  26. package/framework/commands/morph-status.md +2 -2
  27. package/framework/commands/morph-troubleshoot.md +6 -13
  28. package/framework/hooks/README.md +1 -6
  29. package/framework/hooks/claude-code/post-tool-use/validator-feedback.js +4 -6
  30. package/framework/hooks/claude-code/pre-compact/save-morph-context.js +12 -7
  31. package/framework/hooks/claude-code/pre-tool-use/enforce-phase-writes.js +2 -2
  32. package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +2 -2
  33. package/framework/hooks/claude-code/pre-tool-use/task-tracking-guard.js +5 -10
  34. package/framework/hooks/claude-code/session-start/inject-morph-context.js +63 -30
  35. package/framework/hooks/claude-code/session-start/resume-context.js +77 -0
  36. package/framework/hooks/claude-code/statusline.py +4 -5
  37. package/framework/hooks/claude-code/stop/validate-completion.js +4 -4
  38. package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +8 -8
  39. package/framework/hooks/shared/compact-restore.js +28 -5
  40. package/framework/hooks/shared/phase-utils.js +4 -8
  41. package/framework/hooks/shared/state-reader.js +34 -3
  42. package/framework/phases.json +7 -45
  43. package/framework/rules/ai-agents-standards.md +15 -0
  44. package/framework/rules/asaas-standards.md +13 -0
  45. package/framework/rules/clerk-standards.md +13 -0
  46. package/framework/rules/csharp-standards.md +8 -4
  47. package/framework/rules/data-standards.md +18 -0
  48. package/framework/rules/dotnet-templates.md +87 -0
  49. package/framework/rules/frontend-standards.md +13 -13
  50. package/framework/rules/hangfire-standards.md +13 -0
  51. package/framework/rules/infrastructure-standards.md +27 -16
  52. package/framework/rules/morph-workflow.md +73 -13
  53. package/framework/rules/nextjs-standards.md +1 -0
  54. package/framework/rules/nextjs-templates.md +40 -0
  55. package/framework/rules/resend-standards.md +12 -0
  56. package/framework/rules/supabase-standards.md +29 -0
  57. package/framework/skills/README.md +6 -8
  58. package/framework/skills/level-0-meta/mcp-registry.json +21 -99
  59. package/framework/{standards/ai-agents/team-orchestration.md → skills/level-0-meta/morph-agent-teams/SKILL.md} +472 -479
  60. package/framework/skills/level-0-meta/morph-brainstorming/SKILL.md +28 -1
  61. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +2 -2
  62. package/framework/skills/level-0-meta/morph-code-review/SKILL.md +1 -5
  63. package/framework/skills/level-0-meta/morph-code-review/scripts/scan-csharp.mjs +1 -1
  64. package/framework/skills/level-0-meta/morph-frontend-review/SKILL.md +23 -41
  65. package/framework/skills/level-0-meta/morph-init/SKILL.md +18 -14
  66. package/framework/skills/level-0-meta/morph-parallel-dispatch/SKILL.md +225 -0
  67. package/framework/skills/level-0-meta/morph-post-implementation/SKILL.md +20 -0
  68. package/framework/skills/level-0-meta/morph-tool-usage-guide/SKILL.md +4 -8
  69. package/framework/skills/level-0-meta/morph-tool-usage-guide/references/tools-per-phase.md +15 -59
  70. package/framework/skills/level-0-meta/morph-verification-before-completion/SKILL.md +7 -19
  71. package/framework/skills/level-0-meta/morph-verification-before-completion/scripts/check-phase-outputs.mjs +8 -8
  72. package/framework/skills/level-1-workflows/README.md +1 -1
  73. package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +49 -50
  74. package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +58 -124
  75. package/framework/skills/level-1-workflows/morph-phase-design/references/architecture-analysis-guide.md +5 -50
  76. package/framework/skills/level-1-workflows/morph-phase-design/references/spec-example.md +1 -1
  77. package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +127 -159
  78. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/implementer-prompt.md +4 -3
  79. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/spec-reviewer-prompt.md +2 -2
  80. package/framework/skills/level-1-workflows/morph-phase-implement/references/recap-example.md +1 -1
  81. package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +17 -13
  82. package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +22 -40
  83. package/framework/skills/level-1-workflows/morph-phase-tasks/references/task-planning-patterns.md +0 -2
  84. package/framework/skills/level-1-workflows/morph-phase-tasks/references/tasks-example.md +5 -5
  85. package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +57 -77
  86. package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +1 -1
  87. package/framework/squad-templates/backend-only.json +6 -6
  88. package/framework/squad-templates/frontend-only.json +17 -8
  89. package/framework/squad-templates/full-stack.json +29 -24
  90. package/framework/standards/STANDARDS.json +1021 -2369
  91. package/framework/standards/backend/dotnet/fluent-validation-vsa.md +200 -0
  92. package/framework/standards/backend/dotnet/result-pattern.md +213 -0
  93. package/framework/standards/backend/dotnet/scalar-ui.md +172 -0
  94. package/framework/standards/backend/dotnet/scrutor.md +158 -0
  95. package/framework/standards/backend/dotnet/vsa-handler-patterns.md +274 -0
  96. package/framework/standards/frontend/nextjs/motion-patterns.md +1 -1
  97. package/framework/standards/infrastructure/supabase/mcp-setup.md +83 -193
  98. package/framework/standards/integration/mcp/mcp-tools.md +91 -77
  99. package/framework/templates/IDE-SNIPPETS.md +2 -6
  100. package/framework/templates/README.md +709 -814
  101. package/framework/templates/REGISTRY.json +223 -762
  102. package/framework/templates/code/dotnet/abstractions/api-endpoint.cs +7 -0
  103. package/framework/templates/code/dotnet/abstractions/error.cs +60 -0
  104. package/framework/templates/code/dotnet/abstractions/handler.cs +12 -0
  105. package/framework/templates/code/dotnet/abstractions/result.cs +74 -0
  106. package/framework/templates/code/dotnet/backend/repository.cs +148 -141
  107. package/framework/templates/code/dotnet/constants/api-tags.cs +6 -0
  108. package/framework/templates/code/dotnet/exceptions/exception-handler.cs +32 -0
  109. package/framework/templates/code/dotnet/extensions/database-extensions.cs +20 -0
  110. package/framework/templates/code/dotnet/extensions/handler-registration.cs +38 -0
  111. package/framework/templates/code/dotnet/extensions/health-checks.cs +24 -0
  112. package/framework/templates/code/dotnet/extensions/map-endpoints.cs +35 -0
  113. package/framework/templates/code/dotnet/extensions/result-extensions.cs +29 -0
  114. package/framework/templates/code/dotnet/feature/endpoint.cs.hbs +21 -0
  115. package/framework/templates/code/dotnet/feature/entity.cs.hbs +8 -0
  116. package/framework/templates/code/dotnet/feature/errors.cs.hbs +8 -0
  117. package/framework/templates/code/dotnet/feature/handler.cs.hbs +24 -0
  118. package/framework/templates/code/dotnet/feature/request.cs.hbs +4 -0
  119. package/framework/templates/code/dotnet/feature/response.cs.hbs +4 -0
  120. package/framework/templates/code/dotnet/feature/validator.cs.hbs +15 -0
  121. package/framework/templates/code/dotnet/jobs/job.cs +21 -17
  122. package/framework/templates/code/dotnet/pipelines/logging-decorator.cs +31 -0
  123. package/framework/templates/code/dotnet/pipelines/validation-decorator.cs +97 -0
  124. package/framework/templates/code/dotnet/test.cs +192 -106
  125. package/framework/templates/context/ARCHITECTURE.md +89 -0
  126. package/framework/templates/context/CONTEXT-FEATURE.md +2 -2
  127. package/framework/templates/context/CONTEXT.md +180 -181
  128. package/framework/templates/context/design-system.md +1 -5
  129. package/framework/templates/docs/onboarding.md +2 -3
  130. package/framework/templates/docs/proposal.md +171 -182
  131. package/framework/templates/docs/spec.md +1 -3
  132. package/framework/templates/docs/ui-components.md +0 -72
  133. package/framework/templates/examples/design-system-examples.md +4 -4
  134. package/framework/templates/feature/decisions.md +0 -66
  135. package/framework/templates/feature/recap.md +1 -2
  136. package/framework/templates/infrastructure/github/README.md +56 -593
  137. package/framework/templates/integrations/clerk-config.cs +0 -41
  138. package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +2 -2
  139. package/framework/templates/meta-prompts/squad-leaders/backend-squad.md +1 -2
  140. package/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +83 -126
  141. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +2 -2
  142. package/framework/templates/project/validate.js +2 -4
  143. package/framework/templates/ui/design-system.css +1 -1
  144. package/framework/workflows/README.md +8 -8
  145. package/framework/workflows/configs/fast-track.json +51 -0
  146. package/framework/workflows/configs/full.json +68 -0
  147. package/framework/workflows/configs/standard.json +7 -3
  148. package/framework/workflows/docs/STORY-DRIVEN-DEVELOPMENT.md +1 -1
  149. package/framework/workflows/docs/enforcement-pipeline.md +18 -19
  150. package/framework/workflows/docs/full-morph.md +69 -76
  151. package/framework/workflows/docs/standard.md +49 -44
  152. package/framework/workflows/docs/ui-refresh.md +1 -1
  153. package/package.json +3 -3
  154. package/src/commands/agents/dispatch-agents.js +55 -116
  155. package/src/commands/context/context-refresh.js +79 -0
  156. package/src/commands/phase/phase-reset.js +1 -1
  157. package/src/commands/project/doctor.js +10 -32
  158. package/src/commands/project/init.js +12 -0
  159. package/src/commands/project/status.js +6 -12
  160. package/src/commands/scaffold/scaffold.js +131 -0
  161. package/src/commands/scope/escalate.js +1 -1
  162. package/src/commands/state/advance-phase.js +15 -29
  163. package/src/commands/state/state.js +20 -5
  164. package/src/commands/tasks/task.js +0 -30
  165. package/src/commands/validation/validate-feature.js +3 -10
  166. package/src/core/paths/output-schema.js +12 -13
  167. package/src/core/state/phase-state-machine.js +211 -217
  168. package/src/core/state/state-manager.js +9 -9
  169. package/src/lib/agents/agents-manager.js +2 -2
  170. package/src/lib/agents/output-collector.js +1 -2
  171. package/src/lib/detectors/design-system-detector.js +4 -4
  172. package/src/lib/detectors/index.js +1 -11
  173. package/src/lib/generators/architecture-scanner.js +640 -0
  174. package/src/lib/generators/context-generator.js +3 -3
  175. package/src/lib/generators/design-system-generator.js +508 -587
  176. package/src/lib/generators/index.js +12 -10
  177. package/src/lib/generators/metadata-extractor.js +386 -387
  178. package/src/lib/generators/recap-generator.js +4 -4
  179. package/src/lib/generators/scaffold-generator.js +317 -0
  180. package/src/lib/generators/settings-generator.js +0 -1
  181. package/src/lib/phase-chain/phase-validator.js +64 -42
  182. package/src/lib/stack/stack-profile.js +2 -2
  183. package/src/lib/standards/digest-builder.js +72 -285
  184. package/src/lib/tasks/task-parser.js +11 -5
  185. package/src/lib/validators/architecture/architecture-validator.js +259 -387
  186. package/src/lib/validators/content/content-validator.js +287 -287
  187. package/src/lib/validators/css/css-validator.js +340 -352
  188. package/src/lib/validators/packages/package-validator.js +347 -360
  189. package/src/lib/validators/shared/issue-counter.js +14 -18
  190. package/src/lib/validators/validation-runner.js +3 -19
  191. package/src/scripts/setup-infra.js +1 -1
  192. package/src/utils/agents-installer.js +24 -3
  193. package/src/utils/file-copier.js +1 -0
  194. package/src/utils/hooks-installer.js +11 -19
  195. package/src/utils/skills-installer.js +178 -178
  196. package/framework/agents/architecture/prompt-engineer.md +0 -195
  197. package/framework/agents/backend/api-designer.md +0 -106
  198. package/framework/agents/frontend/blazor-builder.md +0 -229
  199. package/framework/agents/frontend/nextjs-ui-specialist.md +0 -218
  200. package/framework/agents/infrastructure/azure-architect.md +0 -150
  201. package/framework/agents/infrastructure/azure-deploy-specialist.md +0 -707
  202. package/framework/agents/infrastructure/bicep-architect.md +0 -132
  203. package/framework/agents/infrastructure/container-specialist.md +0 -137
  204. package/framework/agents/infrastructure/devops-engineer.md +0 -126
  205. package/framework/agents/integrations/azure-identity.md +0 -148
  206. package/framework/agents/quality/code-analyzer.md +0 -239
  207. package/framework/agents/quality/testing-specialist.md +0 -130
  208. package/framework/hooks/claude-code/notification/approval-reminder.js +0 -57
  209. package/framework/hooks/claude-code/post-tool-use/context-refresh.js +0 -109
  210. package/framework/hooks/claude-code/post-tool-use/skill-reminder.js +0 -78
  211. package/framework/index/troubleshooting-index.json +0 -184
  212. package/framework/rules/testing-standards.md +0 -14
  213. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +0 -230
  214. package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +0 -70
  215. package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +0 -256
  216. package/framework/skills/level-1-workflows/morph-phase-clarify/references/clarifications-example.md +0 -117
  217. package/framework/skills/level-1-workflows/morph-phase-setup/SKILL.md +0 -269
  218. package/framework/standards/ai-agents/blazor-ui.md +0 -364
  219. package/framework/standards/architecture/ddd/aggregates.md +0 -120
  220. package/framework/standards/architecture/ddd/bounded-contexts.md +0 -105
  221. package/framework/standards/architecture/ddd/complexity-levels.md +0 -108
  222. package/framework/standards/architecture/ddd/entities.md +0 -99
  223. package/framework/standards/architecture/ddd/ubiquitous-language.md +0 -58
  224. package/framework/standards/architecture/ddd/value-objects.md +0 -124
  225. package/framework/standards/backend/api/minimal-api.md +0 -494
  226. package/framework/standards/backend/api/rest.md +0 -492
  227. package/framework/standards/backend/authentication/passkeys.md +0 -428
  228. package/framework/standards/backend/database/ef-core.md +0 -199
  229. package/framework/standards/backend/database/migrations.md +0 -393
  230. package/framework/standards/backend/database/repository-patterns.md +0 -528
  231. package/framework/standards/backend/dotnet/async.md +0 -366
  232. package/framework/standards/backend/dotnet/core.md +0 -117
  233. package/framework/standards/backend/dotnet/di.md +0 -439
  234. package/framework/standards/backend/dotnet/program-cs-checklist.md +0 -92
  235. package/framework/standards/context/analytics.md +0 -96
  236. package/framework/standards/context/bundles.md +0 -110
  237. package/framework/standards/context/priming.md +0 -78
  238. package/framework/standards/core/architecture.md +0 -185
  239. package/framework/standards/core/coding.md +0 -214
  240. package/framework/standards/core/git-branching-strategy.md +0 -403
  241. package/framework/standards/core/git.md +0 -185
  242. package/framework/standards/core/testing.md +0 -295
  243. package/framework/standards/data/nosql/blob-storage.md +0 -102
  244. package/framework/standards/data/vector-search/azure-ai-search.md +0 -121
  245. package/framework/standards/frontend/blazor/design-checklist.md +0 -222
  246. package/framework/standards/frontend/blazor/fluent-ui-setup.md +0 -595
  247. package/framework/standards/frontend/blazor/fluent-ui.md +0 -137
  248. package/framework/standards/frontend/blazor/html-conversion.md +0 -184
  249. package/framework/standards/frontend/blazor/lifecycle.md +0 -195
  250. package/framework/standards/frontend/blazor/pitfalls.md +0 -198
  251. package/framework/standards/frontend/blazor/state.md +0 -191
  252. package/framework/standards/frontend/design-system/aesthetic-direction.md +0 -266
  253. package/framework/standards/frontend/design-system/design-trends.md +0 -171
  254. package/framework/standards/infrastructure/azure/azure.md +0 -624
  255. package/framework/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -422
  256. package/framework/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -516
  257. package/framework/standards/infrastructure/azure/devops/local-development.md +0 -520
  258. package/framework/standards/infrastructure/azure/services/functions.md +0 -486
  259. package/framework/standards/infrastructure/azure/services/service-bus.md +0 -459
  260. package/framework/standards/infrastructure/azure/services/storage.md +0 -407
  261. package/framework/standards/infrastructure/vercel/vercel-database.md +0 -106
  262. package/framework/standards/integration/api/graphql.md +0 -91
  263. package/framework/standards/integration/api/grpc.md +0 -114
  264. package/framework/standards/integration/api/rest-design.md +0 -95
  265. package/framework/standards/integration/event-driven/cqrs.md +0 -101
  266. package/framework/standards/integration/event-driven/event-sourcing.md +0 -124
  267. package/framework/standards/integration/event-driven/service-bus.md +0 -95
  268. package/framework/standards/observability/logging.md +0 -131
  269. package/framework/standards/observability/metrics.md +0 -121
  270. package/framework/standards/observability/monitoring.md +0 -114
  271. package/framework/standards/observability/tracing.md +0 -132
  272. package/framework/standards/workflows/parallel-execution.md +0 -112
  273. package/framework/standards/workflows/thread-management.md +0 -113
  274. package/framework/templates/code/dotnet/backend/service.cs +0 -139
  275. package/framework/templates/code/dotnet/contracts/Commands.cs +0 -74
  276. package/framework/templates/code/dotnet/contracts/Entities.cs +0 -25
  277. package/framework/templates/code/dotnet/contracts/Queries.cs +0 -74
  278. package/framework/templates/code/dotnet/contracts/api-contracts.cs +0 -173
  279. package/framework/templates/code/dotnet/contracts/contracts-level1.cs +0 -69
  280. package/framework/templates/code/dotnet/contracts/contracts-level2.cs +0 -86
  281. package/framework/templates/code/dotnet/contracts/contracts-level3.cs +0 -41
  282. package/framework/templates/code/dotnet/frontend/component.razor +0 -239
  283. package/framework/templates/infrastructure/azure/Dockerfile.example +0 -82
  284. package/framework/templates/infrastructure/azure/README.md +0 -286
  285. package/framework/templates/infrastructure/azure/app-insights.bicep +0 -63
  286. package/framework/templates/infrastructure/azure/app-service.bicep +0 -164
  287. package/framework/templates/infrastructure/azure/container-app-env.bicep +0 -49
  288. package/framework/templates/infrastructure/azure/container-app.bicep +0 -156
  289. package/framework/templates/infrastructure/azure/deploy-checklist.md +0 -426
  290. package/framework/templates/infrastructure/azure/deploy.ps1 +0 -229
  291. package/framework/templates/infrastructure/azure/deploy.sh +0 -208
  292. package/framework/templates/infrastructure/azure/key-vault.bicep +0 -91
  293. package/framework/templates/infrastructure/azure/main.bicep +0 -189
  294. package/framework/templates/infrastructure/azure/parameters.dev.json +0 -29
  295. package/framework/templates/infrastructure/azure/parameters.prod.json +0 -29
  296. package/framework/templates/infrastructure/azure/parameters.staging.json +0 -29
  297. package/framework/templates/infrastructure/azure/sql-database.bicep +0 -103
  298. package/framework/templates/infrastructure/azure/storage.bicep +0 -106
  299. package/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +0 -22
  300. package/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +0 -61
  301. package/framework/templates/integrations/azure-identity-config.cs +0 -288
  302. package/framework/templates/project-structure/dotnet-ddd.md +0 -70
  303. package/framework/templates/saas/subscription.cs +0 -347
  304. package/framework/templates/saas/tenant.cs +0 -338
  305. package/framework/templates/ui/FluentDesignTheme.cs +0 -149
  306. package/framework/templates/ui/MudTheme.cs +0 -281
  307. package/framework/workflows/configs/nodejs-cli.json +0 -40
  308. package/src/commands/standards/context-budget.js +0 -89
  309. package/src/lib/standards/index.js +0 -7
  310. package/src/lib/standards/standards-context-injector.js +0 -302
  311. package/src/lib/validators/blazor/blazor-concurrency-analyzer.js +0 -316
  312. package/src/lib/validators/blazor/blazor-state-validator.js +0 -279
  313. package/src/lib/validators/blazor/blazor-validator.js +0 -369
  314. package/src/lib/validators/blazor/index.js +0 -9
@@ -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*