@@ -37,6 +37,12 @@ REPOSITORY_ROOT/
3737│ └── (managed-manually) # NOTE: Maintained manually — AI agents MUST NOT modify this directory
3838├── Website/ # Docusaurus documentation website
3939├── Scripts/ # Build and automation scripts
40+ │ ├── Create-FileHash.ps1 # Generate file hashes
41+ │ ├── Create-FlagFromSVG.ps1 # Create flag images
42+ │ ├── Create-OUIListFromWeb.ps1 # Update OUI (MAC vendor) list
43+ │ ├── Create-PortListFromWeb.ps1 # Update port list database
44+ │ ├── Create-WhoisServerListFromWebAndWhois.ps1 # Update WHOIS servers
45+ │ └── PreBuildEventCommandLine.ps1 # Pre-build automation
4046├── Chocolatey/ # Chocolatey package definition
4147├── WinGet/ # WinGet package manifest
4248└── Images/ # Application icons and images
@@ -48,7 +54,7 @@ REPOSITORY_ROOT/
4854- ** 150+ XAML files** for UI definitions
4955- ** 12 distinct project modules** in the solution
5056- ** 64+ documentation pages** in Docusaurus format
51- - ** 16+ supported languages** for localization
57+ - ** 17 supported languages** for localization
5258
5359## Technology Stack
5460
@@ -76,12 +82,17 @@ REPOSITORY_ROOT/
7682 - Models: Business logic in ` Source/NETworkManager.Models/ `
7783
7884** Key Libraries** :
79- - ** #SNMP Library ** - SNMP protocol implementation
80- - ** DnsClient.NET ** - DNS lookups
81- - ** IPNetwork ** - Network and subnet calculations
82- - ** PSDiscoveryProtocol** - LLDP/CDP network discovery
85+ - ** Lextm.SharpSnmpLib ** - SNMP protocol implementation
86+ - ** DnsClient** - DNS lookups
87+ - ** IPNetwork2 ** - Network and subnet calculations
88+ - ** PSDiscoveryProtocol** - LLDP/CDP network discovery (PowerShell module embedded)
8389- ** AirspaceFixer** - WPF/WinForms interop fixes
8490- ** log4net** - Logging framework
91+ - ** LiveCharts.Wpf** - Charts and graphs
92+ - ** Microsoft.Web.WebView2** - WebView2 control for web content
93+ - ** Microsoft.PowerShell.SDK** - PowerShell integration
94+ - ** Microsoft.Xaml.Behaviors.Wpf** - Behaviors for XAML
95+ - ** Newtonsoft.Json** - JSON serialization and deserialization
8596
8697** Build Tools** :
8798- ** NetBeauty2** - Dependency organization
@@ -109,7 +120,8 @@ Website/
109120├── static/ # Static assets (images, files)
110121├── docusaurus.config.js # Site configuration
111122├── sidebars.js # Documentation sidebar structure
112- └── package.json # npm dependencies
123+ ├── package.json # npm/yarn dependencies
124+ └── yarn.lock # Yarn lockfile
113125```
114126
115127## Development Setup
@@ -118,14 +130,14 @@ Website/
118130
1191311 . ** For Application Development** :
120132 - [ .NET 10.x SDK] ( https://dotnet.microsoft.com/download/dotnet/10.0 )
121- - [ Visual Studio 2026 ] ( https://visualstudio.microsoft.com/ ) with:
133+ - [ Visual Studio 2022 ] ( https://visualstudio.microsoft.com/ ) or later with:
122134 - ` .NET desktop development ` workload
123135 - ` Universal Windows Platform development ` workload
124136 - Alternative: [ JetBrains Rider] ( https://www.jetbrains.com/rider/ ) (still requires UWP workload via VS Installer)
125137
1261382 . ** For Website Development** :
127139 - [ Node.js] ( https://nodejs.org/ ) (LTS version recommended)
128- - npm or yarn package manager
140+ - npm or yarn package manager (yarn is used in CI/CD)
129141
130142### Building the Application
131143
@@ -150,16 +162,16 @@ dotnet build .\Source\NETworkManager.sln --configuration Release --no-restore
150162
151163``` bash
152164cd Website
153- npm install # Install dependencies
154- npm start # Start development server
155- npm run build # Build for production
165+ npm install # Install dependencies (or use yarn install)
166+ npm start # Start development server (or use yarn start)
167+ npm run build # Build for production (or use yarn build)
156168```
157169
158170The website is deployed to GitHub Pages at: https://borntoberoot.net/NETworkManager
159171
160172## CI/CD Pipeline
161173
162- ** Build System** : AppVeyor (configuration in ` appveyor.yml ` )
174+ ** Primary Build System** : AppVeyor (configuration in ` appveyor.yml ` )
163175- Builds on Visual Studio 2022 image
164176- Installs .NET 10.0.100 SDK
165177- Restores NuGet packages
@@ -168,6 +180,35 @@ The website is deployed to GitHub Pages at: https://borntoberoot.net/NETworkMana
168180- Artifacts are signed via [ SignPath.io] ( https://signpath.io/ )
169181- Released to GitHub Releases
170182
183+ ** GitHub Actions Workflows** :
184+ - ** CodeQL Analysis** (` .github/workflows/codeql.yml ` ):
185+ - Automated security scanning
186+ - Analyzes C# and JavaScript/TypeScript code
187+ - Runs weekly and on-demand via workflow_dispatch
188+
189+ - ** Website Deployment** (` .github/workflows/deploy_website.yml ` ):
190+ - Builds and deploys Docusaurus website to GitHub Pages
191+ - Triggers on changes to ` Website/ ` directory
192+ - Uses Node.js 20 with yarn for build
193+
194+ ** Automation & Bots** :
195+ - ** Dependabot** (` .github/dependabot.yml ` ):
196+ - Weekly updates for NuGet packages, .NET SDK, and npm packages
197+ - Automatic PR creation for dependency updates
198+
199+ - ** Mergify** (` .github/mergify.yml ` ):
200+ - Auto-merges PRs with ` LGTM ` label after AppVeyor CI passes
201+ - Auto-merges Dependabot, Transifex, and ImgBot PRs after CI success
202+
203+ - ** Transifex Integration** (` .github/transifex.yml ` ):
204+ - Automated translation synchronization
205+ - Syncs RESX files between GitHub and Transifex
206+
207+ - ** Stale Bot** (` .github/stale.yml ` ):
208+ - Marks issues inactive for 30 days as stale
209+ - Closes stale issues after 7 days
210+ - Excludes bugs, feature requests, and documentation issues
211+
171212## Contributing Areas
172213
173214### Code Contributions
@@ -211,7 +252,9 @@ The website is deployed to GitHub Pages at: https://borntoberoot.net/NETworkMana
211252
212253- ** Platform** : [ Transifex] ( https://app.transifex.com/BornToBeRoot/NETworkManager/dashboard/ )
213254- ** Resources** : ` Source/NETworkManager.Localization/ `
214- - ** 16+ languages supported**
255+ - ** 17 languages supported** : cs-CZ, de-DE, es-ES, fr-FR, hu-HU, it-IT, ja-JP, ko-KR, nl-NL, pl-PL, pt-BR, ru-RU, sl-SI, sv-SE, uk-UA, zh-CN, zh-TW
256+ - ** Format** : RESX files
257+ - ** Integration** : Automated sync via ` .github/transifex.yml `
215258
216259## Code Style and Conventions
217260
@@ -284,8 +327,16 @@ The website is deployed to GitHub Pages at: https://borntoberoot.net/NETworkMana
284327
285328- ** ` Source/NETworkManager.sln ` ** : Main Visual Studio solution
286329- ** ` Source/GlobalAssemblyInfo.cs ` ** : Shared assembly version info
287- - ** ` Source/global.json ` ** : .NET SDK version specification
288- - ** ` appveyor.yml ` ** : CI/CD configuration
330+ - ** ` Source/global.json ` ** : .NET SDK version specification (10.0.100)
331+ - ** ` Source/.editorconfig ` ** : C# code style configuration
332+ - ** ` appveyor.yml ` ** : AppVeyor CI/CD configuration
333+ - ** ` .github/workflows/codeql.yml ` ** : CodeQL security analysis workflow
334+ - ** ` .github/workflows/deploy_website.yml ` ** : Website deployment workflow
335+ - ** ` .github/dependabot.yml ` ** : Dependabot configuration
336+ - ** ` .github/mergify.yml ` ** : Mergify auto-merge configuration
337+ - ** ` .github/transifex.yml ` ** : Transifex translation sync configuration
338+ - ** ` .github/stale.yml ` ** : Stale issue bot configuration
339+ - ** ` .gitmodules ` ** : Git submodule configuration (Dragablz)
289340- ** ` Website/docusaurus.config.js ` ** : Documentation site configuration
290341- ** ` CONTRIBUTING.md ` ** : Contribution guidelines
291342- ** ` LICENSE ` ** : GPL v3 license
@@ -313,19 +364,19 @@ dotnet clean .\Source\NETworkManager.sln
313364
314365``` bash
315366# Install dependencies
316- cd Website && npm install
367+ cd Website && npm install # or yarn install
317368
318369# Start dev server (http://localhost:3000)
319- npm start
370+ npm start # or yarn start
320371
321372# Build static site
322- npm run build
373+ npm run build # or yarn build
323374
324375# Serve production build
325- npm run serve
376+ npm run serve # or yarn serve
326377
327378# Clear cache
328- npm run clear
379+ npm run clear # or yarn clear
329380```
330381
331382### Git Operations
@@ -422,7 +473,11 @@ git diff
4224735 . ** Update Documentation** : Changes to features should include doc updates
4234746 . ** Test on Real Networks** : Network tools require real network testing
4244757 . ** Version Management** : Assembly version is auto-generated in CI/CD
425- 8 . ** Submodules** : Remember to init/update submodules (Dragablz)
476+ 8 . ** Submodules** : Remember to init/update submodules (Dragablz in ` Source/3rdparty/ ` )
477+ 9 . ** DO NOT Modify 3rdparty** : The ` Source/3rdparty/ ` directory contains the Dragablz submodule and is maintained manually — AI agents MUST NOT modify this directory
478+ 10 . ** Automation Scripts** : Use scripts in ` Scripts/ ` directory for updating lists (OUI, ports, WHOIS servers)
479+ 11 . ** Check CI Status** : Both AppVeyor (main build) and GitHub Actions (CodeQL, website) must pass
480+ 12 . ** Dependency Updates** : Dependabot automatically creates PRs for dependency updates
426481
427482## Glossary
428483
0 commit comments