Skip to content

Commit 28c05f9

Browse files
Update agents.md: correct obsolete information and add missing repository details (#3268)
* Initial plan * Update agents.md with comprehensive improvements and corrections Co-authored-by: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com>
1 parent 3ce1799 commit 28c05f9

File tree

1 file changed

+76
-21
lines changed

1 file changed

+76
-21
lines changed

agents.md

Lines changed: 76 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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

119131
1. **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

126138
2. **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
152164
cd 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

158170
The 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
422473
5. **Update Documentation**: Changes to features should include doc updates
423474
6. **Test on Real Networks**: Network tools require real network testing
424475
7. **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

Comments
 (0)