Menulis aturan
Tulis, batasi cakupan, dan pelihara aturan perilaku Apothem.
Aturan adalah berkas Markdown di src/apothem/rules/ dengan ekstensi .md.
Frontmatter aturan
---
name: "..."
description: "..."
pathFilter: "" # empty string for always-on; a glob for path-filtered
alwaysApply: true # true for always-on; false for path-filtered
---Cakupan aturan
Cakupan aturan ditetapkan oleh dua field frontmatter, alwaysApply dan pathFilter:
alwaysApply | pathFilter | Kapan diterapkan |
|---|---|---|
true | "" (kosong) | Selalu aktif: setiap sesi, setiap berkas |
false | glob seperti "**/*.py" | Berbasis path: hanya ketika berkas aktif cocok dengan glob |
Lima aturan bawaan selalu aktif: agnostic-posture, authority-inquiry,
session-closure, context-management, dan indeks aturan. Aturan yang selalu
aktif memakan konteks di setiap sesi, sehingga aturan baru SHOULD berbasis path
dengan glob yang menyebutkan berkas yang diaturnya; filter ** saja tidak
membatasi apa pun, dan Claude Code memuat aturan itu saat peluncuran seperti
aturan yang selalu aktif. Korpus bawaan membatasi kumpulan yang selalu aktif
pada daftar tersebut dan pada batas ukuran byte; aturan yang dipromosikan
menjadi selalu aktif mengubah keduanya dalam perubahan yang sama. Sebutkan setiap
aturan yang Anda tambahkan di indeks aturan (apothem-rule-index), sehingga
sesi pada harness yang tidak membatasi aturan berdasarkan path tetap
menemukannya. Aturan pendamping (<parent>-<aspect>) mengambil pathFilter
induknya, atau yang lebih sempit, sehingga aturan itu tidak pernah dimuat tanpa
induknya. Jangan beri aturan milik Anda sendiri nama apothem-rule-index:
instalasi mencadangkan dan menimpa berkas aturan dengan nama tersebut.
Contoh aturan
---
name: "python-conventions"
description: "Python style conventions for this project"
pathFilter: "**/*.py"
alwaysApply: false
---
# Python conventions
- Use type annotations on all public functions.
- Maximum line length: 88 characters.
- Prefer explicit over implicit.Menerapkan aturan ke harness
Setelah menulis aturan, perbarui setiap adapter harness yang terpasang. Jalankan apothem harnesses list untuk melihat kumpulan yang terpasang, lalu panggil update satu kali untuk setiap harness:
apothem update --harness claude-code
apothem update --harness cursor --project /path/to/projectHarness cakupan proyek memerlukan --project saat update, seperti pada baris
kedua; harness cakupan pengguna tidak.
Validasi aturan
Jalankan validator frontmatter terhadap berkas aturan yang Anda tulis. Dari
checkout Apothem, PYTHONPATH=src membuat paket dapat diimpor; setelah instalasi
lewat skrip, gunakan PYTHONPATH="$HOME/.apothem/src" sebagai gantinya.
PYTHONPATH=src python -m apothem.conformity.gate --check frontmatter-grep src/apothem/rules/<rule>.mdPemeriksaan per-penulisan seperti frontmatter-grep menerima berkas yang akan
diperiksa, atau --stdin untuk membaca konten dari standard input; tanpa
keduanya, pemeriksaan menunggu masukan di standard input. Pemeriksaan standalone
justru menerima direktori root, seperti pada --check naming-grep ..