Yollar ve Kimlik Bilgileri
Yapılandırma katmanları
NEXUS'un yapılandırması, dört katman üzerinden çözümlenen bir .chainabit/ dizininde durur. Aynı ayar birden fazla yerde tanımlıysa sonraki katman kazanır:
| Sıra | Katman | Konum |
|---|---|---|
| 1 | Yerleşik varsayılanlar | NEXUS ile birlikte gelir |
| 2 | Kurum politikası | kurum tarafından dağıtılır |
| 3 | Projeye özel | projedeki .chainabit/ |
| 4 | Kişisel | ~/.chainabit/ |
NEXUS'un kendi dosyaları, bu katmanlı ağacın içinde .chainabit/nexus/ altında durur.
Kimlik bilgisi dosyasının adı kritiktir
.chainabit/, sürüm kontrolüne alınan ve ekiple paylaşılan bir dizindir — içindekilerin çoğu, herhangi bir proje dosyası gibi commit edilmek ve incelenmek üzere tasarlanmıştır. Birlikte gelen yok sayma (ignore) kuralları yalnızca *.local.* kalıbına uyan dosyaları dışarıda bırakır. Bunun doğrudan bir sonucu vardır:
Bir sır barındıran dosyanın adı *.local.json olmalıdır ve dosya yalnızca sahibinin erişebileceği izinlerle oluşturulur. Bu bir biçim tercihi değildir. .local. ekini taşımayan bir kimlik bilgisi dosyası, birlikte gelen yok sayma kuralları tarafından dışarıda bırakılmaz ve biri rutin bir git add çalıştırdığında paylaşılan geçmişe girer.
| Dosya | İçerir | Yaşam döngüsü |
|---|---|---|
.chainabit/nexus/agent.local.json | ajan kimlik bilgileri | normal çalışma sırasında yeniden yazılır; oturum kapandığında silinir |
.chainabit/nexus/server.local.json | sunucu kimlik bilgileri | normal çalışma sırasında yeniden yazılır; oturum kapandığında silinir |
.chainabit/nexus/mcp.local.json | MCP oturum kimlik bilgileri | normal çalışma sırasında yeniden yazılır; oturum kapandığında silinir |
İş yönetimi deposu
İş yönetiminin tek bir dosyası vardır ve bu dosya makine başınadır; çalışma alanı başına ya da proje başına değil:
| Yol | Tuttuğu |
|---|---|
~/.chainabit/nexus/work-management.json | Work hedefinin gösterdiği her proje, pano, aşama, kart, iş öğesi ve ilişki |
Bu tek satırdan üç sonuç çıkar:
- Kimlik bilgisi taşımaz, dolayısıyla
.local.ekini de taşımaz. Sıradan bir veri dosyasıdır ve.chainabit/ağacını sürüm kontrolünde tutan biri onu diğer dosyalar gibi izleyebilir. - Bir proje klasörüne kapsamlanmaz. Projenin kendi işlenmiş
.chainabit/dizininde duran sabitlenmiş kuralların ve bellek dışa aktarımlarının aksine, iş yönetimi deposu kişisel katmanda durur ve makinedeki her çalışma alanı tarafından paylaşılır. Work hedefi içinde bir proje seçmek yalnızca baktığınız şeyi daraltır; verinin nerede tutulduğunu değiştirmez. - Tek yetke odur. Hiçbir şey onu bir Chainabit hesabına veya ikinci bir makineye çoğaltmaz ve bunu açan bir ayar da yoktur — bkz. Local-first (EN). İki makine, iki bağımsız depo demektir.
Telemetri dizini
Sürümünüzde isteğe bağlı telemetri ayarı bulunduğunda, varsayılan olarak kapalı iki kategorisi çalıştığı her şeyi kişisel katmandaki tek bir dizinde tutar:
~/.chainabit/nexus/telemetry/| Yol | Tuttuğu |
|---|---|
analytics/seg-*.jsonl, diagnostics/seg-*.jsonl | Gönderilmeyi bekleyen kuyruktaki olaylar, satır başına bir tane; kategori kapatıldığında silinir |
sent.local.jsonl | Uygulama içi Queued & sent data görünümü için gönderilen son 200 olay |
tickets.local.json | Hizmet onaylayana kadar silme istekleri, sonrasında 30 gün daha |
epochs.json | Her kategorinin ne zaman açıldığı; o andan önce üretilen hiçbir şey gönderilmez |
policy.json | Telemetri hizmetinden alınan son politika |
launch-marker.json | Yalnızca bir kategori açıkken yazılır; böylece bir sonraki açılış temiz kapanışı çökmeden ayırt edebilir |
crash/ | İşlenmeyi bekleyen çökme ve takılma raporları; yalnızca çökme ve hata raporları açıkken |
.lock | Buraya aynı anda yalnızca tek bir NEXUS sürecinin yazmasını sağlar |
Dizin, bir kategori en az bir kez açılana kadar var olmaz ve bir kimlik bilgisi dizini gibi yalnızca sahibine açık oluşturulur. İki dosya .local. ekini taşır ve bu nedenle birlikte gelen yok sayma kuralları tarafından sürüm kontrolünün dışında bırakılır: bir silme isteği, hizmet onaylayana kadar atılan yükleme belirtecini tutar; gönderilen olaylar halkası ise bu makineye özeldir. Bu dizinin altındaki hiçbir şey başka bir özellik tarafından okunmaz. Dosyaların ne içerdiği ve Settings üzerinden nasıl inceleneceği için Privacy & Diagnostics sayfasına bakın.
Bir ajan bağlandığında projeye yazılanlar
Bir ajanı terminale bağlamak — ajanı bölmenin üzerine bırakarak ya da Buraya aktar ile — o terminalin çalışma dizinine yazar. O dizin sizindir; bu yüzden NEXUS önce sorar: bir önizleme her hedefi adıyla listeler ve içine girecek metnin tamamını gösterir, siz Aktar demeden hiçbir şey diske yazılmaz.
| Yol | Ne zaman | Tür |
|---|---|---|
.chainabit/agents/<agent>.md | her zaman | yeni dosya |
.chainabit/nexus/agents/<terminal>/imported/ | aktarımda (düz bağlamada değil) | yeni dosya |
.chainabit/teams/<stem>.json | yerel bir takım oluşturulduğunda veya üyeliği değiştiğinde | yeni dosya, sonra yerinde düzenlenir |
| Sağlayıcının kendi ajan dizini | yalnızca Sağlayıcı dosyalarını projeye yaz açıkken | yeni dosya |
Mevcut bir CLAUDE.md veya AGENTS.md | mesh mesajlaşma açıkken ve bu dosyalardan biri zaten varken | yerinde düzenlenir |
Yerel bir takımın tanımı da diğer dosyalar gibi bir dosyadır ve ağacın işlenen (commit edilen) kısmında durur: .chainabit/teams/<stem>.json takımın amacını, ilkelerini ve üye listesini tutar; yani oluşturduğunuz bir takım, depoya sahip olan herkesle paylaşılır. Dosya kökü takım adından türetilir — bu da adı belirleyici kılar: bir takımı yeniden adlandırmak eski dosyayı taşımak yerine yeni bir dosya yazar.
Yukarıdaki tablonun son satırı önizlemenin ilk vurguladığı satırdır. NEXUS, mesh mesajlaşma araçlarını anlatan bir bloğu <!-- nexus:mesh-tools:start --> ve <!-- nexus:mesh-tools:end --> işaretleri arasına ekler; yeniden bağlamada ikinci bir blok eklemek yerine mevcut bloğu değiştirir. Bunun için dosya oluşturulmaz — dosyaların hiçbiri yoksa hiçbir şey eklenmez.
Reddettiğinizde dizin bayt bayt aynı kalır. Önce yazılıp sonra geri alınan bir şey yoktur: önizleme dosya sistemine dokunmadan hazırlanır, dolayısıyla reddin geri alacağı bir şey de yoktur.
Bir kararı hatırlamak
Önizleme Bu proje için bir daha sorma seçeneğini sunar. Bunu işaretlemek, kabul ettiğiniz yolları yalnızca o proje için kaydeder.
İzin, projenin tamamına değil, o yollara verilir. Bir bağlamanın yazacağı dosya kümesi sonradan büyürse — Sağlayıcı dosyalarını projeye yaz her sağlayıcı için bir dosya ekler — NEXUS yeniden sorar; çünkü o hedefler kabul ettiğinizde ekranda yoktu. Daha az dosya yazacak bir bağlama için yeniden sorulmaz.
Önizlemeyi her yerde kapatan bir ayar yoktur. Kaydedilmiş kararı olmayan bir projeye her zaman sorulur.
İzinler
Bir kimlik bilgisi dosyası yalnızca sahibi tarafından okunabilir ve yazılabilir olarak oluşturulur. Onu barındıran dizin de yalnızca sahibine açık oluşturulur — başka hiç kimse okuyamaz, yazamaz ve içeriğini listeleyemez; alışılmış, herkesin okuyabildiği varsayılan devralınmaz. Dosyanın kendi izinleri içeriği zaten gizli tutar; dizini kısıtlamak, içindeki dosyaların adlarının da gizli kalmasını sağlar, böylece aynı makinedeki başka bir hesap oradaki hiçbir şeyi listeleyemez.
Neden ortam değişkeni kullanılmıyor
Bir yetenek anahtarı (capability token) hiçbir zaman bir ortam değişkeninde taşınmaz — yalnızca yukarıdaki dosyalardan birinde durur. Ortam değişkenleri, bir oturumun başlattığı her alt sürece devredilir; oraya konan bir anahtar, ajanın çalıştırdığı her komuta süresiz olarak ve sonradan kapsamı daraltılamayacak biçimde teslim edilmiş olur. Yalnızca sahibine açık izinlere sahip bir dosya ise, yoluna açıkça erişim verilmeyen hiçbir şey tarafından devralınmaz.