This document outlines the development standards, user preferences, and workflow requirements established during the development of the Network Test Tool. Use this as a reference for all future coding tasks to ensure consistency.
- Privacy First: NEVER include hardcoded secrets, passwords, API keys, or personal IP addresses in the source code.
- Gitignore: Strictly maintain
.gitignoreto exclude*.log,*.txt(reports),*.csv,*.json, and build artifacts (dist/,build/). - Clean Repository: Temporary files (test results, logs) should be moved to a
.deleted/directory or deleted, never left in the root.
- Theme: Strict Dark Theme. Ensure no white backgrounds appear in tables, lists, or inputs (e.g.,
QTableWidgetrows must alternate between dark shades). - Compactness: UI elements (especially buttons and panels) should be compact. Avoid wasting screen space.
- Sorting Logic:
- Active & APIPA adapters MUST appear at the top.
- Inactive adapters at the bottom.
- Secondary sort: Alphabetical by name.
- Visual Feedback:
- Use color-coded indicators (Green=Online, Yellow=Local/APIPA, Red=Offline).
- APIPA (169.254.x.x) must be clearly flagged (e.g., Yellow badge) inside the adapter card.
- Interaction:
- "Quick Actions" must allow selecting a specific target adapter (ComboBox) or "All Adapters".
- Exporting:
- ALL export features must suggest an auto-generated filename with a timestamp.
- Format:
filename_YYYYMMDD_HHMMSS.txt. - User must be able to change the filename via a File Dialog.
- Troubleshooter:
- Must not only detect errors but provide [SUGGESTION] lines in the log explaining how to fix them (e.g., "Check physical cable").
- Cross-Platform:
- Code must handle Windows (
ipconfig) and Linux (ip,ifconfig) command differences gracefully.
- Code must handle Windows (
- Start: Use
run.bat(Windows) for quick application launch and testing. - Testing: Run
test_suite.pyto verify core logic (Network Detector, Ping, Trace, etc.) before UI integration. - Version Control:
- Commit changes before starting a major refactor.
- Keep
CHANGELOG.md,ROADMAP.md, andREADME.mdupdated with every feature release.
- Documentation:
- Maintain a
docs/directory for detailed Wiki-style documentation. - Link these docs in the main
README.md.
- Maintain a
- Tool: Use
PyInstaller. - Configuration:
- Windows:
--noconsole(unless debugging is needed),--onefile. - Linux:
--noconsole,--onefile.
- Windows:
- Automation: Use GitHub Actions (
.github/workflows/build.yml) to auto-generate releases on tag push (v*).
- Trace Route: Ensure table rows are not white.
- Quick Actions: Ensure buttons are distinct and modern (transparent background with colored borders).
- Logs: Ensure
network_detector_debug.logis generated for debugging but ignored by git.