SmartCoreHub Core SDK Extensions VC
VS Code / Cursor helper for the NuGet package SmartCoreHub.Core.SDK.
Extensão para trazer o catálogo grande de inteligência do NuGet SmartCoreHub.Core.SDK para o editor: inventário navegável (~291 tipos públicos), snippets com IntelliSense (sch-*), docs de migração e prompts para agentes (Copilot / Cursor).
Propósito
| Sem a extensão |
Com a extensão |
| Instala o NuGet e “adivinha” o que existe |
API Catalog (sidebar) por namespace / tipo |
| Só IntelliSense Roslyn dos tipos referenciados |
+ snippets de produto (sch-result, sch-di, …) |
| Lê o monólito ou markdown no cache à mão |
Open Catalog / AI Context / Migration Guide + Prepare Agent Context |
O pacote NuGet continua a ser a fonte dos tipos; a extensão é a camada de descoberta e padrões no IDE.
Para quem é
- Quem precisa descobrir a superfície do SDK sem abrir o monólito
- Quem migra legado (Result/Guard/cache/repos/ASP.NET) via NuGet
- Times que usam Copilot/Cursor e anexam
AI-CONTEXT + API-CATALOG + MIGRATION-GUIDE
Como começar
- Workspace .NET (
net8.0 / net10.0 recomendados para APIs “heavy”).
- Command Palette → SmartCoreHub SDK: Install NuGet Package
(ou dotnet add package SmartCoreHub.Core.SDK).
- Abra a activity bar SmartCoreHub SDK → API Catalog e explore namespaces/tipos.
- Digite
sch no editor C# (ou Insert Snippet…) para padrões do SDK.
- Prepare Agent Context — docs + clipboard para
@ no chat.
- Código legado selecionado → Suggest Migration for Selection → cole no agente.
Catálogo e IntelliSense
Navegar o inventário
- Sidebar API Catalog — namespaces do
API-CATALOG.md (~291 tipos).
- Abra um tipo para ir à secção do catálogo (ou ao
.cs se o monólito estiver no workspace).
- Open API Catalog — markdown completo (cache NuGet ou monólito).
Snippets (IntelliSense de padrões)
| Prefixo / comando |
Uso |
sch-result |
Result + Guard |
sch-di |
AddSdkCorePrimitives / caching / repositório |
sch-sr |
ServiceResponse<T>.Ok |
| Insert Snippet… |
Lista todos os snippets embutidos |
Após o NuGet instalado, o IntelliSense Roslyn completa membros dos tipos; os snippets aceleram os padrões certos (ex.: IApplicationDispatcher na borda HTTP, não IMediator).
Exemplos de uso
using SmartCoreHub.Core.SDK.Domain.Common;
using SmartCoreHub.Core.SDK.Domain.Validation;
public Result<string> Normalize(string input)
{
Guard.AgainstEmptyString(input, nameof(input));
return Result.Success(input.Trim());
}
using SmartCoreHub.Core.SDK.Service.API.Generic;
using SmartCoreHub.Core.SDK.Application.Cqrs.Abstractions;
using SmartCoreHub.Core.SDK.Domain.DTOs.Common;
[ApiController]
[Route("api/[controller]")]
public class ProductsController(IApplicationDispatcher dispatcher) : BaseApiController
{
[HttpPost]
public Task<ServiceResponse<Guid>> Create(CreateProductCommand cmd, CancellationToken ct)
=> dispatcher.SendAsync(cmd, ct);
}
C — DI mínimo
services.AddSdkCorePrimitives(includeNullAppLogger: false);
services.AddSdkCaching();
services.AddScoped(typeof(IGenericRepository<>), typeof(GenericRepository<>));
D — IA + catálogo
- Prepare Agent Context (abre AI-CONTEXT, API-CATALOG, MIGRATION-GUIDE + clipboard).
- No chat, cole o clipboard e
@-anexe os três ficheiros.
- Selecione legado → Suggest Migration → cole de novo.
Cursor: sem API estável de auto-@; Prepare Agent Context + anexo manual é o fluxo suportado.
Comandos (Command Palette)
| Comando |
Ação |
| Install NuGet Package |
Adiciona SmartCoreHub.Core.SDK |
| Open README / API Catalog / Migration Guide / AI Context |
Docs do pacote ou monólito |
| Prepare Agent Context |
Docs + clipboard para o agente |
| Insert Snippet… |
Snippets sch-* |
| Suggest Migration for Selection |
Prompt + mapa legado→SDK |
| Refresh API Catalog Tree |
Atualiza a sidebar |
Dicas
- TFM:
net8.0 / net10.0 para EF/Dapper/Redis/ASP.NET/CQRS.
- Controllers:
IApplicationDispatcher + ServiceResponse<T> — nunca IMediator na borda HTTP.
- Docs:
%USERPROFILE%\.nuget\packages\smartcorehub.core.sdk\<versão>\
- Ordem de migração: Domain → Infrastructure → API → Hosting/CQRS (
MIGRATION-GUIDE.md).
O que NÃO migrar para o NuGet
- Validators FluentValidation de feature (host)
- DbContext, migrations e entidades de produto
JwtTokenService / API Key acoplados ao domínio do host
Recursos