Skip to content

Latest commit

 

History

History
93 lines (61 loc) · 6.49 KB

File metadata and controls

93 lines (61 loc) · 6.49 KB

Συνεισφορά στο ZeroClaw

Σας ευχαριστούμε για το ενδιαφέρον σας να συνεισφέρετε στο ZeroClaw! Αυτός ο οδηγός θα σας βοηθήσει να ξεκινήσετε.

Συνεισφέροντες για πρώτη φορά

Καλώς ήρθατε — οι συνεισφορές κάθε μεγέθους είναι πολύτιμες. Εάν αυτή είναι η πρώτη σας συνεισφορά, δείτε πώς μπορείτε να ξεκινήσετε:

  1. Βρείτε ένα ζήτημα. Αναζητήστε ζητήματα με την ετικέτα good first issue — αυτά είναι σχεδιασμένα για νεοεισερχόμενους και περιλαμβάνουν το απαραίτητο πλαίσιο για να ξεκινήσετε γρήγορα.

  2. Επιλέξτε ένα πεδίο. Καλές πρώτες συνεισφορές περιλαμβάνουν:

    • Διορθώσεις τυπογραφικών λαθών και τεκμηρίωσης
    • Προσθήκες ή βελτιώσεις δοκιμών (tests)
    • Μικρές διορθώσεις σφαλμάτων με σαφή βήματα αναπαραγωγής
  3. Ακολουθήστε τη ροή εργασίας fork → branch → change → test → PR:

    • Κάντε fork το αποθετήριο και κλωνοποιήστε το δικό σας fork
    • Δημιουργήστε έναν κλάδο δυνατοτήτων (feature branch) (git checkout -b fix/my-change)
    • Κάντε τις αλλαγές σας και εκτελέστε cargo fmt && cargo clippy && cargo test
    • Ανοίξτε ένα PR προς το dev χρησιμοποιώντας το πρότυπο PR
  4. Ξεκινήστε με το Track A. Το ZeroClaw χρησιμοποιεί τρία επίπεδα συνεργασίας (A/B/C) βάσει κινδύνου. Οι συνεισφέροντες για πρώτη φορά θα πρέπει να στοχεύουν στο Track A (τεκμηρίωση, δοκιμές, μικροεργασίες) — αυτά απαιτούν ελαφρύτερη αναθεώρηση και είναι η ταχύτερη διαδρομή για την ενσωμάτωση (merge) ενός PR.

Εάν κολλήσετε, ανοίξτε ένα draft PR νωρίς και κάντε ερωτήσεις στην περιγραφή.

Ρύθμιση Ανάπτυξης

# Κλωνοποιήστε το αποθετήριο
git clone https://github.com/zeroclaw-labs/zeroclaw.git
cd zeroclaw

# Ενεργοποιήστε το pre-push hook (εκτελεί fmt, clippy, δοκιμές πριν από κάθε push)
git config core.hooksPath .githooks

# Κατασκευή (Build)
cargo build

# Εκτέλεση δοκιμών (πρέπει να περάσουν όλες)
cargo test --locked

# Μορφοποίηση και έλεγχος (απαιτείται πριν το PR)
./scripts/ci/rust_quality_gate.sh

# Έκδοση release
cargo build --release --locked

Pre-push hook

Το αποθετήριο περιλαμβάνει ένα pre-push hook στο .githooks/ που επιβάλλει το ./scripts/ci/rust_quality_gate.sh και το cargo test --locked πριν από κάθε push. Ενεργοποιήστε το με την εντολή git config core.hooksPath .githooks.

Τοπική Διαχείριση Μυστικών (Απαιτείται)

Το ZeroClaw υποστηρίζει κλιμακωτή διαχείριση μυστικών για την τοπική ανάπτυξη και την υγιεινή του CI.

Επιλογές Αποθήκευσης Μυστικών

  1. Μεταβλητές περιβάλλοντος (συνιστάται για τοπική ανάπτυξη)

    • Αντιγράψτε το .env.example στο .env και συμπληρώστε τις τιμές
    • Τα αρχεία .env αγνοούνται από το Git και πρέπει να παραμένουν τοπικά
  2. Αρχείο ρυθμίσεων (~/.zeroclaw/config.toml)

    • Μόνιμη ρύθμιση για μακροχρόνια χρήση
    • Όταν secrets.encrypt = true (προεπιλογή), οι τιμές κρυπτογραφούνται πριν την αποθήκευση

Κανόνες Επίλυσης κατά την Εκτέλεση

Η επίλυση του κλειδιού API ακολουθεί αυτή τη σειρά:

  1. Ρητό κλειδί που μεταδίδεται από το config/CLI
  2. Μεταβλητές περιβάλλοντος ειδικά για τον πάροχο (OPENROUTER_API_KEY, OPENAI_API_KEY, κ.λπ.)
  3. Γενικές μεταβλητές περιβάλλοντος (ZEROCLAW_API_KEY, API_KEY)

Υγιεινή Μυστικών Πριν το Commit (Υποχρεωτικό)

Πριν από κάθε commit, επαληθεύστε:

  • Δεν έχουν προστεθεί αρχεία .env (μόνο το .env.example επιτρέπεται)
  • Δεν υπάρχουν κλειδιά API/tokens στον κώδικα, τις δοκιμές, τα παραδείγματα ή τα μηνύματα commit
  • Δεν υπάρχουν διαπιστευτήρια σε εξόδους αποσφαλμάτωσης (debug output)

Επίπεδα Συνεργασίας (Βάσει Κινδύνου)

Επίπεδο Τυπικό πεδίο Απαιτούμενο βάθος αναθεώρησης
Track A (Χαμηλός κίνδυνος) τεκμηρίωση/δοκιμές, απομονωμένο refactoring 1 αναθεώρηση από συντηρητή + επιτυχές CI
Track B (Μεσαίος κίνδυνος) αλλαγές συμπεριφοράς παρόχων/καναλιών/μνήμης 1 αναθεώρηση με γνώση του υποσυστήματος + τεκμηρίωση επαλήθευσης
Track C (Υψηλός κίνδυνος) ασφάλεια, περιβάλλον εκτέλεσης, CI, όρια πρόσβασης Αναθεώρηση 2 φάσεων + σχέδιο επαναφοράς (rollback)

ZeroClaw — Μηδενική επιβάρυνση. Κανένας συμβιβασμός. 🦀