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
88 changes: 88 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
<!--
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
-->
# Getting started
```bash
git clone https://github.com/hyperpolymath/echidna.git
cd echidna

# Using mise (recommended: provision the pinned toolchain)
mise install

# Task runner (see Justfile)
just --list # available tasks
just check # verify setup / static checks
just test # run the test suite
```

---

## 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](../docs/status/ROADMAP.adoc) 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/echidna/labels/good%20first%20issue) — Simple Perimeter 3 tasks
- [`help wanted`](https://github.com/hyperpolymath/echidna/labels/help%20wanted) — Community help needed
- [`documentation`](https://github.com/hyperpolymath/echidna/labels/documentation) — Docs improvements
- [`perimeter-3`](https://github.com/hyperpolymath/echidna/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/):
```
<type>(<scope>): <description>

[optional body]

[optional footer]
```
2 changes: 1 addition & 1 deletion .github/canonical-references/prover-counts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ scope:
- EXPLAINME.adoc
- CLAUDE.md
- CONTRIBUTING.md
- CONTRIBUTING.adoc
- ../../.github/CONTRIBUTING.md
- QUICKSTART-USER.adoc
- QUICKSTART-DEV.adoc
- QUICKSTART-MAINTAINER.adoc
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Guidelines and context for working with Claude Code on the ECHIDNA project.
- **Environment variables**: [`docs/ENV-VARS.md`](docs/ENV-VARS.md)
- **RSR / CCCP compliance statement**: [`RSR_COMPLIANCE.adoc`](RSR_COMPLIANCE.adoc)
- **Receipts for README claims**: [`EXPLAINME.adoc`](EXPLAINME.adoc)
- **Contributor guide**: [`CONTRIBUTING.adoc`](CONTRIBUTING.adoc)
- **Contributor guide**: [`.github/CONTRIBUTING.md`](.github/CONTRIBUTING.md)

## Repository Structure

Expand Down
22 changes: 0 additions & 22 deletions CONTRIBUTING.adoc

This file was deleted.

2 changes: 1 addition & 1 deletion GOVERNANCE.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ ratified. GitHub renders AsciiDoc directly.
Related:

* link:MAINTAINERS.adoc[`+MAINTAINERS.adoc+`] — who maintains what
* link:CONTRIBUTING.adoc[`+CONTRIBUTING.adoc+`] — contribution process
* link:.github/CONTRIBUTING.md[`+.github/CONTRIBUTING.md+`] — contribution process
* link:CODE_OF_CONDUCT.md[`+CODE_OF_CONDUCT.md+`] — expected conduct
* link:RSR_COMPLIANCE.adoc[`+RSR_COMPLIANCE.adoc+`] — compliance
statement
2 changes: 1 addition & 1 deletion NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ CONTRIBUTIONS
Contributions are licensed under the licence governing the part of the tree
they land in: AGPL-3.0-or-later for application code, MPL-2.0 for the
machine-readable specification surface and echidna-playground/, and
CC-BY-SA-4.0 for documentation. See CONTRIBUTING.adoc.
CC-BY-SA-4.0 for documentation. See .github/CONTRIBUTING.md.

By contributing, you certify that:
1. You have the right to submit the contribution.
Expand Down
4 changes: 2 additions & 2 deletions QUICKSTART-DEV.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,9 @@ just assail # panic-attacker security scan (requires panic-attack CLI)
----

All commits must be GPG-signed and follow Conventional Commits — see
link:CONTRIBUTING.adoc[`CONTRIBUTING.adoc`] for the full policy.
link:.github/CONTRIBUTING.md[`.github/CONTRIBUTING.md`] for the full policy.

== Contributing

See link:CONTRIBUTING.adoc[CONTRIBUTING.adoc] for guidelines (the
See link:.github/CONTRIBUTING.md[.github/CONTRIBUTING.md] for guidelines (the
canonical, AsciiDoc version). `CONTRIBUTING.md` is a thin pointer.
4 changes: 2 additions & 2 deletions docs/DEBT.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -84,15 +84,15 @@ gh repo view hyperpolymath/echidna --json licenseInfo

Seven files (later found to be 29) carried `+Palimpsest-0.6+` in their
SPDX identifier. The owner ruled these were never a deliberate legal
grant: `+CONTRIBUTING.adoc+` already recorded that the Palimpsest
grant: `+../.github/CONTRIBUTING.md+` already recorded that the Palimpsest
licence proper "`is the legal licence only on `+palimpsest-license+`,
`+palimpsest-plasma+`, and (prospectively) `+consent-aware-http+``", and
that in ECHIDNA it is an _ethical framework_ reference, orthogonal to
the SPDX choice. Version 0.6 is also superseded by the
`+hyperpolymath/palimpsest-license+` repository.

All Palimpsest SPDX identifiers were therefore removed. The framework
reference is preserved in `+CONTRIBUTING.adoc+` and `+NOTICE+`, which
reference is preserved in `+../.github/CONTRIBUTING.md+` and `+NOTICE+`, which
now state explicitly that it is not a grant, so this cannot drift back
in silently.

Expand Down
2 changes: 1 addition & 1 deletion echidna-playground/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,7 @@ deno task test:proofs

== Contributing

We welcome contributions! Please see link:CONTRIBUTING.adoc[CONTRIBUTING.adoc] for guidelines.
We welcome contributions! Please see link:../.github/CONTRIBUTING.md[../.github/CONTRIBUTING.md] for guidelines.

=== Development Philosophy

Expand Down
Loading