|
| 1 | +# CLAUDE.md |
| 2 | + |
| 3 | +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. |
| 4 | + |
| 5 | +## Project Overview |
| 6 | + |
| 7 | +This is a DNS management repository using OctoDNS to manage DNS records for two domains: |
| 8 | +- `patchworklabs.org` |
| 9 | +- `hackathon.help` |
| 10 | + |
| 11 | +The repository uses OctoDNS with Hetzner as the DNS provider and YAML configuration files to define DNS records declaratively. |
| 12 | + |
| 13 | +## Architecture |
| 14 | + |
| 15 | +- **Configuration**: `config/main.yaml` defines providers and zone mappings |
| 16 | +- **DNS Records**: Domain-specific YAML files (`patchworklabs.org.yaml`, `hackathon.help.yaml`) contain DNS record definitions |
| 17 | +- **Scripts**: Shell scripts in `bin/` directory handle DNS operations |
| 18 | +- **Dependencies**: Python dependencies managed via `requirements.txt` with OctoDNS ecosystem |
| 19 | + |
| 20 | +## Essential Commands |
| 21 | + |
| 22 | +### DNS Operations |
| 23 | +- **Dry run (preview changes)**: `./bin/dry-run` |
| 24 | +- **Dry run with force**: `./bin/dry-run-force` |
| 25 | +- **Apply DNS changes**: `./bin/sync` |
| 26 | +- **Apply DNS changes with force**: `./bin/sync-force` |
| 27 | + |
| 28 | +### Environment Setup |
| 29 | +```bash |
| 30 | +pip install -r requirements.txt |
| 31 | +export HETZNER_KEY=your_hetzner_api_key |
| 32 | +``` |
| 33 | + |
| 34 | +## Configuration Structure |
| 35 | + |
| 36 | +- **Provider Config**: Hetzner DNS provider configured in `config/main.yaml` with API token from `HETZNER_KEY` environment variable |
| 37 | +- **Zone Sources**: Both domains use YAML provider as source and Hetzner as target |
| 38 | +- **DNS Records**: Defined in domain-specific YAML files with standard DNS record types (MX, TXT, CNAME, etc.) |
| 39 | + |
| 40 | +## Important Notes |
| 41 | + |
| 42 | +- Always run dry-run commands before applying changes to preview DNS modifications |
| 43 | +- The `--force` flag bypasses safety checks and should be used carefully |
| 44 | +- DNS records include critical configurations like DMARC, Google Site Verification, and email routing |
| 45 | +- Both domains are owned by Patchwork Labs Inc with similar DNS configurations |
0 commit comments