From bdb4db7c44c616cd41083a397a365a758a660f90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Cl=C3=A1udio=20Mandlate?= Date: Tue, 14 Apr 2026 13:59:21 +0200 Subject: [PATCH 1/3] =?UTF-8?q?Adiciona=20CLAUDE.md=20com=20guia=20de=20co?= =?UTF-8?q?ntribui=C3=A7=C3=A3o=20e=20arquitetura?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Novo arquivo CLAUDE.md criado para orientar o uso do Claude Code no repositório. Inclui visão geral do projeto, instruções de build e testes, descrição da arquitetura dos diretórios e projetos, além da estratégia de branches baseada em Git Flow. Documento voltado para facilitar contribuições e entendimento da estrutura do código. --- CLAUDE.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..86d18d8 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,45 @@ +# CLAUDE.md + +Este ficheiro fornece orientação ao Claude Code (claude.ai/code) quando trabalha com o código neste repositório. + +## Sobre o Projecto + +Biblioteca .NET 9+ open-source para geração de ficheiros SAF-T (Standard Audit File for Tax) com arquitectura extensível multi-país. Publicada como pacotes NuGet (`Simansoft.SAFT.*`). Actualmente implementada para Moçambique, com suporte a XML, JSON e hashes SHA-1. + +## Comandos + +```bash +# Compilar +dotnet build + +# Testes (ainda em implementação) +dotnet test +``` + +## Arquitectura + +``` +src/ +├── SAF-T.Core/ # Contratos e modelos base (independente de país) +├── SAF-T.Cryptography/ # Geração de hashes SHA-1 para assinatura de documentos +└── SAF-T.Mozambique/ # Implementação específica para Moçambique +samples/ +└── SAF-T.Examples/ # Exemplos de utilização +``` + +- **`SAF-T.Core`** — Define as interfaces e modelos partilhados. Para adicionar suporte a um novo país, cria-se um novo projecto que implementa os contratos deste núcleo sem o modificar. +- **`SAF-T.Cryptography`** — Independente do país; fornece a lógica de hash usada para assinar documentos de facturação. +- **`SAF-T.Mozambique`** — Implementação concreta para as regras fiscais moçambicanas. + +## Estratégia de Branches + +Git Flow — usa hífens em vez de barras nos nomes de branches (compatibilidade com CI/CD): + +``` +main ← produção estável; merge apenas de release-* ou hotfix-* +develop ← integração contínua; merge apenas de feature-*, bugfix-* ou release-* +feature-* ← novas funcionalidades (base: develop, destino: develop) +bugfix-* ← correcções em desenvolvimento (base: develop, destino: develop) +release-* ← preparação de versão (base: develop, destino: main + develop) +hotfix-* ← correcções críticas em produção (base: main, destino: main + develop) +``` From d23bff599208df5bd17322dce476f4f14dd39edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Cl=C3=A1udio=20Mandlate?= Date: Tue, 14 Apr 2026 14:10:22 +0200 Subject: [PATCH 2/3] =?UTF-8?q?Atualiza=20NPOI=20para=20a=20vers=C3=A3o=20?= =?UTF-8?q?2.8.0=20no=20projeto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Atualiza a referência do pacote NuGet NPOI de 2.7.3 para 2.8.0 no arquivo SAF-T.Mozambique.csproj, garantindo compatibilidade com as últimas melhorias e correções do pacote. --- src/SAF-T.Mozambique/SAF-T.Mozambique.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SAF-T.Mozambique/SAF-T.Mozambique.csproj b/src/SAF-T.Mozambique/SAF-T.Mozambique.csproj index 4eed5b3..37b86ad 100644 --- a/src/SAF-T.Mozambique/SAF-T.Mozambique.csproj +++ b/src/SAF-T.Mozambique/SAF-T.Mozambique.csproj @@ -38,7 +38,7 @@ - + From c6ebe81bd5d6ad05f6aece8b1cf280be5bda9129 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 14 Apr 2026 12:16:25 +0000 Subject: [PATCH 3/3] docs: replace branch strategy section in CLAUDE.md with reference to CONTRIBUTING.md Agent-Logs-Url: https://github.com/SimansoftMZ/SAF-T/sessions/b291d351-8a72-4854-a84a-615331952a14 Co-authored-by: albertomandlate <14326204+albertomandlate@users.noreply.github.com> --- CLAUDE.md | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 86d18d8..987a36e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -33,13 +33,5 @@ samples/ ## Estratégia de Branches -Git Flow — usa hífens em vez de barras nos nomes de branches (compatibilidade com CI/CD): - -``` -main ← produção estável; merge apenas de release-* ou hotfix-* -develop ← integração contínua; merge apenas de feature-*, bugfix-* ou release-* -feature-* ← novas funcionalidades (base: develop, destino: develop) -bugfix-* ← correcções em desenvolvimento (base: develop, destino: develop) -release-* ← preparação de versão (base: develop, destino: main + develop) -hotfix-* ← correcções críticas em produção (base: main, destino: main + develop) -``` +A estratégia de branches deste repositório está documentada em `CONTRIBUTING.md`. +Consulta esse ficheiro para as regras de Git Flow, convenções de nomenclatura e destinos de merge.