@polymorphism-tech/morph-spec 8.34.2 → 8.35.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 (328) hide show
  1. package/CLAUDE.md +22 -5
  2. package/README.md +2 -2
  3. package/bin/morph-spec.js +18 -4
  4. package/bin/validate.js +379 -379
  5. package/claude-plugin.json +1 -1
  6. package/docs/CHEATSHEET.md +5 -4
  7. package/docs/QUICKSTART.md +1 -1
  8. package/framework/MORPH.md +16 -17
  9. package/framework/agents.json +197 -44
  10. package/framework/ai-pin.json +22 -0
  11. package/framework/commands/morph-media.md +45 -0
  12. package/framework/docs/CLI.md +236 -11
  13. package/framework/evals/proof-rubrics/README.md +76 -0
  14. package/framework/evals/proof-rubrics/eval-de-modelo.md +64 -0
  15. package/framework/evals/proof-rubrics/fiacao.md +54 -0
  16. package/framework/evals/proof-rubrics/guard-cego.md +52 -0
  17. package/framework/evals/proof-rubrics/media-claims.md +109 -0
  18. package/framework/evals/proof-rubrics/mutation-proof.md +77 -0
  19. package/framework/evals/proof-rubrics/observabilidade-genai.md +119 -0
  20. package/framework/evals/proof-rubrics/verde-nao-e-coberto.md +48 -0
  21. package/framework/evals/rubrics/architecture.md +30 -0
  22. package/framework/evals/rubrics/code-quality.md +26 -0
  23. package/framework/evals/rubrics/test-coverage.md +20 -0
  24. package/framework/hooks/claude-code/core/protect-spec-files.js +41 -4
  25. package/framework/hooks/claude-code/core/worktree-env-inject.js +43 -0
  26. package/framework/hooks/claude-code/statusline.sh +11 -11
  27. package/framework/hooks/git/commit-msg/conventional-commits.sh +33 -33
  28. package/framework/hooks/git/pre-commit/agents.sh +25 -25
  29. package/framework/hooks/git/pre-commit/orchestrator.sh +64 -64
  30. package/framework/hooks/git/pre-commit/specs.sh +50 -50
  31. package/framework/hooks/git/pre-push/run-tests.sh +44 -44
  32. package/framework/hooks/shared/e2e-check.js +135 -22
  33. package/framework/hooks/shared/payload-utils.js +15 -2
  34. package/framework/hooks/shared/stdin-reader.js +26 -26
  35. package/framework/rules/ai-agents-standards.md +14 -2
  36. package/framework/schemas/ai-pin.schema.json +97 -0
  37. package/framework/schemas/config.schema.json +107 -0
  38. package/framework/schemas/feature.schema.json +23 -4
  39. package/framework/skills/core/create-umbraco-lp/SKILL.md +1 -1
  40. package/framework/skills/core/migrate-lp-to-umbraco/SKILL.md +1 -1
  41. package/framework/skills/core/morph-apply/SKILL.md +26 -5
  42. package/framework/skills/core/morph-brainstorming/SKILL.md +1 -1
  43. package/framework/skills/core/morph-eval/SKILL.md +1 -1
  44. package/framework/skills/core/morph-hotfix/SKILL.md +2 -2
  45. package/framework/skills/core/morph-implement/SKILL.md +18 -2
  46. package/framework/skills/core/morph-media/SKILL.md +215 -0
  47. package/framework/skills/core/morph-plan/SKILL.md +33 -2
  48. package/framework/skills/core/morph-proposal/SKILL.md +1 -1
  49. package/framework/skills/core/morph-review/SKILL.md +166 -9
  50. package/framework/skills/core/morph-stack-scan/SKILL.md +1 -1
  51. package/framework/skills/core/morph-standards/SKILL.md +1 -1
  52. package/framework/skills/core/morph-uiux/SKILL.md +1 -1
  53. package/framework/standards/PROVENANCE.json +81 -3
  54. package/framework/standards/STANDARDS.json +1483 -839
  55. package/framework/standards/ai-agents/agent-archetypes.md +160 -0
  56. package/framework/standards/ai-agents/agent-session.md +164 -68
  57. package/framework/standards/ai-agents/agent-spec.md +196 -0
  58. package/framework/standards/ai-agents/batching.md +61 -37
  59. package/framework/standards/ai-agents/context-providers.md +97 -24
  60. package/framework/standards/ai-agents/conversational-agent-with-phases.md +239 -0
  61. package/framework/standards/ai-agents/cost-and-budget.md +256 -0
  62. package/framework/standards/ai-agents/durable-workflows-hitl.md +98 -5
  63. package/framework/standards/ai-agents/evals-with-cache.md +289 -0
  64. package/framework/standards/ai-agents/guardrails.md +222 -0
  65. package/framework/standards/ai-agents/llm-runtime-defaults.md +226 -0
  66. package/framework/standards/ai-agents/mcp-server.md +119 -18
  67. package/framework/standards/ai-agents/mcp-tools.md +85 -32
  68. package/framework/standards/ai-agents/media-pipeline.md +352 -0
  69. package/framework/standards/ai-agents/media-video.md +267 -0
  70. package/framework/standards/ai-agents/middleware-patterns.md +39 -5
  71. package/framework/standards/ai-agents/modalities-image-gen.md +354 -105
  72. package/framework/standards/ai-agents/modalities-speech-to-text.md +8 -2
  73. package/framework/standards/ai-agents/modalities-text-to-speech.md +10 -2
  74. package/framework/standards/ai-agents/modalities-vision.md +6 -2
  75. package/framework/standards/ai-agents/multi-agent-patterns.md +61 -5
  76. package/framework/standards/ai-agents/observability-patterns.md +227 -17
  77. package/framework/standards/ai-agents/production.md +38 -9
  78. package/framework/standards/ai-agents/prompt-sources.md +389 -0
  79. package/framework/standards/ai-agents/providers/model-registry.md +174 -39
  80. package/framework/standards/ai-agents/rag-custom-pgvector.md +69 -4
  81. package/framework/standards/ai-agents/service-tier-flex.md +27 -19
  82. package/framework/standards/ai-agents/setup.md +166 -50
  83. package/framework/standards/ai-agents/structured-output.md +34 -3
  84. package/framework/standards/ai-agents/sweet-spot.md +23 -3
  85. package/framework/standards/ai-agents/testing-ai.md +236 -0
  86. package/framework/standards/ai-agents/vector-data-extensions.md +50 -20
  87. package/framework/standards/ai-agents/workflows.md +27 -7
  88. package/framework/standards/frontend/design-system/ai-image-generation.md +12 -0
  89. package/framework/standards/frontend/design-system/ai-video-generation.md +13 -0
  90. package/framework/standards/infrastructure/docker/local-compose-isolation.md +3 -1
  91. package/framework/templates/.idea/morph-templates.xml +92 -0
  92. package/framework/templates/.vscode/morph-templates.code-snippets +186 -0
  93. package/framework/templates/IDE-SNIPPETS.md +262 -262
  94. package/framework/templates/REGISTRY.json +13 -0
  95. package/framework/templates/code/dotnet/abstractions/api-endpoint.cs +7 -7
  96. package/framework/templates/code/dotnet/ai-agents/AgentBootstrap.cs.template +39 -39
  97. package/framework/templates/code/dotnet/ai-agents/EmbeddingService.cs.template +68 -68
  98. package/framework/templates/code/dotnet/ai-agents/ModelRegistry.cs.template +117 -117
  99. package/framework/templates/code/dotnet/ai-agents/PromptRepository.cs.template +1 -1
  100. package/framework/templates/code/dotnet/ai-agents/ResilientToolMiddleware.cs.template +61 -61
  101. package/framework/templates/code/dotnet/ai-agents/VectorSearchTool.cs.template +107 -107
  102. package/framework/templates/code/dotnet/ai-agents/model-registry.json.template +58 -58
  103. package/framework/templates/code/dotnet/contracts/contracts-vsa.cs +281 -281
  104. package/framework/templates/code/dotnet/database/migration.cs +83 -83
  105. package/framework/templates/code/dotnet/feature/endpoint.cs.hbs +21 -21
  106. package/framework/templates/code/dotnet/feature/request.cs.hbs +4 -4
  107. package/framework/templates/code/dotnet/feature/response.cs.hbs +4 -4
  108. package/framework/templates/code/dotnet/feature/validator.cs.hbs +15 -15
  109. package/framework/templates/code/sql/ai-agents/agent-prompts-migration.sql.template +1 -1
  110. package/framework/templates/code/sql/ai-agents/pgvector-embeddings-migration.sql.template +91 -91
  111. package/framework/templates/code/typescript/contracts.ts +167 -167
  112. package/framework/templates/docs/clarifications.md +253 -253
  113. package/framework/templates/docs/schema-analysis.md +119 -119
  114. package/framework/templates/docs/ui-components.md +52 -52
  115. package/framework/templates/docs/ui-design-system.md +76 -76
  116. package/framework/templates/docs/ui-flows.md +167 -167
  117. package/framework/templates/docs/ui-mockups.md +98 -98
  118. package/framework/templates/dotnet/ai-kit/Directory.Build.props +25 -0
  119. package/framework/templates/dotnet/ai-kit/Directory.Packages.props +26 -0
  120. package/framework/templates/dotnet/ai-kit/Morph.AiKit.sln +56 -0
  121. package/framework/templates/dotnet/ai-kit/NuGet.config +12 -0
  122. package/framework/templates/dotnet/ai-kit/README.md +128 -0
  123. package/framework/templates/dotnet/ai-kit/global.json +9 -0
  124. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Agents/AgentApi.cs +65 -0
  125. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Agents/AgentFactory.cs +289 -0
  126. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Agents/AgentFactoryOptions.cs +91 -0
  127. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Agents/AgentSpec.cs +91 -0
  128. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Agents/AgentSpecOptions.cs +181 -0
  129. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/AiKitAssemblyMarker.cs +14 -0
  130. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Conversation/ConversationStore.cs +174 -0
  131. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Conversation/IConversationStore.cs +54 -0
  132. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Conversation/InMemoryConversationStore.cs +75 -0
  133. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Evals/CountingChatClient.cs +71 -0
  134. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Evals/EvalAssertion.cs +246 -0
  135. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Evals/EvalCacheMissException.cs +57 -0
  136. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Evals/EvalCacheOptions.cs +78 -0
  137. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Evals/EvalCacheStamp.cs +225 -0
  138. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Evals/EvalFixture.cs +463 -0
  139. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Evals/EvalMode.cs +32 -0
  140. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Evals/EvalQualityEvaluators.cs +49 -0
  141. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Evals/EvalScenario.cs +214 -0
  142. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Evals/EvalSummary.cs +168 -0
  143. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Evals/OfflineChatClient.cs +142 -0
  144. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Evals/ShortPathResponseCache.cs +349 -0
  145. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/IMediaGenerator.cs +42 -0
  146. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/IMediaProvider.cs +77 -0
  147. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MediaArtifact.cs +28 -0
  148. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MediaDisclosure.cs +107 -0
  149. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MediaGenerator.cs +253 -0
  150. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MediaIdempotencyKey.cs +103 -0
  151. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MediaJob.cs +259 -0
  152. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MediaJobId.cs +21 -0
  153. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MediaJobState.cs +47 -0
  154. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MediaPricing.cs +102 -0
  155. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MediaProvenance.cs +44 -0
  156. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MediaRequest.cs +192 -0
  157. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MediaResult.cs +94 -0
  158. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MediaReview.cs +99 -0
  159. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MediaSeams.cs +97 -0
  160. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MediaStore.cs +133 -0
  161. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/MorphMedia.cs +93 -0
  162. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/Providers/GoogleImageProvider.cs +112 -0
  163. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/Providers/OpenAIImageProvider.cs +288 -0
  164. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Media/Providers/VeoVideoProvider.cs +158 -0
  165. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Middleware/IUsageCostSink.cs +29 -0
  166. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Middleware/UsageCostMiddleware.cs +208 -0
  167. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Middleware/UsageCostRecord.cs +95 -0
  168. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Morph.AiKit.csproj +38 -0
  169. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Observability/MorphOpenTelemetryExtensions.cs +119 -0
  170. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Observability/MorphTelemetryOptions.cs +82 -0
  171. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Providers/IProviderClientFactory.cs +33 -0
  172. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Providers/ModelAlias.cs +267 -0
  173. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Providers/ModelRegistry.cs +474 -0
  174. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Providers/model-registry.v2.json +87 -0
  175. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Rag/DeltaIngest.cs +169 -0
  176. package/framework/templates/dotnet/ai-kit/src/Morph.AiKit/Rag/DeltaPlan.cs +49 -0
  177. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/AgentFactoryTests.cs +495 -0
  178. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/AgentSpecTests.cs +260 -0
  179. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/ConversationStoreTests.cs +405 -0
  180. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/DeltaIngestTests.cs +379 -0
  181. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Evals/EvalAssertionTests.cs +197 -0
  182. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Evals/EvalCacheMissTests.cs +139 -0
  183. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Evals/EvalCacheStampTests.cs +157 -0
  184. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Evals/EvalFailuresTests.cs +178 -0
  185. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Evals/EvalFixtureTests.cs +153 -0
  186. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Evals/EvalRefreshTests.cs +194 -0
  187. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Evals/EvalWorkspace.cs +86 -0
  188. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Evals/KitEvals.cs +213 -0
  189. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Evals/OfflineChatClientTests.cs +95 -0
  190. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Fakes/FakeChatClient.cs +225 -0
  191. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Fakes/FakeChatClientTests.cs +215 -0
  192. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Fakes/FakeClock.cs +33 -0
  193. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Fakes/FakeMediaProvider.cs +89 -0
  194. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Fakes/FakeProviderClientFactory.cs +55 -0
  195. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Fakes/FakeUsageCostSink.cs +60 -0
  196. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Fakes/InMemoryMediaStore.cs +131 -0
  197. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/MediaAccessibilityTests.cs +133 -0
  198. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/MediaAliasIsNotAnAgentTests.cs +127 -0
  199. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/MediaDisclosureTests.cs +216 -0
  200. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/MediaGeneratorTests.cs +264 -0
  201. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/MediaIdempotencyKeyTests.cs +148 -0
  202. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/MediaJobStateTests.cs +184 -0
  203. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/MediaReviewTests.cs +89 -0
  204. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/MediaStoreTests.cs +98 -0
  205. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/ModelRegistryTests.cs +451 -0
  206. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/Morph.AiKit.Tests.csproj +76 -0
  207. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/SkeletonSmokeTests.cs +33 -0
  208. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/TelemetryTests.cs +261 -0
  209. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/UsageCostMiddlewareTests.cs +374 -0
  210. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/eval-cache/.morph-eval-cache.json +12 -0
  211. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/eval-cache/cache/orcamento.acme.a-resposta-estruturada/1/CF70A7CE27BBD66A/contents.data +13 -0
  212. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/eval-cache/cache/orcamento.acme.a-resposta-estruturada/1/CF70A7CE27BBD66A/entry.json +7 -0
  213. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/eval-cache/cache/triagem.acme.a-saudacao/1/19F631228C6E00BA/contents.data +13 -0
  214. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/eval-cache/cache/triagem.acme.a-saudacao/1/19F631228C6E00BA/entry.json +7 -0
  215. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/eval-cache/cache/triagem.acme.b-escalonamento/1/A24A7C9BDD8239D8/contents.data +13 -0
  216. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/eval-cache/cache/triagem.acme.b-escalonamento/1/A24A7C9BDD8239D8/entry.json +7 -0
  217. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/eval-cache/cache/triagem.globex.a-saudacao/1/E38CD37DF003EDB7/contents.data +13 -0
  218. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/eval-cache/cache/triagem.globex.a-saudacao/1/E38CD37DF003EDB7/entry.json +7 -0
  219. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/eval-datasets/orcamento/acme/a-resposta-estruturada.json +24 -0
  220. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/eval-datasets/triagem/acme/a-saudacao.json +23 -0
  221. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/eval-datasets/triagem/acme/b-escalonamento.json +24 -0
  222. package/framework/templates/dotnet/ai-kit/tests/Morph.AiKit.Tests/eval-datasets/triagem/globex/a-saudacao.json +23 -0
  223. package/framework/templates/feature/decisions.md +122 -122
  224. package/framework/templates/frontend/nextjs/Dockerfile.nextjs.hbs +43 -43
  225. package/framework/templates/frontend/nextjs/client-component.tsx.hbs +26 -26
  226. package/framework/templates/frontend/nextjs/env.mjs.hbs +32 -32
  227. package/framework/templates/frontend/nextjs/feature-form.tsx.hbs +56 -56
  228. package/framework/templates/frontend/nextjs/page.tsx.hbs +22 -22
  229. package/framework/templates/frontend/nextjs/tsconfig.json.hbs +26 -26
  230. package/framework/templates/frontend/nextjs/use-feature.ts.hbs +54 -54
  231. package/framework/templates/infrastructure/docker/Dockerfile.template +58 -58
  232. package/framework/templates/infrastructure/docker/dockerfile-api.dockerfile +38 -38
  233. package/framework/templates/infrastructure/docker/dockerfile-web.dockerfile +48 -48
  234. package/framework/templates/infrastructure/github/README.md +56 -56
  235. package/framework/templates/infrastructure/github/actions/docker-build-push/action.yml.hbs +45 -45
  236. package/framework/templates/infrastructure/github/actions/health-check/action.yml.hbs +27 -27
  237. package/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs +59 -59
  238. package/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs +39 -39
  239. package/framework/templates/integrations/asaas-client.cs +387 -387
  240. package/framework/templates/integrations/asaas-webhook.cs +351 -351
  241. package/framework/templates/meta-prompts/fusion/fusion-agent.md +76 -76
  242. package/framework/templates/meta-prompts/fusion/fusion-aggregator.md +100 -100
  243. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +95 -95
  244. package/framework/templates/project/validate.js +120 -120
  245. package/framework/templates/state.template.json +17 -17
  246. package/framework/templates/ui/design-system.css +226 -226
  247. package/package.json +3 -3
  248. package/src/commands/dashboard/dashboard.js +53 -53
  249. package/src/commands/e2e/e2e.js +15 -2
  250. package/src/commands/index.js +13 -13
  251. package/src/commands/project/checkpoint.js +209 -209
  252. package/src/commands/project/doctor.js +148 -6
  253. package/src/commands/project/update.js +469 -153
  254. package/src/commands/project/worktree.js +76 -4
  255. package/src/commands/state/advance.js +24 -2
  256. package/src/commands/state/approve.js +33 -1
  257. package/src/commands/state/create.js +72 -11
  258. package/src/commands/state/finish.js +379 -24
  259. package/src/commands/state/gate-check.js +190 -6
  260. package/src/commands/state/score.js +36 -1
  261. package/src/commands/validation/verify.js +134 -25
  262. package/src/core/state/phase-state-machine.js +197 -197
  263. package/src/core/state/state-manager.js +9 -1
  264. package/src/core/templates/template-renderer.js +477 -477
  265. package/src/dashboard/app/components/DetailPanel.jsx +11 -11
  266. package/src/dashboard/app/components/FlowGraph.jsx +17 -17
  267. package/src/dashboard/app/components/SearchFilter.jsx +22 -22
  268. package/src/dashboard/app/hooks/useDetailPanel.js +15 -15
  269. package/src/dashboard/app/main.jsx +13 -13
  270. package/src/dashboard/app/pages/AgentMap.jsx +370 -370
  271. package/src/dashboard/app/pages/PhasePipeline.jsx +408 -408
  272. package/src/dashboard/app/pages/RulesMap.jsx +273 -273
  273. package/src/dashboard/app/pages/SkillsLibrary.jsx +366 -366
  274. package/src/dashboard/app/pages/Standards.jsx +332 -332
  275. package/src/dashboard/app/styles/index.css +47 -47
  276. package/src/dashboard/index.html +12 -12
  277. package/src/dashboard/package.json +24 -24
  278. package/src/dashboard/scanner/phases-scanner.js +15 -15
  279. package/src/dashboard/scanner/rubrics-scanner.js +12 -12
  280. package/src/dashboard/scanner/rules-scanner.js +37 -37
  281. package/src/dashboard/scanner/skills-scanner.js +43 -43
  282. package/src/dashboard/scanner/squads-scanner.js +13 -13
  283. package/src/dashboard/vite-plugin-morph-data.js +17 -17
  284. package/src/dashboard/vite.config.js +24 -24
  285. package/src/lib/ai/ai-checks.js +182 -0
  286. package/src/lib/ai/ai-project-scan.js +347 -0
  287. package/src/lib/ai/code-audit.js +181 -0
  288. package/src/lib/ai/comment-stripper.js +184 -0
  289. package/src/lib/ai/pin-drift.js +138 -0
  290. package/src/lib/ai/registry-audit.js +285 -0
  291. package/src/lib/detectors/design-system-detector.js +188 -188
  292. package/src/lib/detectors/index.js +217 -217
  293. package/src/lib/e2e/compose-env.js +50 -4
  294. package/src/lib/evaluator-report.js +269 -15
  295. package/src/lib/generators/design-system-generator.js +508 -508
  296. package/src/lib/generators/settings-generator.js +209 -209
  297. package/src/lib/git/default-branch.js +92 -4
  298. package/src/lib/git/pr-files.js +56 -0
  299. package/src/lib/hooks/hook-executor.js +167 -167
  300. package/src/lib/installers/effects.js +193 -0
  301. package/src/lib/installers/mcp-installer.js +719 -719
  302. package/src/lib/installers/templates-reconcile.js +3 -3
  303. package/src/lib/risk-detector.js +284 -0
  304. package/src/lib/standards/verified-against.js +276 -0
  305. package/src/lib/tasks/eval-node.js +485 -0
  306. package/src/lib/tasks/linux-runner.js +297 -0
  307. package/src/lib/tasks/task-classifier.js +30 -30
  308. package/src/lib/tasks/task-parser.js +209 -209
  309. package/src/lib/tasks/test-nodes.js +486 -0
  310. package/src/lib/tasks/test-runner.js +410 -33
  311. package/src/lib/validators/checkpoint-persistence.js +39 -39
  312. package/src/lib/validators/css/css-validator.js +340 -340
  313. package/src/lib/validators/shared/emit-validator-dispatch.js +14 -14
  314. package/src/lib/validators/shared/issue-counter.js +14 -14
  315. package/src/lib/validators/verify-runner.js +583 -28
  316. package/src/lib/worktree/docker-audit.js +287 -0
  317. package/src/lib/worktree/env-allocator.js +24 -0
  318. package/src/lib/worktree/worktree-audit.js +30 -1
  319. package/src/scripts/setup-infra.js +24 -11
  320. package/src/utils/agent-id-mapper.js +11 -11
  321. package/src/utils/agents-installer.js +18 -8
  322. package/src/utils/claude-md-injector.js +10 -5
  323. package/src/utils/claude-settings-manager.js +300 -300
  324. package/src/utils/file-copier.js +11 -4
  325. package/src/utils/hooks-installer.js +29 -26
  326. package/src/utils/skills-installer.js +36 -29
  327. package/src/utils/version-checker.js +68 -3
  328. package/framework/standards/ai-agents/prompts-in-db.md +0 -214
