Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
141 changes: 141 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# Contributing to AmbientOps

Thank you for your interest in contributing to AmbientOps. This document
covers the development setup, contribution workflow, and coding
standards for the project. AmbientOps uses a hospital-model
architecture; please familiarise yourself with the component layout in
`README.adoc` before diving in.

’’’’’

## Getting Started

``` bash
# Clone the repository
git clone https://github.com/hyperpolymath/ambientops.git
cd ambientops

# Using Guix (recommended for reproducibility)
guix develop

# Or using toolbox/distrobox
toolbox create ambientops-dev
toolbox enter ambientops-dev
# Install dependencies manually

# Verify setup
just check # or: cargo check / mix compile / etc.
just test # Run test suite
```

### Repository Structure

ambientops/
├── src/ # Source code (Perimeter 1-2)
├── lib/ # Library code (Perimeter 1-2)
├── extensions/ # Extensions (Perimeter 2)
├── plugins/ # Plugins (Perimeter 2)
├── tools/ # Tooling (Perimeter 2)
├── docs/ # Documentation (Perimeter 3)
│ ├── architecture/ # ADRs, specs (Perimeter 2)
│ └── proposals/ # RFCs (Perimeter 3)
├── examples/ # Examples (Perimeter 3)
├── spec/ # Spec tests (Perimeter 3)
├── tests/ # Test suite (Perimeter 2-3)
├── .well-known/ # Protocol files (Perimeter 1-3)
├── .github/ # GitHub config (Perimeter 1)
│ ├── ISSUE_TEMPLATE/
│ └── workflows/
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md # This file
├── GOVERNANCE.md
├── LICENSE
├── MAINTAINERS.md
├── README.adoc
├── SECURITY.md
├── flake.guix # Guix flake (Perimeter 1)
└── Justfile # Task runner (Perimeter 1)

’’’’’

## How to Contribute

### Reporting Bugs

**Before reporting**: 1. Search existing issues 2. Check if it’s already
fixed in `main` 3. Determine which perimeter the bug affects

**When reporting**:

Use the [bug report template](.github/ISSUE_TEMPLATE/bug_report.md) and
include:

- Clear, descriptive title

- Environment details (OS, versions, toolchain)

- Steps to reproduce

- Expected vs actual behaviour

- Logs, screenshots, or minimal reproduction

### Suggesting Features

**Before suggesting**: 1. Check the [roadmap](ROADMAP.md) if available
2. Search existing issues and discussions 3. Consider which perimeter
the feature belongs to

**When suggesting**:

Use the [feature request
template](.github/ISSUE_TEMPLATE/feature_request.md) and include:

- Problem statement (what pain point does this solve?)

- Proposed solution

- Alternatives considered

- Which perimeter this affects

### Your First Contribution

Look for issues labelled:

