Skip to content
Apothem
Arquitetura

Layout do código-fonte

Por que o Apothem usa um layout src/ e como a árvore é organizada.

O Apothem adotou o src-layout da PyPA, colocando todo o Python importável sob src/apothem/.

Por que o src-layout

  • Isolamento de importação. import apothem só é resolvido quando src/ está no path (o motor é executado como PYTHONPATH=src python -m apothem), o que evita importações acidentais da árvore de trabalho a partir de um diretório não relacionado.
  • Runtime autocontido. O Apothem é executado diretamente a partir de um checkout com suas dependências internalizadas sob src/apothem/_vendor/ — nenhuma etapa de instalação é necessária. O src-layout mantém essa superfície importável claramente separada das ferramentas, dos testes e dos scripts do repositório.
  • Distribuição limpa. O mesmo layout produz um sdist e um wheel bem formados (e uma instalação editável opcional pip install -e .) cujo conteúdo corresponde exatamente ao que é distribuído, sem módulos avulsos de nível superior infiltrados.

Estrutura da árvore

src/apothem/
    agents/         persistent agent definitions (*.md)
    audit/          inventory and provenance tools
    benchmarks/     performance benchmarks
    cli/            Click CLI (top-level commands listed below the tree)
    commands/       slash command definitions (*.md)
    conformity/     mechanical gate checkers (*_grep.py)
    harnesses/      one sub-package per harness adapter (17 adapters)
    hooks/          hook dispatcher + message files
    lib/            shared Python library
    output-styles/  output-style definitions (*.md)
    rules/          behavioral rules (*.md)
    schemas/        YAML/JSON schemas
    skills/         reusable skill templates (folder/SKILL.md)
    statuslines/    status-line config (*.json)
    templates/      reusable template artifacts

Comandos da CLI

A lista abaixo é gerada a partir da árvore de comandos do Click.

The cli/ package registers 14 top-level commands:

Artefatos importáveis vs. artefatos de configuração

Muitos itens sob src/apothem/ são artefatos de configuração em Markdown, não módulos Python. A superfície Python importável é:

  • src/apothem/cli/ (a CLI do Click exposta como o ponto de entrada apothem)
  • src/apothem/harnesses/ (os 17 subpacotes de adaptadores de harness)
  • src/apothem/lib/ (biblioteca compartilhada: perfil, registro, materializador, propagação)
  • src/apothem/hooks/ (dispatch.py, lib/)
  • src/apothem/conformity/ (scripts de grep mecânicos)
  • src/apothem/audit/ (scripts de inventário)
  • src/apothem/benchmarks/ (drivers de benchmarks de desempenho)

On this page