@@ -1,167 +1,167 @@
1
- # UI Flows: {{titleCase FEATURE_NAME}}
2
-
3
- | Field | Value |
4
- |-------|-------|
5
- | **Feature** | {{FEATURE_NAME}} |
6
- | **Created** | {{DATE}} |
7
-
8
- ---
9
-
10
- ## User Stories
11
-
12
- ### US001: {Primary User Story}
13
-
14
- **As** a {user type}
15
- **I want** to {capability}
16
- **So that** {benefit}
17
-
18
- **Acceptance Criteria:**
19
- 1. {Criterion 1}
20
- 2. {Criterion 2}
21
-
22
- ---
23
-
24
- ## Flow Inventory
25
-
26
- | Flow ID | Name | Priority |
27
- |---------|------|----------|
28
- | **F001** | Create New Item | High |
29
- | **F002** | Edit Existing Item | High |
30
- | **F003** | Delete Item | Medium |
31
-
32
- ---
33
-
34
- ## F001: Create New Item
35
-
36
- ### Happy Path
37
-
38
- ```
39
- START
40
- ↓
41
- [User clicks "Add New"]
42
- ↓
43
- [Modal opens with form]
44
- ↓
45
- [User fills required fields]
46
- ↓
47
- [User clicks "Submit"]
48
- ↓
49
- [Validation passes] ✓
50
- ↓
51
- [API call: POST /api/items]
52
- ↓
53
- [Success response]
54
- ↓
55
- [Modal closes]
56
- ↓
57
- [Success toast: "Item created"]
58
- ↓
59
- [Table refreshes]
60
- ↓
61
- END
62
- ```
63
-
64
- **Duration:** 15-30 seconds
65
- **Success Rate Target:** 95%
66
-
67
- ---
68
-
69
- ### Alternative Path: Validation Error
70
-
71
- ```
72
- [User clicks "Submit"]
73
- ↓
74
- [Validation fails] ✕
75
- ↓
76
- [Error messages shown inline]
77
- ↓
78
- [User corrects errors]
79
- ↓
80
- [Real-time validation clears errors]
81
- ↓
82
- → Returns to Happy Path
83
- ```
84
-
85
- ---
86
-
87
- ### Edge Cases
88
-
89
- | Scenario | Behavior |
90
- |----------|----------|
91
- | **Duplicate Name** | Show warning, allow submit |
92
- | **Network Error** | Show error toast, preserve data |
93
- | **Session Expired** | Redirect to login |
94
-
95
- ---
96
-
97
- ## F002: Edit Existing Item
98
-
99
- ```
100
- [User clicks "Edit"]
101
- ↓
102
- [Modal opens with pre-filled form]
103
- ↓
104
- [User modifies fields]
105
- ↓
106
- [User clicks "Save"]
107
- ↓
108
- [API call: PUT /api/items/{id}]
109
- ↓
110
- [Success toast]
111
- ↓
112
- [Table refreshes]
113
- END
114
- ```
115
-
116
- ---
117
-
118
- ## F003: Delete Item
119
-
120
- ```
121
- [User clicks "Delete"]
122
- ↓
123
- [Confirmation dialog: "Delete item?"]
124
- ↓
125
- [User confirms]
126
- ↓
127
- [API call: DELETE /api/items/{id}]
128
- ↓
129
- [Success toast]
130
- ↓
131
- [Table refreshes]
132
- END
133
- ```
134
-
135
- ---
136
-
137
- ## Toast Notifications
138
-
139
- | Event | Type | Message | Duration |
140
- |-------|------|---------|----------|
141
- | **Item Created** | Success | "Item created successfully" | 3s |
142
- | **Item Updated** | Success | "Item updated successfully" | 3s |
143
- | **Item Deleted** | Success | "Item deleted successfully" | 3s |
144
- | **Error** | Error | "Something went wrong" | 5s |
145
-
146
- ---
147
-
148
- ## Keyboard Shortcuts
149
-
150
- | Shortcut | Action |
151
- |----------|--------|
152
- | **Ctrl+N** | New Item |
153
- | **Escape** | Close modal |
154
- | **Enter** | Submit form |
155
-
156
- ---
157
-
158
- ## Performance Targets
159
-
160
- | Flow | Target |
161
- |------|--------|
162
- | **Create Item** | < 2s (API response) |
163
- | **Search** | < 500ms |
164
-
165
- ---
166
-
167
- *Generated with MORPH Framework*
1
+ # UI Flows: {{titleCase FEATURE_NAME}}
2
+
3
+ | Field | Value |
4
+ |-------|-------|
5
+ | **Feature** | {{FEATURE_NAME}} |
6
+ | **Created** | {{DATE}} |
7
+
8
+ ---
9
+
10
+ ## User Stories
11
+
12
+ ### US001: {Primary User Story}
13
+
14
+ **As** a {user type}
15
+ **I want** to {capability}
16
+ **So that** {benefit}
17
+
18
+ **Acceptance Criteria:**
19
+ 1. {Criterion 1}
20
+ 2. {Criterion 2}
21
+
22
+ ---
23
+
24
+ ## Flow Inventory
25
+
26
+ | Flow ID | Name | Priority |
27
+ |---------|------|----------|
28
+ | **F001** | Create New Item | High |
29
+ | **F002** | Edit Existing Item | High |
30
+ | **F003** | Delete Item | Medium |
31
+
32
+ ---
33
+
34
+ ## F001: Create New Item
35
+
36
+ ### Happy Path
37
+
38
+ ```
39
+ START
40
+ ↓
41
+ [User clicks "Add New"]
42
+ ↓
43
+ [Modal opens with form]
44
+ ↓
45
+ [User fills required fields]
46
+ ↓
47
+ [User clicks "Submit"]
48
+ ↓
49
+ [Validation passes] ✓
50
+ ↓
51
+ [API call: POST /api/items]
52
+ ↓
53
+ [Success response]
54
+ ↓
55
+ [Modal closes]
56
+ ↓
57
+ [Success toast: "Item created"]
58
+ ↓
59
+ [Table refreshes]
60
+ ↓
61
+ END
62
+ ```
63
+
64
+ **Duration:** 15-30 seconds
65
+ **Success Rate Target:** 95%
66
+
67
+ ---
68
+
69
+ ### Alternative Path: Validation Error
70
+
71
+ ```
72
+ [User clicks "Submit"]
73
+ ↓
74
+ [Validation fails] ✕
75
+ ↓
76
+ [Error messages shown inline]
77
+ ↓
78
+ [User corrects errors]
79
+ ↓
80
+ [Real-time validation clears errors]
81
+ ↓
82
+ → Returns to Happy Path
83
+ ```
84
+
85
+ ---
86
+
87
+ ### Edge Cases
88
+
89
+ | Scenario | Behavior |
90
+ |----------|----------|
91
+ | **Duplicate Name** | Show warning, allow submit |
92
+ | **Network Error** | Show error toast, preserve data |
93
+ | **Session Expired** | Redirect to login |
94
+
95
+ ---
96
+
97
+ ## F002: Edit Existing Item
98
+
99
+ ```
100
+ [User clicks "Edit"]
101
+ ↓
102
+ [Modal opens with pre-filled form]
103
+ ↓
104
+ [User modifies fields]
105
+ ↓
106
+ [User clicks "Save"]
107
+ ↓
108
+ [API call: PUT /api/items/{id}]
109
+ ↓
110
+ [Success toast]
111
+ ↓
112
+ [Table refreshes]
113
+ END
114
+ ```
115
+
116
+ ---
117
+
118
+ ## F003: Delete Item
119
+
120
+ ```
121
+ [User clicks "Delete"]
122
+ ↓
123
+ [Confirmation dialog: "Delete item?"]
124
+ ↓
125
+ [User confirms]
126
+ ↓
127
+ [API call: DELETE /api/items/{id}]
128
+ ↓
129
+ [Success toast]
130
+ ↓
131
+ [Table refreshes]
132
+ END
133
+ ```
134
+
135
+ ---
136
+
137
+ ## Toast Notifications
138
+
139
+ | Event | Type | Message | Duration |
140
+ |-------|------|---------|----------|
141
+ | **Item Created** | Success | "Item created successfully" | 3s |
142
+ | **Item Updated** | Success | "Item updated successfully" | 3s |
143
+ | **Item Deleted** | Success | "Item deleted successfully" | 3s |
144
+ | **Error** | Error | "Something went wrong" | 5s |
145
+
146
+ ---
147
+
148
+ ## Keyboard Shortcuts
149
+
150
+ | Shortcut | Action |
151
+ |----------|--------|
152
+ | **Ctrl+N** | New Item |
153
+ | **Escape** | Close modal |
154
+ | **Enter** | Submit form |
155
+
156
+ ---
157
+
158
+ ## Performance Targets
159
+
160
+ | Flow | Target |
161
+ |------|--------|
162
+ | **Create Item** | < 2s (API response) |
163
+ | **Search** | < 500ms |
164
+
165
+ ---
166
+
167
+ *Generated with MORPH Framework*
@@ -1,98 +1,98 @@
1
- # UI Mockups & Wireframes: {{titleCase FEATURE_NAME}}
2
-
3
- | Field | Value |
4
- |-------|-------|
5
- | **Feature** | {{FEATURE_NAME}} |
6
- | **Created** | {{DATE}} |
7
-
8
- ---
9
-
10
- ## Screen Inventory
11
-
12
- | Screen ID | Name | Route | Priority |
13
- |-----------|------|-------|----------|
14
- | **S001** | {Screen Name} | /path | High |
15
- | **S002** | {Screen Name} | /path | Medium |
16
-
17
- ---
18
-
19
- ## S001: {Primary Screen}
20
-
21
- ### Desktop Layout
22
-
23
- ```
24
- ┌─────────────────────────────────────┐
25
- │ Header [User ▼] │
26
- ├─────────────────────────────────────┤
27
- │ │
28
- │ [Title] │
29
- │ │
30
- │ ┌──────────────────────────────┐ │
31
- │ │ Main Content Area │ │
32
- │ │ │ │
33
- │ │ [Card 1] [Card 2] │ │
34
- │ │ │ │
35
- │ │ ┌────────────────────────┐ │ │
36
- │ │ │ Data Table │ │ │
37
- │ │ │ ... │ │ │
38
- │ │ └────────────────────────┘ │ │
39
- │ └──────────────────────────────┘ │
40
- │ │
41
- └─────────────────────────────────────┘
42
- ```
43
-
44
- ### Mobile Layout
45
-
46
- ```
47
- ┌──────────────────────┐
48
- │ ☰ Title [User ▼]│
49
- ├──────────────────────┤
50
- │ │
51
- │ [Card 1] │
52
- │ │
53
- │ [Card 2] │
54
- │ │
55
- │ [View All Items] │
56
- │ │
57
- └──────────────────────┘
58
- ```
59
-
60
- ---
61
-
62
- ## States
63
-
64
- ### Loading
65
- - Show skeleton placeholders
66
- - Spinner for primary content
67
-
68
- ### Empty
69
- - Icon + message
70
- - Clear call-to-action button
71
-
72
- ### Error
73
- - Warning icon
74
- - User-friendly message
75
- - Retry button
76
-
77
- ### Success (After Action)
78
- - Toast notification
79
- - Auto-dismiss after 3s
80
-
81
- ---
82
-
83
- ## Interactions
84
-
85
- - **Hover**: Subtle elevation increase
86
- - **Click**: Scale down (0.98)
87
- - **Transitions**: Fade-in 200ms
88
-
89
- ---
90
-
91
- ## Accessibility
92
- - [ ] 44x44px minimum touch targets
93
- - [ ] Focus indicators visible
94
- - [ ] Proper heading hierarchy (H1 → H2 → H3)
95
-
96
- ---
97
-
98
- *Generated with MORPH Framework*
1
+ # UI Mockups & Wireframes: {{titleCase FEATURE_NAME}}
2
+
3
+ | Field | Value |
4
+ |-------|-------|
5
+ | **Feature** | {{FEATURE_NAME}} |
6
+ | **Created** | {{DATE}} |
7
+
8
+ ---
9
+
10
+ ## Screen Inventory
11
+
12
+ | Screen ID | Name | Route | Priority |
13
+ |-----------|------|-------|----------|
14
+ | **S001** | {Screen Name} | /path | High |
15
+ | **S002** | {Screen Name} | /path | Medium |
16
+
17
+ ---
18
+
19
+ ## S001: {Primary Screen}
20
+
21
+ ### Desktop Layout
22
+
23
+ ```
24
+ ┌─────────────────────────────────────┐
25
+ │ Header [User ▼] │
26
+ ├─────────────────────────────────────┤
27
+ │ │
28
+ │ [Title] │
29
+ │ │
30
+ │ ┌──────────────────────────────┐ │
31
+ │ │ Main Content Area │ │
32
+ │ │ │ │
33
+ │ │ [Card 1] [Card 2] │ │
34
+ │ │ │ │
35
+ │ │ ┌────────────────────────┐ │ │
36
+ │ │ │ Data Table │ │ │
37
+ │ │ │ ... │ │ │
38
+ │ │ └────────────────────────┘ │ │
39
+ │ └──────────────────────────────┘ │
40
+ │ │
41
+ └─────────────────────────────────────┘
42
+ ```
43
+
44
+ ### Mobile Layout
45
+
46
+ ```
47
+ ┌──────────────────────┐
48
+ │ ☰ Title [User ▼]│
49
+ ├──────────────────────┤
50
+ │ │
51
+ │ [Card 1] │
52
+ │ │
53
+ │ [Card 2] │
54
+ │ │
55
+ │ [View All Items] │
56
+ │ │
57
+ └──────────────────────┘
58
+ ```
59
+
60
+ ---
61
+
62
+ ## States
63
+
64
+ ### Loading
65
+ - Show skeleton placeholders
66
+ - Spinner for primary content
67
+
68
+ ### Empty
69
+ - Icon + message
70
+ - Clear call-to-action button
71
+
72
+ ### Error
73
+ - Warning icon
74
+ - User-friendly message
75
+ - Retry button
76
+
77
+ ### Success (After Action)
78
+ - Toast notification
79
+ - Auto-dismiss after 3s
80
+
81
+ ---
82
+
83
+ ## Interactions
84
+
85
+ - **Hover**: Subtle elevation increase
86
+ - **Click**: Scale down (0.98)
87
+ - **Transitions**: Fade-in 200ms
88
+
89
+ ---
90
+
91
+ ## Accessibility
92
+ - [ ] 44x44px minimum touch targets
93
+ - [ ] Focus indicators visible
94
+ - [ ] Proper heading hierarchy (H1 → H2 → H3)
95
+
96
+ ---
97
+
98
+ *Generated with MORPH Framework*
@@ -0,0 +1,25 @@
1
+ <Project>
2
+
3
+ <!--
4
+ Propriedades comuns a TODOS os projetos do Morph.AiKit.
5
+
6
+ NAO escreva versao de pacote aqui nem em nenhum .csproj: as versoes vivem em
7
+ Directory.Packages.props, GERADO por scripts/generate-ai-pin-props.js a partir de
8
+ framework/ai-pin.json. Com Central Package Management ligado, um <PackageReference>
9
+ com atributo Version vira erro de restore (NU1008) — e por isso que um .csproj nao
10
+ consegue divergir do pin.
11
+ -->
12
+ <PropertyGroup>
13
+ <TargetFramework>net10.0</TargetFramework>
14
+ <LangVersion>latest</LangVersion>
15
+ <Nullable>enable</Nullable>
16
+ <ImplicitUsings>enable</ImplicitUsings>
17
+
18
+ <!-- Um kit cujo proposito e gritar nao pode engolir warning. -->
19
+ <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
20
+
21
+ <Deterministic>true</Deterministic>
22
+ <IsPackable>false</IsPackable>
23
+ </PropertyGroup>
24
+
25
+ </Project>
@@ -0,0 +1,26 @@
1
+ <Project>
2
+ <!-- GERADO por scripts/generate-ai-pin-props.js a partir de framework/ai-pin.json. Não editar à mão — mexer no pin é mexer em framework/ai-pin.json. -->
3
+ <!-- pinnedAt: 2026-09-08 · fonte: https://api.nuget.org/v3/registration5-semver1/{id}/index.json -->
4
+ <PropertyGroup>
5
+ <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
6
+ </PropertyGroup>
7
+
8
+ <!-- Pacotes de IA (framework/ai-pin.json → packages) -->
9
+ <ItemGroup>
10
+ <PackageVersion Include="Microsoft.Agents.AI" Version="1.20.0" />
11
+ <PackageVersion Include="Microsoft.Extensions.AI" Version="10.9.0" />
12
+ <PackageVersion Include="OpenAI" Version="2.13.0" />
13
+ <PackageVersion Include="Google.GenAI" Version="1.21.0" />
14
+ <PackageVersion Include="ModelContextProtocol" Version="2.2.0" />
15
+ <PackageVersion Include="Microsoft.Extensions.AI.Evaluation" Version="10.9.0" />
16
+ <PackageVersion Include="Microsoft.Extensions.AI.Evaluation.Quality" Version="10.9.0" />
17
+ <PackageVersion Include="Microsoft.Extensions.AI.Evaluation.Reporting" Version="10.9.0" />
18
+ </ItemGroup>
19
+
20
+ <!-- Build e teste (framework/ai-pin.json → toolchain) -->
21
+ <ItemGroup>
22
+ <PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.9.0" />
23
+ <PackageVersion Include="xunit.v3" Version="4.0.0" />
24
+ <PackageVersion Include="xunit.runner.visualstudio" Version="4.0.0" />
25
+ </ItemGroup>
26
+ </Project>
@@ -0,0 +1,56 @@
1
+ 
2
+ Microsoft Visual Studio Solution File, Format Version 12.00
3
+ # Visual Studio Version 17
4
+ VisualStudioVersion = 17.0.31903.59
5
+ MinimumVisualStudioVersion = 10.0.40219.1
6
+ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827E0CD3-B72D-47B6-A68D-7590B98EB39B}"
7
+ EndProject
8
+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Morph.AiKit", "src\Morph.AiKit\Morph.AiKit.csproj", "{0577D911-1F1E-422E-A1CD-23379F308B05}"
9
+ EndProject
10
+ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{0AB3BF05-4346-4AA6-1389-037BE0695223}"
11
+ EndProject
12
+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Morph.AiKit.Tests", "tests\Morph.AiKit.Tests\Morph.AiKit.Tests.csproj", "{A0543CA3-CC90-45F6-940E-3F58570BB4D3}"
13
+ EndProject
14
+ Global
15
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
16
+ Debug|Any CPU = Debug|Any CPU
17
+ Debug|x64 = Debug|x64
18
+ Debug|x86 = Debug|x86
19
+ Release|Any CPU = Release|Any CPU
20
+ Release|x64 = Release|x64
21
+ Release|x86 = Release|x86
22
+ EndGlobalSection
23
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
24
+ {0577D911-1F1E-422E-A1CD-23379F308B05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
25
+ {0577D911-1F1E-422E-A1CD-23379F308B05}.Debug|Any CPU.Build.0 = Debug|Any CPU
26
+ {0577D911-1F1E-422E-A1CD-23379F308B05}.Debug|x64.ActiveCfg = Debug|Any CPU
27
+ {0577D911-1F1E-422E-A1CD-23379F308B05}.Debug|x64.Build.0 = Debug|Any CPU
28
+ {0577D911-1F1E-422E-A1CD-23379F308B05}.Debug|x86.ActiveCfg = Debug|Any CPU
29
+ {0577D911-1F1E-422E-A1CD-23379F308B05}.Debug|x86.Build.0 = Debug|Any CPU
30
+ {0577D911-1F1E-422E-A1CD-23379F308B05}.Release|Any CPU.ActiveCfg = Release|Any CPU
31
+ {0577D911-1F1E-422E-A1CD-23379F308B05}.Release|Any CPU.Build.0 = Release|Any CPU
32
+ {0577D911-1F1E-422E-A1CD-23379F308B05}.Release|x64.ActiveCfg = Release|Any CPU
33
+ {0577D911-1F1E-422E-A1CD-23379F308B05}.Release|x64.Build.0 = Release|Any CPU
34
+ {0577D911-1F1E-422E-A1CD-23379F308B05}.Release|x86.ActiveCfg = Release|Any CPU
35
+ {0577D911-1F1E-422E-A1CD-23379F308B05}.Release|x86.Build.0 = Release|Any CPU
36
+ {A0543CA3-CC90-45F6-940E-3F58570BB4D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
37
+ {A0543CA3-CC90-45F6-940E-3F58570BB4D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
38
+ {A0543CA3-CC90-45F6-940E-3F58570BB4D3}.Debug|x64.ActiveCfg = Debug|Any CPU
39
+ {A0543CA3-CC90-45F6-940E-3F58570BB4D3}.Debug|x64.Build.0 = Debug|Any CPU
40
+ {A0543CA3-CC90-45F6-940E-3F58570BB4D3}.Debug|x86.ActiveCfg = Debug|Any CPU
41
+ {A0543CA3-CC90-45F6-940E-3F58570BB4D3}.Debug|x86.Build.0 = Debug|Any CPU
42
+ {A0543CA3-CC90-45F6-940E-3F58570BB4D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
43
+ {A0543CA3-CC90-45F6-940E-3F58570BB4D3}.Release|Any CPU.Build.0 = Release|Any CPU
44
+ {A0543CA3-CC90-45F6-940E-3F58570BB4D3}.Release|x64.ActiveCfg = Release|Any CPU
45
+ {A0543CA3-CC90-45F6-940E-3F58570BB4D3}.Release|x64.Build.0 = Release|Any CPU
46
+ {A0543CA3-CC90-45F6-940E-3F58570BB4D3}.Release|x86.ActiveCfg = Release|Any CPU
47
+ {A0543CA3-CC90-45F6-940E-3F58570BB4D3}.Release|x86.Build.0 = Release|Any CPU
48
+ EndGlobalSection
49
+ GlobalSection(SolutionProperties) = preSolution
50
+ HideSolutionNode = FALSE
51
+ EndGlobalSection
52
+ GlobalSection(NestedProjects) = preSolution
53
+ {0577D911-1F1E-422E-A1CD-23379F308B05} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
54
+ {A0543CA3-CC90-45F6-940E-3F58570BB4D3} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
55
+ EndGlobalSection
56
+ EndGlobal
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!--
3
+ <clear /> e o ponto deste arquivo: sem ele o restore herda os feeds da maquina
4
+ (ou do runner) e "compila aqui, quebra no CI" volta a ser possivel. O kit
5
+ restaura de nuget.org e de mais nada.
6
+ -->
7
+ <configuration>
8
+ <packageSources>
9
+ <clear />
10
+ <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
11
+ </packageSources>
12
+ </configuration>