Skip to content

Commit 76ce56c

Browse files
refactor(root): move root artefacts to their canonical locations (#59)
refactor(root): move root artefacts to their canonical locations Applies the estate root-shape rollout: files that are not root-level by necessity move to where their tooling and the estate canon expect them, and every reference to them is updated in the same change. * .envrc * Justfile * RSR_OUTLINE.adoc * build/guix.scm (from guix.scm) -> build/guix.scm * .github/CONTRIBUTING.md (new) * CONTRIBUTING.adoc (deleted) Verified with `git apply --check` against current main before committing; no behaviour change intended, the Justfile entry points keep working.
1 parent 2791815 commit 76ce56c

6 files changed

Lines changed: 113 additions & 190 deletions

File tree

‎.envrc‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ if has asdf; then
77
use asdf
88
fi
99

10-
# Load Guix shell if guix.scm exists
11-
if has guix && [ -f guix.scm ]; then
10+
# Load Guix shell if build/guix.scm exists
11+
if has guix && [ -f build/guix.scm ]; then
1212
use guix
1313
fi
1414

‎.github/CONTRIBUTING.md‎

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

‎CONTRIBUTING.adoc‎

Lines changed: 0 additions & 114 deletions
This file was deleted.

‎Justfile‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -792,11 +792,11 @@ state-phase:
792792
793793
# Enter Guix development shell (primary)
794794
guix-shell:
795-
guix shell -D -f guix.scm
795+
guix shell -D -f build/guix.scm
796796
797797
# Build with Guix
798798
guix-build:
799-
guix build -f guix.scm
799+
guix build -f build/guix.scm
800800
801801
# Enter Guix development shell (fallback)
802802
guix-shell:

‎RSR_OUTLINE.adoc‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ git init
3535
just init
3636
3737
# Enter development environment
38-
guix shell -D -f guix.scm
38+
guix shell -D -f build/guix.scm
3939
4040
# Validate compliance
4141
just validate-rsr

‎guix.scm‎

Lines changed: 0 additions & 71 deletions
This file was deleted.

0 commit comments

Comments
 (0)