A minimal atproto Personal Data Server, on SQLite. github.com/eth0net/manapds
manapds CONTRIBUTING.md
2.1 kB
Markdown
at main

Contributing #

Early days: more design than code. The useful contribution right now is a second opinion on anything in docs/ that reads as a wrong call, and later, a repository this server builds that some other implementation refuses.

Getting set up #

Rust, stable, 2024 edition. The MSRV is in Cargo.toml and CI enforces it.

git clone https://github.com/eth0net/manapds
cd manapds
prek install
cargo test

prek runs what CI runs — cargo fmt, a warning-free cargo clippy --all-targets, cargo test, typos and the sign-off check — on commit and push, so a red build costs no round trip. The compiling hooks wait for push; the rest run on commit. CI itself also runs on macOS and Windows.

just holds the workflow: just check runs every check CI does on one machine, and just --list shows the rest. It can't cover the OS matrix or the MSRV job.

Spelling is American, because the vocabulary already is: color, license, serialize. typos enforces it, and typos.toml says what it skips.

Reasoning lives in docs/, one file per subject, and a comment carries the one fact the code can't. A comment that restates a paragraph from a doc is the failure case — the two drift apart silently — and cargo test fails on any eight words the two share.

Commits #

Conventional commits. The subject carries it; explain why in the body only when the diff doesn't. One logical change per commit.

Commits need a DCO sign-off, which git commit -s adds:

Signed-off-by: Your Name <you@example.com>

It certifies you wrote the contribution, or that it came from somewhere compatibly licensed and you have the right to submit it. No CLA, no copyright assignment. Git has no config for it, so prek install adds a commit-msg check; merge commits are exempt.

Attribution #

Developed with Claude Code.

Licensing #

Contributions are dual licensed under MIT and Apache-2.0, matching the project. By submitting a pull request you agree to that.