A public repository is expected to carry a small set of files, and GitHub reports
which of them are there. One of seven is:
gh api repos/Flowfin/core/community/profile --jq '.files | to_entries[] | "\(.key)\t\(if .value == null then "missing" else "present" end)"'
code_of_conduct missing
code_of_conduct_file missing
contributing missing
issue_template missing
license missing
pull_request_template missing
readme present
Four of those rows already have somebody on them. The licence is entry 1 of #1
and its file is #12, the contributing document is #23, the pull-request template
is #25. The two nobody holds are the code of conduct and the issue templates, and
this issue takes both because they are the same act: telling a stranger what this
repository expects before they spend an evening on it.
What this produces
A code of conduct at the root, with a reporting address that reaches a person and
a sentence saying what happens after a report arrives. An address is the part
that matters. A code of conduct with no route to a human is a document that
becomes useless at exactly the moment somebody needs it. Which address, and
whether it is the same one #24 publishes for a vulnerability, is entry 5 of #1
and is not decided here.
Issue templates that ask for the three things an issue on this board says: what
is wrong, what the evidence is, and what done means. Where the evidence is a
number, the template asks for the command that produced it, which is the request
#25 makes of a pull request and for the same reason.
A line in each template saying that nothing reads it. A filled-in form is not a
check, and a template that looks like enforcement is worse than one that admits
it is a prompt.
What this deliberately leaves out, with the reason
No CODEOWNERS. It routes review to an owner, and this repository has a single
maintainer, so the file would name one account and add nothing the ruleset on
main already requires. It also goes wrong silently on the day a second person
arrives, because nothing refuses a stale owner.
That there is one maintainer is written here as a claim, because the command
that lists them needs push access to this repository and is therefore not one a
reader of this board can run.
No governance document. How decisions are made here is #1 for the ones only the
maintainer can make and the records in #2 for the rest. A third file restating
both is a copy that drifts against them, and the drift is invisible until
somebody acts on the stale copy.
Done when
The command above reports code_of_conduct and issue_template as present, the
code of conduct names a reporting address, and every template asks for the
problem, the evidence, the command behind any number, and what done means.
A public repository is expected to carry a small set of files, and GitHub reports
which of them are there. One of seven is:
Four of those rows already have somebody on them. The licence is entry 1 of #1
and its file is #12, the contributing document is #23, the pull-request template
is #25. The two nobody holds are the code of conduct and the issue templates, and
this issue takes both because they are the same act: telling a stranger what this
repository expects before they spend an evening on it.
What this produces
A code of conduct at the root, with a reporting address that reaches a person and
a sentence saying what happens after a report arrives. An address is the part
that matters. A code of conduct with no route to a human is a document that
becomes useless at exactly the moment somebody needs it. Which address, and
whether it is the same one #24 publishes for a vulnerability, is entry 5 of #1
and is not decided here.
Issue templates that ask for the three things an issue on this board says: what
is wrong, what the evidence is, and what done means. Where the evidence is a
number, the template asks for the command that produced it, which is the request
#25 makes of a pull request and for the same reason.
A line in each template saying that nothing reads it. A filled-in form is not a
check, and a template that looks like enforcement is worse than one that admits
it is a prompt.
What this deliberately leaves out, with the reason
No
CODEOWNERS. It routes review to an owner, and this repository has a singlemaintainer, so the file would name one account and add nothing the ruleset on
mainalready requires. It also goes wrong silently on the day a second personarrives, because nothing refuses a stale owner.
That there is one maintainer is written here as a claim, because the command
that lists them needs push access to this repository and is therefore not one a
reader of this board can run.
No governance document. How decisions are made here is #1 for the ones only the
maintainer can make and the records in #2 for the rest. A third file restating
both is a copy that drifts against them, and the drift is invisible until
somebody acts on the stale copy.
Done when
The command above reports
code_of_conductandissue_templateas present, thecode of conduct names a reporting address, and every template asks for the
problem, the evidence, the command behind any number, and what done means.