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 apothemhanya ter-resolve ketikasrc/ada di path (mesin berjalan sebagaiPYTHONPATH=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 artifactsCommand CLI
Daftar di bawah ini dihasilkan dari pohon command Click.
The cli/ package registers 14 top-level commands:
apothem backupsapothem completionapothem diffapothem doctorapothem harnessesapothem installapothem migrate-workspaceapothem profileapothem quickstartapothem rollbackapothem statusapothem uninstallapothem updateapothem verify
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 pointapothem)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)