- [`good` `first`
`issue`](https://github.com/hyperpolymath/ambientops/labels/good%20first%20issue)
— Simple Perimeter 3 tasks

- [`help`
`wanted`](https://github.com/hyperpolymath/ambientops/labels/help%20wanted)
— Community help needed

- [`documentation`](https://github.com/hyperpolymath/ambientops/labels/documentation)
— Docs improvements

- [`perimeter-3`](https://github.com/hyperpolymath/ambientops/labels/perimeter-3)
— Community sandbox scope

’’’’’

## Development Workflow

### Branch Naming

docs/short-description # Documentation (P3)
test/what-added # Test additions (P3)
feat/short-description # New features (P2)
fix/issue-number-description # Bug fixes (P2)
refactor/what-changed # Code improvements (P2)
security/what-fixed # Security fixes (P1-2)

### Commit Messages

We follow [Conventional Commits](https://www.conventionalcommits.org/):
\`\`\` ():

\[optional body\]

\[optional footer\]
134 changes: 0 additions & 134 deletions CONTRIBUTING.adoc

This file was deleted.

2 changes: 1 addition & 1 deletion RSR_OUTLINE.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ git init
sed -i 's/RSR-template-repo/my-project/g' Justfile guix.scm README.adoc

# Enter development environment
guix shell -D -f guix.scm
guix shell -D -f build/guix.scm

# Validate compliance
just validate-rsr
Expand Down
2 changes: 1 addition & 1 deletion ambulances/disk/.github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
MISSING=""
[ ! -f "README.md" ] && [ ! -f "README.adoc" ] && MISSING="$MISSING README"
[ ! -f "LICENSE" ] && [ ! -f "LICENSE.txt" ] && [ ! -f "LICENSE.md" ] && MISSING="$MISSING LICENSE"
[ ! -f "CONTRIBUTING.md" ] && [ ! -f "CONTRIBUTING.adoc" ] && MISSING="$MISSING CONTRIBUTING"
[ ! -f "CONTRIBUTING.md" ] && [ ! -f "../../../../.github/CONTRIBUTING.md" ] && MISSING="$MISSING CONTRIBUTING"

if [ -n "$MISSING" ]; then
echo "::warning::Missing docs:$MISSING"
Expand Down
2 changes: 1 addition & 1 deletion ambulances/disk/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -840,7 +840,7 @@ See link:ROADMAP.adoc[ROADMAP.adoc] for the complete roadmap.

== Contributing

We welcome contributions! See link:CONTRIBUTING.adoc[CONTRIBUTING.adoc].
We welcome contributions! See link:../../.github/CONTRIBUTING.md[../../.github/CONTRIBUTING.md].

Priority areas for v1.0:

Expand Down
2 changes: 1 addition & 1 deletion ambulances/disk/RSR_OUTLINE.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ git init
sed -i 's/RSR-template-repo/my-project/g' Justfile guix.scm README.adoc

# Enter development environment
guix shell -D -f guix.scm
guix shell -D -f build/guix.scm

# Validate compliance
just validate-rsr
Expand Down
2 changes: 1 addition & 1 deletion ambulances/performance/.github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
MISSING=""
[ ! -f "README.md" ] && [ ! -f "README.adoc" ] && MISSING="$MISSING README"
[ ! -f "LICENSE" ] && [ ! -f "LICENSE.txt" ] && [ ! -f "LICENSE.md" ] && MISSING="$MISSING LICENSE"
[ ! -f "CONTRIBUTING.md" ] && [ ! -f "CONTRIBUTING.adoc" ] && MISSING="$MISSING CONTRIBUTING"
[ ! -f "CONTRIBUTING.md" ] && [ ! -f "../../../../.github/CONTRIBUTING.md" ] && MISSING="$MISSING CONTRIBUTING"

if [ -n "$MISSING" ]; then
echo "::warning::Missing docs:$MISSING"
Expand Down
2 changes: 1 addition & 1 deletion ambulances/performance/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -789,7 +789,7 @@ See link:ROADMAP.adoc[ROADMAP.adoc] for the complete roadmap to v1.2 and beyond.

== Contributing

We welcome contributions! See link:CONTRIBUTING.adoc[CONTRIBUTING.adoc].
We welcome contributions! See link:../../.github/CONTRIBUTING.md[../../.github/CONTRIBUTING.md].

Priority areas for v1.2:

Expand Down
2 changes: 1 addition & 1 deletion ambulances/security/.github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
MISSING=""
[ ! -f "README.md" ] && [ ! -f "README.adoc" ] && MISSING="$MISSING README"
[ ! -f "LICENSE" ] && [ ! -f "LICENSE.txt" ] && [ ! -f "LICENSE.md" ] && MISSING="$MISSING LICENSE"
[ ! -f "CONTRIBUTING.md" ] && [ ! -f "CONTRIBUTING.adoc" ] && MISSING="$MISSING CONTRIBUTING"
[ ! -f "CONTRIBUTING.md" ] && [ ! -f "../../../../.github/CONTRIBUTING.md" ] && MISSING="$MISSING CONTRIBUTING"

if [ -n "$MISSING" ]; then
echo "::warning::Missing docs:$MISSING"
Expand Down
2 changes: 1 addition & 1 deletion ambulances/security/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -852,7 +852,7 @@ See link:ROADMAP.adoc[ROADMAP.adoc] for the complete roadmap.

== Contributing

We welcome contributions! See link:CONTRIBUTING.adoc[CONTRIBUTING.adoc].
We welcome contributions! See link:../../.github/CONTRIBUTING.md[../../.github/CONTRIBUTING.md].

Priority areas for v1.1:

Expand Down
2 changes: 1 addition & 1 deletion broad-spectrum/.github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
MISSING=""
[ ! -f "README.md" ] && [ ! -f "README.adoc" ] && MISSING="$MISSING README"
[ ! -f "LICENSE" ] && [ ! -f "LICENSE.txt" ] && [ ! -f "LICENSE.md" ] && MISSING="$MISSING LICENSE"
[ ! -f "CONTRIBUTING.md" ] && [ ! -f "CONTRIBUTING.adoc" ] && MISSING="$MISSING CONTRIBUTING"
[ ! -f "CONTRIBUTING.md" ] && [ ! -f "../../../.github/CONTRIBUTING.md" ] && MISSING="$MISSING CONTRIBUTING"

if [ -n "$MISSING" ]; then
echo "::warning::Missing docs:$MISSING"
Expand Down
2 changes: 1 addition & 1 deletion broad-spectrum/RSR_OUTLINE.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ git init
sed -i 's/RSR-template-repo/my-project/g' Justfile guix.scm README.adoc

# Enter development environment
guix shell -D -f guix.scm
guix shell -D -f build/guix.scm

# Validate compliance
just validate-rsr
Expand Down
2 changes: 1 addition & 1 deletion cicada/.github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
MISSING=""
[ ! -f "README.md" ] && [ ! -f "README.adoc" ] && MISSING="$MISSING README"
[ ! -f "LICENSE" ] && [ ! -f "LICENSE.txt" ] && [ ! -f "LICENSE.md" ] && MISSING="$MISSING LICENSE"
[ ! -f "CONTRIBUTING.md" ] && [ ! -f "CONTRIBUTING.adoc" ] && MISSING="$MISSING CONTRIBUTING"
[ ! -f "CONTRIBUTING.md" ] && [ ! -f "../../../.github/CONTRIBUTING.md" ] && MISSING="$MISSING CONTRIBUTING"

if [ -n "$MISSING" ]; then
echo "::warning::Missing docs:$MISSING"
Expand Down
2 changes: 1 addition & 1 deletion cicada/RSR_OUTLINE.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ git init
sed -i 's/RSR-template-repo/my-project/g' Justfile guix.scm README.adoc

# Enter development environment
guix shell -D -f guix.scm
guix shell -D -f build/guix.scm

# Validate compliance
just validate-rsr
Expand Down
2 changes: 1 addition & 1 deletion composer/.github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
MISSING=""
[ ! -f "README.md" ] && [ ! -f "README.adoc" ] && MISSING="$MISSING README"
[ ! -f "LICENSE" ] && [ ! -f "LICENSE.txt" ] && [ ! -f "LICENSE.md" ] && MISSING="$MISSING LICENSE"
[ ! -f "CONTRIBUTING.md" ] && [ ! -f "CONTRIBUTING.adoc" ] && MISSING="$MISSING CONTRIBUTING"
[ ! -f "CONTRIBUTING.md" ] && [ ! -f "../../../.github/CONTRIBUTING.md" ] && MISSING="$MISSING CONTRIBUTING"

if [ -n "$MISSING" ]; then
echo "::warning::Missing docs:$MISSING"
Expand Down
Loading
Loading