|
| 1 | +# Clone the repository |
| 2 | +git clone https://github.com/hyperpolymath/network-dashboard.git |
| 3 | +cd network-dashboard |
| 4 | + |
| 5 | +# Using Nix (recommended for reproducibility) |
| 6 | +nix develop |
| 7 | + |
| 8 | +# Or using toolbox/distrobox |
| 9 | +toolbox create network-dashboard-dev |
| 10 | +toolbox enter network-dashboard-dev |
| 11 | +# Install dependencies manually |
| 12 | + |
| 13 | +# Verify setup |
| 14 | +just check # or: cargo check / mix compile / etc. |
| 15 | +just test # Run test suite |
| 16 | +``` |
| 17 | +
|
| 18 | +### Repository Structure |
| 19 | +``` |
| 20 | +network-dashboard/ |
| 21 | +├── src/ # Source code (Perimeter 1-2) |
| 22 | +├── lib/ # Library code (Perimeter 1-2) |
| 23 | +├── extensions/ # Extensions (Perimeter 2) |
| 24 | +├── plugins/ # Plugins (Perimeter 2) |
| 25 | +├── tools/ # Tooling (Perimeter 2) |
| 26 | +├── docs/ # Documentation (Perimeter 3) |
| 27 | +│ ├── architecture/ # ADRs, specs (Perimeter 2) |
| 28 | +│ └── proposals/ # RFCs (Perimeter 3) |
| 29 | +├── examples/ # Examples (Perimeter 3) |
| 30 | +├── spec/ # Spec tests (Perimeter 3) |
| 31 | +├── tests/ # Test suite (Perimeter 2-3) |
| 32 | +├── .well-known/ # Protocol files (Perimeter 1-3) |
| 33 | +├── .github/ # GitHub config (Perimeter 1) |
| 34 | +│ ├── ISSUE_TEMPLATE/ |
| 35 | +│ └── workflows/ |
| 36 | +├── CHANGELOG.md |
| 37 | +├── CODE_OF_CONDUCT.md |
| 38 | +├── CONTRIBUTING.md # This file |
| 39 | +├── GOVERNANCE.md |
| 40 | +├── LICENSE |
| 41 | +├── MAINTAINERS.md |
| 42 | +├── README.adoc |
| 43 | +├── SECURITY.md |
| 44 | +├── flake.nix # Nix flake (Perimeter 1) |
| 45 | +└── justfile # Task runner (Perimeter 1) |
| 46 | +``` |
| 47 | +
|
| 48 | +--- |
| 49 | +
|
| 50 | +## How to Contribute |
| 51 | +
|
| 52 | +### Reporting Bugs |
| 53 | +
|
| 54 | +**Before reporting**: |
| 55 | +1. Search existing issues |
| 56 | +2. Check if it's already fixed in `{{MAIN_BRANCH}}` |
| 57 | +3. Determine which perimeter the bug affects |
| 58 | +
|
| 59 | +**When reporting**: |
| 60 | +
|
| 61 | +Use the [bug report template](.github/ISSUE_TEMPLATE/bug_report.md) and include: |
| 62 | +
|
| 63 | +- Clear, descriptive title |
| 64 | +- Environment details (OS, versions, toolchain) |
| 65 | +- Steps to reproduce |
| 66 | +- Expected vs actual behaviour |
| 67 | +- Logs, screenshots, or minimal reproduction |
| 68 | +
|
| 69 | +### Suggesting Features |
| 70 | +
|
| 71 | +**Before suggesting**: |
| 72 | +1. Check the [roadmap](ROADMAP.md) if available |
| 73 | +2. Search existing issues and discussions |
| 74 | +3. Consider which perimeter the feature belongs to |
| 75 | +
|
| 76 | +**When suggesting**: |
| 77 | +
|
| 78 | +Use the [feature request template](.github/ISSUE_TEMPLATE/feature_request.md) and include: |
| 79 | +
|
| 80 | +- Problem statement (what pain point does this solve?) |
| 81 | +- Proposed solution |
| 82 | +- Alternatives considered |
| 83 | +- Which perimeter this affects |
| 84 | +
|
| 85 | +### Your First Contribution |
| 86 | +
|
| 87 | +Look for issues labelled: |
| 88 | +
|
| 89 | +- [`good first issue`](https://github.com/hyperpolymath/network-dashboard/labels/good%20first%20issue) — Simple Perimeter 3 tasks |
| 90 | +- [`help wanted`](https://github.com/hyperpolymath/network-dashboard/labels/help%20wanted) — Community help needed |
| 91 | +- [`documentation`](https://github.com/hyperpolymath/network-dashboard/labels/documentation) — Docs improvements |
| 92 | +- [`perimeter-3`](https://github.com/hyperpolymath/network-dashboard/labels/perimeter-3) — Community sandbox scope |
| 93 | +
|
| 94 | +--- |
| 95 | +
|
| 96 | +## Development Workflow |
| 97 | +
|
| 98 | +### Branch Naming |
| 99 | +``` |
| 100 | +docs/short-description # Documentation (P3) |
| 101 | +test/what-added # Test additions (P3) |
| 102 | +feat/short-description # New features (P2) |
| 103 | +fix/issue-number-description # Bug fixes (P2) |
| 104 | +refactor/what-changed # Code improvements (P2) |
| 105 | +security/what-fixed # Security fixes (P1-2) |
| 106 | +``` |
| 107 | +
|
| 108 | +### Commit Messages |
| 109 | +
|
| 110 | +We follow [Conventional Commits](https://www.conventionalcommits.org/): |
| 111 | +``` |
| 112 | +<type>(<scope>): <description> |
| 113 | + |
| 114 | +[optional body] |
| 115 | + |
| 116 | +[optional footer] |
0 commit comments