mirror of
https://github.com/aauren/tailscale-bind-ddns.git
synced 2026-10-25 13:19:34 +00:00
74 lines
1.6 KiB
Markdown
74 lines
1.6 KiB
Markdown
# Development
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
.
|
|
├── .github/ # GitHub Actions workflows
|
|
│ └── workflows/
|
|
│ ├── ci.yml # Continuous Integration
|
|
│ └── release.yml # Automated releases
|
|
├── cmd/ # CLI commands and main entry point
|
|
│ └── root.go
|
|
├── pkg/ # Public library code
|
|
│ ├── app/ # Main application logic
|
|
│ ├── bind/ # Bind DDNS client
|
|
│ ├── config/ # Configuration management
|
|
│ └── tailscale/ # Tailscale client
|
|
├── internal/ # Internal packages (not used yet)
|
|
├── test/ # Test utilities
|
|
├── docs/ # Documentation
|
|
├── .goreleaser.yml # GoReleaser configuration
|
|
├── Makefile # Build automation
|
|
├── main.go # Application entry point
|
|
├── config.yaml.example # Example configuration
|
|
└── go.mod # Go module definition
|
|
```
|
|
|
|
## Development Setup
|
|
|
|
```bash
|
|
# Clone the repository
|
|
git clone https://github.com/aauren/tailscale-bind-ddns.git
|
|
cd tailscale-bind-ddns
|
|
|
|
# Download dependencies
|
|
make deps
|
|
```
|
|
|
|
## Running Tests
|
|
|
|
```bash
|
|
# Run all tests
|
|
make test
|
|
|
|
# Run tests with coverage
|
|
make test-coverage
|
|
|
|
# Generate HTML coverage report
|
|
make coverage
|
|
```
|
|
|
|
## Building
|
|
|
|
```bash
|
|
# Build for current platform
|
|
make tailscale-bind-ddns
|
|
|
|
# Build for all platforms
|
|
make build-all
|
|
|
|
# Clean build artifacts
|
|
make clean
|
|
```
|
|
|
|
## Linting
|
|
|
|
```bash
|
|
# Run linter
|
|
make lint
|
|
|
|
# Run linter with auto-fix
|
|
make lint-fix
|
|
```
|