Repository navigation
Development and Testing
Para API e testes, Python 3.10+ é suficiente; a aplicação usa bibliotecas padrão. O container é construído com Python 3.12. Para compilar o núcleo C, instale GNU Make e GCC/Clang com suporte a C23.
| Comando | Ação |
|---|---|
make |
Compila o núcleo C para build/product_manager
|
make run |
Executa o binário C |
make run-api |
Executa python3 api/app.py
|
make run-desktop |
Executa python3 desktop.py
|
make test |
Executa testes Python com unittest |
make package-linux |
Gera pacote Linux via script de empacotamento |
make package-pwa |
Gera ZIP de implantação PWA |
make clean |
Remove objetos e binário do núcleo C |
O núcleo C é separado da aplicação web. A API e a interface atuais são implementadas em Python e arquivos web, não no binário C.
make test
python3 -m compileall -q api scripts tests
makeOs testes usam banco temporário segundo o README e não devem alterar o banco de desenvolvimento. Confira docs/test-results.md para resultados documentados por ambiente.
-
tests/test_api.py: testes da API. -
tests/test_pwa.py: verificações relacionadas ao PWA. -
tests/test_conventional_commits.py: validações de mensagens de commit. -
tests/test_release_notes.py: validações de notas de release.
Os workflows ficam em .github/workflows/. Incluem CI, validação de commits convencionais, gerenciamento de issues/labels, empacotamento e release. Consulte os arquivos de workflow para gatilhos, permissões e artefatos atuais.
Leia CONTRIBUTING.md e doc/github-workflow.md. O repositório inclui template de Pull Request e modelos de issue. Em termos gerais:
- Abra uma issue para discutir defeitos ou mudanças relevantes.
- Crie uma branch de trabalho.
- Faça mudanças pequenas e verificáveis.
- Execute testes e verificações locais.
- Atualize documentação e changelog quando necessário.
- Abra Pull Request com objetivo, escopo, testes e limitações.
- Não comite
.env, tokens, banco real ou dados pessoais. - Preserve compatibilidade com bancos existentes; alterações de esquema precisam de migração e teste.
- Prefira SQL parametrizado e validação no servidor.
- Adicione testes para autorização, CSRF, unicidade e casos de erro.
- Faça backup antes de validar migrações em uma instalação que contenha dados.
- Documente diferenças entre comportamento implementado e itens planejados.