# đŸ€ Contributing > Jak pƙispĂ­vat do tohoto repozitáƙe. ## 📝 Pravidla ### Commit messages PouĆŸĂ­vej **Conventional Commits**: - `feat:` – novĂĄ sluĆŸba nebo funkce - `fix:` – oprava chyby - `docs:` – pouze dokumentace - `chore:` – ĂșdrĆŸba, refactoring - `style:` – formatting, bez funkčnĂ­ změny - `refactor:` – pƙestavba kĂłdu - `test:` – pƙidĂĄnĂ­ testĆŻ Pƙíklad: `feat(vaultwarden): pƙidat 2FA podporu` ### Branch naming - `feature/` – novĂĄ feature - `fix/` – bugfix - `docs/` – dokumentace Pƙíklad: `feature/audiobookshelf-metadata` ### Pull Request 1. Fork → branch → commit → push → PR 2. **Titulek PR** – krĂĄtkĂœ, vĂœstiĆŸnĂœ 3. **Popis** – co, proč, jak 4. **Screenshoty** – pokud měnĂ­ĆĄ UI/dokumentaci 5. **Testy** – pokud měnĂ­ĆĄ Ansible playbooks ## 🏗 Struktura ``` repo/ ├── docker-services/ # KaĆŸdĂĄ sluĆŸba v samostatnĂ©m adresáƙi ├── install-scripts/ # Bash skripty pro novĂ© servery ├── ansible/ # Playbooky + role ├── hermes-install/ # Hermes CLI setup ├── macos-setup/ # Homebrew + macOS defaults ├── home-nas-tools/ # Metadata (ĆŸĂĄdnĂ© binĂĄrky!) └── docs/ # Architektura, bezpečnost ``` ## ✅ Checklist pro novou sluĆŸbu - [ ] `docker-services//docker-compose.yml` – generickĂœ, placeholders - [ ] `docker-services//.env.example` – ĆĄablona env vars - [ ] `docker-services//README.md` – dokumentace - [ ] AktualizovĂĄn `docker-services/README.md` (tabulka) - [ ] AktualizovĂĄn hlavnĂ­ `README.md` (pokud je service klíčovĂĄ) - [ ] **ĆœĂĄdnĂ© citlivĂ© Ășdaje** v commitu ## 🔐 Bezpečnost - ❌ **NEcommituj** hesla, API klíče, IP adresy serveru - ❌ **NEcommituj** `~/.env` (je v `.gitignore`) - ❌ **NEcommituj** SSH klíče - ✅ **VĆŸdy** pouĆŸĂ­vej `.env.example` jako ĆĄablonu - ✅ **VĆŸdy** testuj novĂ© compose lokĂĄlně pƙed commitem ## đŸ§Ș TestovĂĄnĂ­ Pƙed commitem: ```bash # Validace YAML python3 -c "import yaml; yaml.safe_load(open('docker-services//docker-compose.yml'))" # Validace compose (na serveru) docker compose -f docker-services//docker-compose.yml config # Syntax check bash shellcheck install-scripts/