# AGENTS This document provides context for AI agents working on this codebase. ## Project Overview HAMView is an online Amateur Radio digital protocol live viewer. It features: - Displaying online radio receivers in near real-time - Streaming of popular Amateur Radio protocols such as APRS, MeshCore, etc. - A live packet stream for each of the protocols - Packet inspection ## Tech Stack Used technologies: - **Framework**: Go with echo 4 - **Logging**: logrus - **Code Editor**: Visual Studio Code - **Backend**: Xorm on PostgreSQL with PostGIS extensions - **Broker**: Mosquitto broker - **Testing**: use `go test -v` ## Testing Requirements **Always run tests before completing a task.** Run `go test -v` and `golangci-lint run`. ## Coding Guidelines ### General - Use builtins from Go, echo and the libraries from `go.mod` where possible - Follow existing code patterns in the code base - Don't add new imports unless necessary ### Styling - Use Go builtins where appropriate - Order imports with `goimports` ## Protected files Never add secrets to code, unless a secret is used as a test vector. In that case, ask for confirmation before adding or changing. ## Addressing Don't call me "the user", refer to me as "the developer". Refrain from using hyperbolic expressions like "excellent" and "perfect", "ok" or "good" is good enough.