Skip to content

docs: add CONTRIBUTING.md (fixes broken link from README) - #42

Open
danilaverbena wants to merge 1 commit into
hetu-project:mainfrom
danilaverbena:docs/add-contributing-guide
Open

danilaverbena wants to merge 1 commit into
hetu-project:mainfrom
danilaverbena:docs/add-contributing-guide

Conversation

@danilaverbena

Copy link
Copy Markdown

Problem

The README's Get Involved section points contributors to a contributing guide:

| 🔧 **Submit a PR** | See [Contributing Guidelines](CONTRIBUTING.md) — start with [`good-first-issue`](...) |

but there is no CONTRIBUTING.md in the repository, so the link 404s. New contributors following it hit a dead end.

Change

Adds a CONTRIBUTING.md tailored to Setu rather than a generic template:

  • Ways to contribute and a pointer to good-first-issue, aligned with the existing issue templates.
  • Development environment: Rust 1.75+ (2021 edition), RocksDB, optional Docker; cargo build --release / cargo test --all, plus the scripts/ helpers for local multi-validator/e2e runs.
  • Project layout: a short map of the Cargo workspace, linking back to the README's Project Structure.
  • Workflow: fork → topic branch → cargo fmt / cargo clippy -D warnings / cargo test --all → Conventional Commits → PR against main linking the issue.
  • ⚠️ Consensus-critical changes: an explicit warning not to change on-chain encodings/hashing/state or bump the pinned bcs = "=0.1.6" without a coordinated state migration (mirrors the note in the root Cargo.toml).
  • PR checklist, security-reporting guidance (private disclosure via Discord), a neutral license note (points to the LICENSE file), and community links.

This fixes the broken README link and gives contributors a concrete starting point.

Notes

  • The license section intentionally points to the LICENSE file rather than naming a license, to avoid asserting one. (Heads-up for maintainers: the README's License section currently says Apache License 2.0, while the committed LICENSE file is AGPL-3.0 — worth reconciling in a separate change.)
  • Docs-only; no code changes.

Happy to adjust tone, sections, or specifics to match how the team prefers to work.

The README links to CONTRIBUTING.md from the Get Involved section, but the file does not exist, so the link 404s. This adds a contributing guide tailored to the project: build/test commands for the Cargo workspace, the development workflow (fmt/clippy/test, Conventional Commits), a consensus-determinism warning around the pinned BCS encoding, a PR checklist, security-reporting guidance, and licensing/community pointers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant