Skip to content

Commit 918b6d7

Browse files
Jonathan D.A. Jewellclaude
andcommitted
docs: add CONTRIBUTING.md
Standard contribution guidelines from RSR template. Outlines how to contribute code, report issues, and submit PRs. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 463f0ff commit 918b6d7

File tree

1 file changed

+116
-0
lines changed

1 file changed

+116
-0
lines changed

CONTRIBUTING.md

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
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

Comments
 (0)