Checkpoint
Some checks failed
Test and build / Test and lint (push) Failing after 36s
Test and build / Build collector (push) Failing after 43s
Test and build / Build receiver (push) Failing after 42s

This commit is contained in:
2026-03-05 15:38:18 +01:00
parent 3106b2cf45
commit 13afa08e8a
108 changed files with 19509 additions and 729 deletions

59
ui/AGENTS.md Normal file
View File

@@ -0,0 +1,59 @@
# 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**: React 19 with TypeScript
- **Build Tool**: Vite 7
- **User Interface**: React-Bootstrap with Bootstrap version 5
- **Code Editor**: Visual Studio Code
- **Backend**: Go with labstack echo router
- **Libraries used**: Axios for API requests, mqtt.js for streaming
- **Testing**: use `npm run build`
Relevant documents:
- API documentation is in `../server`
## Testing Requirements
**Always run tests before completing a task.**
Run `npm run build`.
## Coding Guidelines
### General
- Prefer ESM imports (`import`/`export`)
- Use builtins from React, React-Boostrap where possible
- Follow existing code patterns in the code base
- Never make changes outside of the `ui` directory, if you think this is necessary prompt me for approval.
### Styling
- Use React-Bootstrap components where appropriate
- Follow existing CSS patterns
- Add reusable style elements to the `src/App.scss`
- Order imports:
- React import first; then any react plugin
- Third-party libraries;
- Services;
- Local types imports;
- Local imports;
- Stylesheets
- Long import statements (> 3 imports) should use multiline import
- Sort import imports alphabetically
## Protected files
**Never modify files inside the `data/` directory.** This directory contains game data that should remain unchanged.
Never add secrets to code.