docs: add CONTRIBUTING.md file#816
Conversation
5955e70 to
ef98a0d
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #816 +/- ##
========================================
Coverage 97.30% 97.30%
========================================
Files 83 83
Lines 10798 10798
========================================
Hits 10507 10507
Misses 291 291 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
b5e9334 to
1137f7d
Compare
3cf9dd5 to
71f346a
Compare
c9202cf to
902a07d
Compare
60423df to
0b07342
Compare
0b07342 to
f4a2cec
Compare
f4a2cec to
67cf800
Compare
b0584cb to
7fd1f55
Compare
d0b417c to
6e9b220
Compare
|
|
||
| #### Minimum Supported Python Version | ||
|
|
||
| The Minimum Supported Python Version is **3.12.0** (enforced by our CI). |
There was a problem hiding this comment.
@odudex, thought if is worth to down or maintain 3.12, wdyt?
There was a problem hiding this comment.
IMO the source of this information is pyproject.toml. No need to replicate (and maintain) it elsewhere. You can add a link to the file mentioning user can learn about all python dependencies there.
No need to lower the requirement version. This is a decision the would require testing anyway.
Let project.toml speak for itself
There was a problem hiding this comment.
Removed and added a #863 to address that, wdyt?
|
Please ensure everything CONTRIBUTING.md states is true now. Code style, what is enforced by CI, what's not. It must be coherent with project's current status. |
|
416cc4c to
8960644
Compare
Removed
Sorry, my fault
think was local markdown linter, txs |
8960644 to
88e153f
Compare
odudex
left a comment
There was a problem hiding this comment.
utACK 88e153f4
The overall structure (workflow → review →
conventions → testing → release) is the right shape. The following first
three instructions are blocking, the rest are nits.
Blocking
-
Broken link to
SECURITY.md. The release section points contributors
with security issues to./SECURITY.md, but that file doesn't exist in
the repo. Could we either add a stubSECURITY.md(even a short one
pointing at a contact address or GitHub's security advisory flow) or
change the link to wherever we actually want reports to go? -
Fork / clone instructions are contradictory. The first block tells
the contributor to fork and clone their fork; the "Stay update with the
upstream" subsection then says to instead clone the upstream asorigin
and add the fork as a named remote. That's the opposite of the
conventional setup and contradicts the step right above it. I'd suggest
picking one approach — typically: clone your fork asorigin, then
git remote add upstream git@github.com:selfcustody/krux.git. -
Workflow list is truncated. The numbered list reads:
1. Fork Repository 2. Create topic branch 3. Commit patchesThe two steps that actually produce a contribution (push to fork, open
PR, then address review) are missing. Also "the workflow is as follows:"
appears twice back-to-back.
Non-blocking suggestions
-
gitas a commit type. The doc claims Conventional Commits 1.0.0,
then listsgitwith the description "used when changing some git
stuffs". That isn't part of the spec and the description is hard to
act on. Could we either drop it or define exactly what it covers
(.gitignore,.gitattributes?) — though those would normally fit
underchore. -
CHANGELOG placement. The
Added CONTRIBUTING.md guidelinesline
landed in### Other Bug Fixes and Improvements. By the doc's own
taxonomy that's adocschange, not a fix/improvement. Either a new
### Documentationsubsection or just dropping the changelog entry
(the commit itself is self-describing) would feel more consistent. -
nACKdefinition is ambiguous. Line currently reads:Approach
nACK: "I do (not) agree with the approach of this change"The
(not)reads as a typo. nACK is unambiguously "I do not agree" —
suggest dropping the parens. -
Unreferenced footnote.
[^1]: https://withblue.ink/...how-and-why-to-sign-git-commits.html
sits at the bottom of the file but no[^1]is referenced anywhere in
the body. Either link it from a paragraph (a short note on signing
commits would be a natural spot) or remove it. -
poetry run poediscoverability. "See more withpoetry run poe"
prints usage rather than the task list —poetry run poe --help(or
pointing readers at the[tool.poe.tasks]block inpyproject.toml)
is what we probably want here.
Changelog
We use CHANGELOG mostly to report firmware changes to users, sometimes simulator, but not project structure and development related changes.
Copy / typos
- Commit body: "a important file" → "an important file"; "isn't a
monad" — I think the intended word is monolith (a monad is a
category-theory construct; "not set in stone" is the meaning here). - "Stay update with the upstream" → "Stay up to date with upstream".
- "as did in previously step" → "as in the previous step".
- "mostly addtion/fix" → "addition".
- The Python docstring example shows
"""Some awesome comment"""as a
placeholder; a one-line realistic summary would teach more. - The doc enforces 80 chars per line for markdown, but several lines in
the file itself exceed that (e.g. the contributors-list line). Running
the project's markdown linter against it would catch these.
Smaller structural notes
- The "Named branches" section is mostly about commit hygiene (atomic
commits, no mixing formatting with code). Splitting into "Branch
naming" and "Commit hygiene" would match the content. tACK/utACKare defined under both "Conceptual Review" and "Code
Review". Defining them once and cross-referencing would shorten the
section.- The Code Review example's
<diff>block is non-standard and won't
render the way the prose implies — a fenced```diffblock would be
cleaner.
What's good
The Conventional Commits list (with the git caveat) is concrete and
actionable, the ACK / nACK / tACK / utACK vocabulary borrowed from the
Bitcoin Core review culture fits this project's audience well, and
linking the poe lint / poe format tasks ties the doc to commands
people will actually run. Nice first cut overall — happy to help with
any of the above if useful.
|
Addressed Blocking issues (and removed CHANGELOG change)
already addressed
This is how is in Floresta
I had problems with the I think we could open sub-issues for non-blocking and address them on follow-ups, sounds good? |
b755a5a to
3392158
Compare
`CONTRIBUTING.md` is a important file that guides new developers through the standards built by krux team through years. This isn't a monad and could be changed at time to time.
3392158 to
db7641d
Compare
bitcoisas
left a comment
There was a problem hiding this comment.
Strong cACK
After reading the full text and comments, just some nits/observations:
- CHANGELOG not mentioned: The PR template has a CHANGELOG checkbox,
but the guide never tells contributors when they should update it.
Worth adding a line under theOpen PRsection, IMO. - Commit signing: @qlrd suggested commits should follow the same signing
behaviour as release assets, but this seems unresolved. Worth settling
before merge. Is signing a requirement, recommendation, or out of scope?
| `docs` are accompanied in the PR); | ||
| - `fix`: bug fix (see if it could break changes -- `!`, it's recommended that | ||
| `test` and `docs` are accompanied); | ||
| - `git`: used when changing some git stuffs; |
|
The commit from this PR was merged, with a follow up with fixes and more conciseness. |
What is this PR for?
CONTRIBUTING.mdis a important file that guides new developers through the standards built by krux team through years. This isn't a monad and could be changed at time to time.Changes made to:
Did you build the code and tested on device?
What is the purpose of this pull request?