Skip to content
Apothem
Arsitektur

Tata letak sumber

Mengapa Apothem menggunakan tata letak src/ dan bagaimana pohonnya diorganisasikan.

Apothem mengadopsi src-layout PyPA, dengan menempatkan semua Python yang dapat diimpor di bawah src/apothem/.

Mengapa src-layout

  • Isolasi impor. import apothem hanya ter-resolve ketika src/ ada di path (mesin berjalan sebagai PYTHONPATH=src python -m apothem), sehingga mencegah impor working tree yang tidak disengaja dari direktori yang tidak berkaitan.
  • Runtime mandiri. Apothem berjalan langsung dari checkout dengan dependensinya di-vendor di bawah src/apothem/_vendor/ — tidak diperlukan langkah pemasangan. src-layout menjaga permukaan yang dapat diimpor itu terpisah dengan rapi dari perkakas, pengujian, dan skrip repositori.
  • Distribusi yang bersih. Tata letak yang sama menghasilkan sdist dan wheel yang terbentuk dengan baik (serta pemasangan editable pip install -e . yang opsional) yang isinya persis sama dengan apa yang dikirimkan, tanpa modul tingkat atas liar yang ikut bocor masuk.

Struktur pohon

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

Command CLI

Daftar di bawah ini dihasilkan dari pohon command Click.

The cli/ package registers 14 top-level commands:

Artefak yang dapat diimpor vs. artefak konfigurasi

Banyak item di bawah src/apothem/ adalah artefak konfigurasi Markdown, bukan modul Python. Permukaan Python yang dapat diimpor adalah:

  • src/apothem/cli/ (CLI Click yang diekspos sebagai entry point apothem)
  • src/apothem/harnesses/ (17 sub-paket adapter harness)
  • src/apothem/lib/ (pustaka bersama: profil, registri, materializer, propagasi)
  • src/apothem/hooks/ (dispatch.py, lib/)
  • src/apothem/conformity/ (skrip grep mekanis)
  • src/apothem/audit/ (skrip inventaris)
  • src/apothem/benchmarks/ (driver tolok ukur kinerja)

On this page