# 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.
