Repository navigation
docs: fix README, CONTRIBUTING, and AGENTS drift - #650
Conversation
- CONTRIBUTING: clarify nix develop does not provide Rust toolchain; document nightly rustfmt, Go, and Docker daemon requirements; document pre-push hook sequence; fix dhat TOML fence and use a valid version - README: rewrite Version compatibility section for Pluto (was copy-pasted from Charon); add Build/Run/Test quickstart; add 5 missing examples - AGENTS.md: add 8 missing crates (consensus, eth1wrap, featureset, frost, infosync, parsigex, priority, ssz); add third_party/ and scripts/ to tree - cli.rs: replace user-visible "Verify that Charon" and "charon clients" with Pluto in long_about help strings; fix "Creates a local charon cluster" - cli/commands/run.rs: fix misleading comment that said "pluto enr private key" when the actual default filename is charon-enr-private-key - crates/cluster/src/lib.rs, crates/tracing/src/lib.rs: rename module doc headings from "# Charon ..." to "# Pluto ..." Closes #634 Co-Authored-By: Bohdan Ohorodnii <[email protected]>
- CONTRIBUTING.md: drop the outdated note claiming `nix develop` does not manage the Rust toolchain. Since #598 the dev shell derives the pinned toolchain from rust-toolchain.toml and provides nightly rustfmt, so the note is wrong. Fold the accurate facts into the intro sentence. - README.md: pull from Docker Hub (`nethermindeth/pluto`), not ghcr.io, and drop the redundant `pluto` arg since the image entrypoint is already `/app/bin/pluto`. Co-authored-by: varex83 <[email protected]>
Resolve the conflicts and re-align the docs with what main now does: - AGENTS.md: keep both sides' new crates (ssz, test-compose) and add the two still missing from the tree (proto, stacktrace). - CONTRIBUTING.md: drop the Go and oas3-gen dev-dependency mentions now that #597 and #611 have landed, and describe what the Nix shell actually provides. The pre-push description and the test command moved from `--all-features` to `--features pluto-eth2api/integration`, which is what the hook runs; the Docker caveat now hangs off that feature, and the opt-in smoke tests need Docker too. List cargo-llvm-cov under manual setup, since the Nix shell provides it. - README.md: same test command fix. - crates/cluster/src/lib.rs: take main's module doc, which already carries the "# Pluto Cluster" heading this branch was renaming to. Co-Authored-By: Bohdan Ohorodnii <[email protected]>
|
Merged On the blocker — #597 (Go toolchain) and #611 ( Conflicts resolved:
Further drift found while merging (main moved these after the PR was opened):
Verified all 11 example paths in the README resolve to real files, and that Gates: 🤖 Generated with Claude Code |
emlautarom1
left a comment
There was a problem hiding this comment.
Made some follow up fixes:
- More consistent help messages
- Simplified README and CONTRIBUTING docs
- Include nightly rustfmt requirement
- Pin dependencies in instructions
Closes #634
Summary
CONTRIBUTING.md: Correct the false claim that `nix develop` provides the Rust toolchain (it doesn't — `rust-toolchain.toml` + rustup does). Document that nightly rustfmt, Go, and a running Docker daemon are required for the full quality gate. Document what the pre-push hook actually runs (deny + machete + nightly fmt + clippy + test). Fix the dhat profiling section: wrong code fence (```rust → ```toml) and invalid version (`"latest"` → `"0.3"`).
README.md: Rewrite the "Version compatibility" section to describe Pluto's own promise (was verbatim copy from Charon, talking about "two versions of Charon"). Add a minimal Build/Run/Test quickstart covering Docker image, source build, and test-infra. Add 5 missing examples (bootnode, consensus/qbft, dkg/bcast, dkg/sync, parsigex).
AGENTS.md: Add 8 missing crates to the workspace tree diagram: `consensus`, `eth1wrap`, `featureset`, `frost`, `infosync`, `parsigex`, `priority`, `ssz`. Add `scripts/` and `third_party/` to the tree.
crates/cli/src/cli.rs: Replace user-visible "Verify that Charon …" and "charon clients" in `long_about` strings with Pluto. Fix "Creates a local charon cluster configuration" to say "local cluster configuration". File/flag names (`charon-enr-private-key`) are compatibility surface and are left untouched.
crates/cli/src/commands/run.rs: Fix the `help` comment that said "pluto enr private key" while the actual default is `charon-enr-private-key`; comment now explains the Charon-compatible filename is intentional.
crates/cluster/src/lib.rs, crates/tracing/src/lib.rs: Rename module-doc headings from "# Charon Cluster" / "# Charon Observability" to "# Pluto Cluster" / "# Pluto Observability".
🤖 Generated with Claude Code