You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/skills/code-standards/SKILL.md
+26-1Lines changed: 26 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,10 +8,23 @@ description: NetAlertX coding standards and conventions. Use this when writing c
8
8
- ask me to review before going to each next step (mention n step out of x) (AI only)
9
9
- before starting, prepare implementation plan (AI only)
10
10
- ask me to review it and ask any clarifying questions first
11
-
- add test creation as last step - follow repo architecture patterns - do not place in the root of /test
11
+
- add test creation as last step - follow repo architecture patterns - do not place in the root of `/test`
12
12
- code has to be maintainable, no duplicate code
13
13
- follow DRY principle - maintainability of code is more important than speed of implementation
14
14
- code files should be less than 500 LOC for better maintainability
15
+
- DB columns must not contain underscores, use camelCase instead (e.g., deviceInstanceId, not device_instance_id)
16
+
- treat DB as temporary storage for stats, long-term configuration should be stored in the `/config` folder, the `/config` folder should allow you to restore most of your functionality (excluding historical data)
17
+
- never access DB directly from application layers, always use helper functions in `server/db/db_helper.py` and implement new functionality in handlers (e.g., `DeviceInstance` in `server/models/device_instance.py`)
18
+
- always validate and normalize MAC addresses before writing to DB (use `normalize_mac` from `plugin_helper.py`)
19
+
- all subprocess calls must set explicit timeouts
20
+
- use `timeNowUTC` from `utils.datetime_utils` for all time-related operations and DB timestamps (store all timestamps in UTC)
21
+
- use sanitizers from `server/helper.py` for user input before storing in DB
22
+
- reuse shared mocks and factories from `test/db_test_helpers.py` for tests, never redefine them locally
23
+
- use environment variables for runtime paths, never hardcode paths or use relative paths
24
+
- follow existing code style and structure, and ensure backward compatibility with existing installations when submitting PRs
25
+
- all code needs to be scalable to handle large networks with thousands of devices (10k+) without performance degradation
26
+
- no inline imports, all imports must be at the top of the file
27
+
15
28
16
29
## File Length
17
30
@@ -72,6 +85,18 @@ Use sanitizers from `server/helper.py` before storing user input. MAC addresses
72
85
- Everything is already writable
73
86
- If permissions needed, fix `.devcontainer/scripts/setup.sh`
74
87
88
+
## Test Helpers — No Duplicate Mocks
89
+
90
+
Reuse shared mocks and factories from `test/db_test_helpers.py`. Never redefine `DummyDB`, `make_db`, or inline DDL in individual test files.
If you like NetAlertX and want to help it grow, this is how.
4
+
5
+
This isn’t about spam or "growth hacks." It’s just getting the tool in front of people who already have the problem (manual network docs, blind spots, messy networks).
6
+
7
+
---
8
+
9
+
## 🎯 Who this is for
10
+
11
+
***Homelabbers** → Proxmox, Unraid, Raspberry Pi setups
12
+
***Self-hosters** → moving away from cloud / want local-first
13
+
***Sysadmins / MSPs** → need visibility + fast onboarding
14
+
15
+
---
16
+
17
+
## 💬 Where to post (and how)
18
+
19
+
### Reddit (main channel)
20
+
21
+
Reddit works *if* you don’t sound like marketing.
22
+
23
+
**Subreddits**
24
+
25
+
* r/homelab
26
+
* r/selfhosted
27
+
* r/sysadmin
28
+
* r/networking
29
+
30
+
**What works**
31
+
32
+
* "Show r/homelab" / "I built this"
33
+
* Problem → solution
34
+
* Real screenshots or short GIFs
35
+
36
+
**Example**
37
+
38
+
> Tired of keeping network diagrams up to date?
39
+
> I deployed something that does it automatically.
40
+
41
+
**Avoid**
42
+
43
+
* Over-explaining
44
+
* Buzzwords
45
+
* "Check out my project!!!" energy
46
+
47
+
**Timing (rough guide)**
48
+
49
+
* Tue–Thu mornings (US time)
50
+
51
+
---
52
+
53
+
### Hacker News (Show HN)
54
+
55
+
Good fit because NetAlertX is:
56
+
57
+
* local-first
58
+
* privacy-focused
59
+
* actually useful
60
+
61
+
**Title**
62
+
63
+
> Show HN: NetAlertX – network documentation that updates itself
64
+
65
+
Be ready to answer:
66
+
67
+
* stack (Python / PHP / JS)
68
+
* how discovery works
69
+
* privacy / local scanning
70
+
71
+
---
72
+
73
+
### Awesome Lists
74
+
75
+
Low effort, long-term visibility.
76
+
77
+
Target:
78
+
79
+
* awesome-selfhosted
80
+
* awesome-homelab
81
+
82
+
Keep it simple:
83
+
84
+
> NetAlertX – automated network discovery and documentation with alerting
85
+
86
+
---
87
+
88
+
## 🎥 Content / creators
89
+
90
+
If you or someone else makes videos, these angles work:
91
+
92
+
***First 5 minutes** → "it already found everything"
93
+
***Before vs after** → manual vs NetAlertX
94
+
***Docker setup** → show how easy it is
95
+
96
+
No need for overproduction—real usage > polished demos.
97
+
98
+
---
99
+
100
+
## ⚖️ Positioning (keep it simple)
101
+
102
+
When explaining NetAlertX, this is the mental model:
Copy file name to clipboardExpand all lines: README.md
+19-5Lines changed: 19 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,13 +21,13 @@
21
21
</details>
22
22
23
23
24
-
Centralized network visibility and continuous asset discovery.
24
+
Centralized network visibility and continuous asset discovery for homelabs, IT teams, MSPs, and distributed environments.
25
25
26
-
Monitor devices, detect change, and stay aware across distributed networks.
26
+
Monitor devices, detect change, and maintain visibility across remote sites, VLANs, branch offices, and segmented networks from a single interface.
27
27
28
-
NetAlertX provides a centralized "Source of Truth" (NSoT) for network infrastructure. Maintain a real-time inventory of every connected device, identify Shadow IT and unauthorized hardware to maintain regulatory compliance, and automate compliance workflows across distributed sites.
28
+
NetAlertX provides a centralized "Source of Truth" (NSoT) for network infrastructure. Maintain a real-time inventory of connected devices, identify Shadow IT and unauthorized hardware, support compliance initiatives, and automate operational workflows across distributed customer environments.
29
29
30
-
NetAlertX is designed to bridge the gap between simple network scanning and complex SIEM tools, providing actionable insights without the overhead.
30
+
Designed to bridge the gap between simple network scanners and complex SIEM platforms, NetAlertX delivers actionable network intelligence and centralized monitoring without the operational overhead.
31
31
32
32
33
33
## Table of Contents
@@ -98,6 +98,10 @@ build your own scanners with the [Plugin system](https://docs.netalertx.com/PLUG
98
98
99
99
The [workflows module](https://docs.netalertx.com/WORKFLOWS) automates IT governance by enforcing device categorization and cleanup policies. Whether you need to assign newly discovered devices to a specific Network Node, auto-group devices from a given vendor, unarchive a device if detected online, or automatically delete devices, this module provides the flexibility to tailor the automations to your needs.
100
100
101
+
### MSP & Multi-Site Monitoring
102
+
103
+
NetAlertX enables centralized monitoring across remote sites and isolated environments through Sync Nodes for VLANs and branch offices, providing unified visibility of assets across multiple networks. It supports [NOC-style wallboard dashboards](https://docs.netalertx.com/ADVISORY_EYES_ON_GLASS/), [Prometheus metrics export](https://docs.netalertx.com/API_METRICS/), workflow automation for device governance, and distributed discovery with centralized alerting for scalable network operations.
See [Security Best Practices](https://github.com/netalertx/NetAlertX/security) for more details.
128
132
133
+
## Designed for MSPs, NOCs & Distributed Networks
134
+
135
+
NetAlertX supports centralized monitoring across VLANs, branch offices, customer environments, isolated networks, and remote sites.
136
+
137
+
Using [Sync Nodes](https://docs.netalertx.com/ADVISORY_MULTI_SITE_MONITORING), distributed collectors securely send device inventory and network visibility data back to a central hub, enabling unified monitoring, alerting, and asset tracking across all locations.
138
+
139
+
This provides MSPs and NOCs with a single operational view of many independent networks, without requiring direct access or centralized scanning infrastructure.
140
+
141
+
Common deployments include MSP wallboards, NOC dashboards, multi-site inventory monitoring, and remote office discovery.
129
142
130
143
## FAQ
131
144
@@ -157,7 +170,7 @@ Check the [GitHub Issues](https://github.com/netalertx/NetAlertX/issues) for the
@@ -170,6 +183,7 @@ Get notified about a new release, what new functionality you can use and about b
170
183
-[Fing](https://www.fing.com/) - Network scanner app for your Internet security (Commercial, Phone App, Proprietary hardware)
171
184
-[NetBox](https://netboxlabs.com/) - The gold standard for Network Source of Truth (NSoT) and IPAM.
172
185
-[Zabbix](https://www.zabbix.com/) or [Nagios](https://www.nagios.org/) - Strong focus on infrastructure monitoring.
186
+
-[Domotz](https://www.domotz.com/) - Commercial network monitoring and remote management platform aimed at MSPs, IT teams, and multi-site environments.
173
187
-[NetAlertX](https://netalertx.com) - The streamlined, discovery-focused choice for real-time asset intelligence and noise-free alerting.
Copy file name to clipboardExpand all lines: docs/ADVISORY_EYES_ON_GLASS.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,9 @@ For Managed Service Providers (MSPs) and Network Operations Centers (NOC), "Eyes
4
4
5
5

6
6
7
+
> [!TIP]
8
+
> If you are using Grafana check the `/metrics` endpoint that exposes **Prometheus-compatible metrics** for NetAlertX, including aggregate device counts and per-device status. See the [Metrics API endpoint](./API_METRICS.md) documentation for details.
0 commit comments