Este repositorio contem bibliotecas publicas .NET para criacao explicita de parametros de bancos relacionais no Dapper, organizadas por provider.
- Provider SQL Server:
Microsoft.Data.SqlClient. - Provider PostgreSQL:
Npgsql. - Pacotes NuGet:
TypedParameters.Dapper.SqlServerTypedParameters.Dapper.PostgreSql
- A API publica deve permanecer pequena, explicita e previsivel.
- A biblioteca deve considerar compatibilidade futura com
net8.0enet10.0.
O trabalho do Codex deve ser pequeno, correto, reproduzivel e coerente com uma biblioteca NuGet publica. Responda em portugues, salvo pedido explicito em outro idioma.
Consulte somente os arquivos aplicaveis ao escopo da tarefa atual:
README.mddocs/decisions/Directory.Build.propsDirectory.Build.targets, se existirDirectory.Packages.props.editorconfigglobal.jsonDapper.TypedParameters.sln- Projetos em
src/ - Projetos em
tests/ - Workflows em
.github/workflows/
- Faca a menor mudanca possivel para resolver o pedido.
- Preserve compatibilidade da API publica.
- Nao introduza breaking changes sem pedido explicito e documentacao.
- Nao exponha tipos internos desnecessariamente.
- Nao use reflection ou introspeccao de schema sem requisito explicito.
- Nao faca consultas adicionais ao banco.
- Nao dependa de permissoes adicionais no banco de dados.
- Use
Microsoft.Data.SqlClientsomente no provider SQL Server. - Use
Npgsqlsomente no provider PostgreSQL. - Nao adicione
System.Data.SqlClient. - Nao crie referencias cruzadas entre providers sem decisao arquitetural explicita.
- Nao crie abstracao compartilhada entre providers apenas para reduzir duplicacao.
- Preserve Central Package Management. Nao adicione
Version=emPackageReference. - Nao altere testes apenas para faze-los passar.
- Nao publique pacote, release, tag ou push sem pedido explicito.
- Gere documentacao XML para a API publica.
- Atualize
README.mde ADR quando houver mudanca de contrato ou decisao arquitetural. - Considere comportamento e compatibilidade nos dois TFMs futuros,
net8.0enet10.0. - Nao use APIs exclusivas do .NET 10 em codigo compartilhado sem condicional e justificativa.
- Mantenha a implementacao adequada ao menor TFM suportado,
net8.0.
Fluxo basico:
dotnet --info
dotnet restore Dapper.TypedParameters.sln
dotnet build Dapper.TypedParameters.sln --configuration Release --no-restore
dotnet test Dapper.TypedParameters.sln --configuration Release --no-build
dotnet pack src/Dapper.TypedParameters.SqlServer/Dapper.TypedParameters.SqlServer.csproj --configuration Release --no-build --output artifacts/packagesEnquanto o projeto ainda nao estiver multi-target para .NET 8 e .NET 10, nao exija comandos por TFM.
- Continue na branch de trabalho atual.
- Use Conventional Commits.
- Nao faca push nem abra PR sem solicitacao.
- Revise
git statusegit diffantes do commit. - Nao commite com build ou testes falhando sem registrar claramente a causa.
repository-governance-sdd: governanca do repositorio,AGENTS.md, ADRs, prompts e skills. Caminho:.agents/skills/repository-governance-sdd/SKILL.md.ci-release-governance: GitHub Actions, validacoes de CI, release governance e empacotamento sem publicacao. Caminho:.agents/skills/ci-release-governance/SKILL.md.coverage-analysis: analise de cobertura, hotspots e gaps de risco em testes .NET. Caminho:.agents/skills/coverage-analysis/SKILL.md.dotnet-library-change: alteracoes de codigo, API publica, compatibilidade, testes e empacotamento das bibliotecas. Caminho:.agents/skills/dotnet-library-change/SKILL.md.
Antes de executar uma tarefa especializada, selecione apenas as skills cujo description corresponda ao pedido. As regras deste arquivo prevalecem em caso de conflito.