diff --git a/.github/workflows/nuget-publish.yml b/.github/workflows/nuget-publish.yml
new file mode 100644
index 000000000..cd08a6e4e
--- /dev/null
+++ b/.github/workflows/nuget-publish.yml
@@ -0,0 +1,99 @@
+name: Publish NuGet
+
+# Empacota e publica os 6 projetos NFe/DFe netstandard como pacotes NuGet
+# em GitHub Packages (feed da org nfe).
+#
+# Triggers:
+# - push de tag v* → release versionada (pega a versão da tag)
+# - workflow_dispatch → execução manual para testes (versão informada
+# como input ou fallback 0.0.0-manual.{run_number})
+#
+# Pré-requisitos no consumidor:
+# 1. nuget.config com source apontando para https://nuget.pkg.github.com/nfe/index.json
+# 2. PAT com escopo read:packages adicionado como secret/login NuGet
+#
+# Pacotes publicados: NFEio.DFe.Classes, NFEio.DFe.Utils, NFEio.NFe.Classes,
+# NFEio.NFe.Servicos, NFEio.NFe.Utils, NFEio.NFe.Wsdl.
+
+on:
+ push:
+ tags:
+ - 'v*'
+ workflow_dispatch:
+ inputs:
+ version:
+ description: 'Versão a publicar (ex: 1.0.0-rc.1). Vazio = 0.0.0-manual.{run_number}'
+ required: false
+ type: string
+
+permissions:
+ contents: read
+ packages: write
+
+jobs:
+ pack-and-publish:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v4
+ with:
+ dotnet-version: '8.0.x'
+
+ - name: Resolve version
+ id: version
+ run: |
+ if [[ "${{ github.event_name }}" == "push" ]]; then
+ # tag refs/tags/vX.Y.Z → X.Y.Z
+ VERSION="${GITHUB_REF_NAME#v}"
+ elif [[ -n "${{ inputs.version }}" ]]; then
+ VERSION="${{ inputs.version }}"
+ else
+ VERSION="0.0.0-manual.${{ github.run_number }}"
+ fi
+ echo "version=$VERSION" >> "$GITHUB_OUTPUT"
+ echo "Resolved version: $VERSION"
+
+ - name: Pack projects
+ run: |
+ for proj in DFe.Classes DFe.Utils NFe.Classes NFe.Servicos NFe.Utils NFe.Wsdl; do
+ echo "::group::Pack $proj"
+ dotnet pack "$proj/$proj.csproj" \
+ --configuration Release \
+ --output ./artifacts \
+ -p:Version=${{ steps.version.outputs.version }}
+ echo "::endgroup::"
+ done
+
+ - name: List artifacts
+ run: ls -la ./artifacts
+
+ - name: Push packages (.nupkg) to GitHub Packages
+ run: |
+ dotnet nuget push './artifacts/*.nupkg' \
+ --source https://nuget.pkg.github.com/nfe/index.json \
+ --api-key ${{ secrets.GITHUB_TOKEN }} \
+ --skip-duplicate
+
+ # Symbol packages (.snupkg) precisam de push separado — o glob *.nupkg
+ # acima não os captura, e o Directory.Build.props declara IncludeSymbols
+ # com SymbolPackageFormat=snupkg. Sem este passo os consumidores não
+ # conseguem PDBs nem SourceLink (debugging quebrado). GitHub Packages
+ # suporta .snupkg desde 2020.
+ - name: Push symbol packages (.snupkg) to GitHub Packages
+ run: |
+ dotnet nuget push './artifacts/*.snupkg' \
+ --source https://nuget.pkg.github.com/nfe/index.json \
+ --api-key ${{ secrets.GITHUB_TOKEN }} \
+ --skip-duplicate
+
+ - name: Upload artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: nuget-packages-${{ steps.version.outputs.version }}
+ path: ./artifacts/*.*nupkg
+ retention-days: 30
diff --git a/DFe.Classes/DFe.Classes.csproj b/DFe.Classes/DFe.Classes.csproj
index 1428fa849..44d4808b2 100644
--- a/DFe.Classes/DFe.Classes.csproj
+++ b/DFe.Classes/DFe.Classes.csproj
@@ -6,6 +6,8 @@
DFe.Classes
DFe.Classes
false
+ NFEio.DFe.Classes
+ Classes compartilhadas entre os projetos DFe (NFe, NFCe, CTe, MDFe) do fork NFE.io de Zeus.Net.NFe.NFCe. Inclui tipos básicos, entidades de domínio e flags.
diff --git a/DFe.Utils/DFe.Utils.csproj b/DFe.Utils/DFe.Utils.csproj
index 1bccc523c..6d25a94b0 100644
--- a/DFe.Utils/DFe.Utils.csproj
+++ b/DFe.Utils/DFe.Utils.csproj
@@ -6,6 +6,8 @@
DFe.Utils
DFe.Utils
false
+ NFEio.DFe.Utils
+ Utilitários compartilhados entre os projetos DFe (NFe, NFCe, CTe, MDFe) do fork NFE.io de Zeus.Net.NFe.NFCe. Inclui assinatura digital, extensões de tipos e helpers de serialização XML.
diff --git a/Directory.Build.props b/Directory.Build.props
new file mode 100644
index 000000000..c2a64e93a
--- /dev/null
+++ b/Directory.Build.props
@@ -0,0 +1,41 @@
+
+
+
+
+ 1.0.0-local
+ NFE.io
+ NFE.io
+ Copyright (c) NFE.io e contribuidores Zeus (Zeusdev Tecnologia LTDA)
+ LGPL-2.1-or-later
+ https://github.com/nfe/DFe.NET
+ https://github.com/nfe/DFe.NET
+ git
+ nfe;nfce;sefaz;dfe;rtc;reforma-tributaria;nfeio
+ true
+ snupkg
+ true
+ true
+ README.md
+
+
+
+
+
+
+
+
diff --git a/NFe.Classes/NFe.Classes.csproj b/NFe.Classes/NFe.Classes.csproj
index d35ab7e2c..9b2b30307 100644
--- a/NFe.Classes/NFe.Classes.csproj
+++ b/NFe.Classes/NFe.Classes.csproj
@@ -6,6 +6,8 @@
NFe.Classes
NFe.Classes
false
+ NFEio.NFe.Classes
+ Classes de domínio para Nota Fiscal Eletrônica (NFe) e Nota Fiscal de Consumidor Eletrônica (NFCe) — fork NFE.io de Zeus.Net.NFe.NFCe. Inclui leiaute completo NFe v4.00, eventos da NT 2025.002-RTC (211110-150, 212110-120, 412120-130, 110001), tipos do IBS/CBS/IS, e classes de DistribuicaoDFe.
diff --git a/NFe.Servicos/NFe.Servicos.csproj b/NFe.Servicos/NFe.Servicos.csproj
index 2ffce9355..55df134cf 100644
--- a/NFe.Servicos/NFe.Servicos.csproj
+++ b/NFe.Servicos/NFe.Servicos.csproj
@@ -5,6 +5,8 @@
NFe.Servicos
NFe.Servicos
false
+ NFEio.NFe.Servicos
+ Camada de serviços para invocar webservices SEFAZ da NFe/NFCe — fork NFE.io de Zeus.Net.NFe.NFCe. Expõe ServicosNFe com métodos RecepcaoEvento para os 17 eventos da NT 2025.002-RTC (Crédito Presumido, Imobilização, Consumo Pessoal, Manifestações IBS/CBS de Sucessão, etc.), além dos eventos legacy (Manifestação Destinatário 21020X, Carta de Correção, Cancelamento).
diff --git a/NFe.Utils/NFe.Utils.csproj b/NFe.Utils/NFe.Utils.csproj
index e3c97646b..f840e7500 100644
--- a/NFe.Utils/NFe.Utils.csproj
+++ b/NFe.Utils/NFe.Utils.csproj
@@ -6,6 +6,8 @@
NFe.Utils
NFe.Utils
false
+ NFEio.NFe.Utils
+ Utilitários para o leiaute da NFe/NFCe — fork NFE.io de Zeus.Net.NFe.NFCe. Inclui Validador (com mappings XSD da NT 2025.002-RTC), Enderecador (URLs SVRS prod/hom), assinatura digital, conversões de tipos e extensões.
diff --git a/NFe.Wsdl/NFe.Wsdl.csproj b/NFe.Wsdl/NFe.Wsdl.csproj
index 3aa764c0c..498415490 100644
--- a/NFe.Wsdl/NFe.Wsdl.csproj
+++ b/NFe.Wsdl/NFe.Wsdl.csproj
@@ -5,6 +5,8 @@
NFe.Wsdl
NFe.Wsdl
false
+ NFEio.NFe.Wsdl
+ Contratos WSDL e clientes SOAP para os webservices da NFe/NFCe — fork NFE.io de Zeus.Net.NFe.NFCe. Cobre NfeAutorizacao4, NfeRetAutorizacao4, NfeStatusServico4, NfeConsultaProtocolo4, NfeConsultaCadastro4, NFeRecepcaoEvento4, NFeInutilizacao4, NFeDistribuicaoDFe e variantes estaduais.