Skip to content
This repository was archived by the owner on May 12, 2026. It is now read-only.

Commit 4501550

Browse files
committed
docs: add contributing guide for maintenance
1 parent 1c5599d commit 4501550

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Contributing to AllSpark Edge Server
2+
3+
This document covers **development rules and conventions** specific to `AllSpark Edge Server`. These rules are mandatory for all contributors, including automated/agentic coding tools.
4+
5+
## Development Rules
6+
7+
### 1. Unified Configuration (YAML)
8+
9+
All operational settings must be stored in `config.yaml`.
10+
- **No JSON:** The server has been refactored away from legacy JSON configurations. Do not write or rely on `.json` settings files.
11+
- **Namespaces:** Configurations must be split into two explicit namespaces: `mobile_client` (for device telemetry and synchronization endpoints) and `control_plane` (web dashboard and dashboard dependencies).
12+
- **Auto-generation:** The server must automatically handle fallback implementations and auto-generate any missing safe default configuration schemas upon launch.
13+
14+
### 2. Architecture & UI
15+
16+
- **Python First:** The server backend and GUI are python based. Do not use legacy Node.js workflows.
17+
- **NiceGUI Control Plane:** The Edge server control plane is built using [NiceGUI](https://nicegui.io/). Routing is natively managed by decorators (e.g. `@ui.page('/route')`). When creating pages, add a call inside the main process to initialize them dynamically.
18+
19+
### 3. File-System Signals
20+
21+
For anomaly event generation and signaling, do not deploy heavyweight MQTT brokers on the edge infrastructure unless absolutely required by other external systems. Utilize local native directory-watching mechanisms for tracking events and system logs.
22+
23+
### 4. Dependencies — Pin All Versions
24+
25+
**All dependencies must use exact, pegged versions** (no `^`, `~`, or `*` ranges). This prevents version drift across environments and ensures reproducible builds for security.
26+
27+
## Code Style & Versioning
28+
29+
- Enforce proper Python styling guides (`flake8` / `black` when applicable).
30+
- Keep requirements updated using frozen `requirements.txt`.
31+
32+
The `allspark-agents` repository (including this Edge Server subproject) uses [Release Please](https://github.com/googleapis/release-please) to automate CHANGELOG generation and semantic versioning. Your PR titles *must* follow Conventional Commit standards (e.g., `feat:`, `fix:`, `chore:`).

0 commit comments

Comments
 (0)