Skip to content

Commit 69f6bf6

Browse files
committed
Replace mdox with pre-commit and various improvement
2 parents 7db3270 + 65f5667 commit 69f6bf6

10 files changed

Lines changed: 114 additions & 179 deletions

.github/.mdox.validator.yaml

Lines changed: 0 additions & 6 deletions
This file was deleted.

.github/workflows/pre-commit.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: pre-commit
2+
3+
on:
4+
pull_request:
5+
push:
6+
7+
jobs:
8+
pre-commit:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
- uses: actions/setup-python@v5
13+
- uses: pre-commit/action@v3.0.1
14+
- name: "Generate patch file"
15+
if: failure()
16+
run: |
17+
git diff-index -p HEAD > "${PATCH_FILE}"
18+
[ -s "${PATCH_FILE}" ] && echo "UPLOAD_PATCH_FILE=${PATCH_FILE}" >> "${GITHUB_ENV}"
19+
env:
20+
PATCH_FILE: pre-commit.patch
21+
22+
- name: "Upload patch artifact"
23+
if: failure() && env.UPLOAD_PATCH_FILE != null
24+
uses: actions/upload-artifact@v4
25+
with:
26+
name: ${{ env.UPLOAD_PATCH_FILE }}
27+
path: ${{ env.UPLOAD_PATCH_FILE }}

.github/workflows/proposals.yaml

Lines changed: 0 additions & 33 deletions
This file was deleted.

.gitignore

Lines changed: 0 additions & 17 deletions
This file was deleted.

.markdownlint.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
config:
2+
fix: true
3+
4+
# MD013/line-length - Line length
5+
MD013:
6+
line_length: 120
7+
tables: false
8+
ignore_code_blocks: true
9+
10+
MD033:
11+
allowed_elements:
12+
- GH # This isn't an element but is detected as such in the template

.pre-commit-config.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
repos:
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v4.6.0
4+
hooks:
5+
- id: check-added-large-files
6+
- id: check-symlinks
7+
- id: end-of-file-fixer
8+
- id: check-byte-order-marker
9+
- id: check-case-conflict
10+
- id: mixed-line-ending
11+
- id: trailing-whitespace
12+
- repo: https://github.com/trussworks/pre-commit-hooks
13+
rev: v1.1.1
14+
hooks:
15+
- id: markdown-toc
16+
- repo: https://github.com/DavidAnson/markdownlint-cli2
17+
rev: v0.13.0
18+
hooks:
19+
- id: markdownlint-cli2
20+
entry: markdownlint-cli2
21+
- repo: https://github.com/codespell-project/codespell
22+
rev: v2.2.6
23+
hooks:
24+
- id: codespell
25+
name: codespell
26+
description: Checks for common misspellings in text files.
27+
entry: codespell -w

0000-00-00_template.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ See [README](README.md) for details.
77
## Your Proposal Title
88

99
* **Owners:**
10-
* `<@author: single champion for the moment of writing. No need to add contributors all will be visible in commit or comments history on GitHub.>`
10+
* `<@author: single champion for the moment of writing. No need to add contributors
11+
all will be visible in commit or comments history on GitHub.>`
1112

1213
* **Implementation Status:** `Not implemented / Partially implemented / Implemented`
1314

@@ -17,21 +18,27 @@ See [README](README.md) for details.
1718
* **Other docs or links:**
1819
* `<Links…>`
1920

20-
> TL;DR: Give here a short summary of what this document is proposing and what components it is touching. Outline rough idea of proposer's view on proposed changes.
21+
> TL;DR: Give here a short summary of what this document is proposing and what components it is touching. Outline rough
22+
> idea of proposer's view on proposed changes.
2123
>
2224
> *For example: This design doc is proposing a consistent design template for “example.com” organization.*
2325
2426
## Why
2527

2628
Put here a motivation behind the change proposed by this design document, give context.
2729

28-
*For example: It’s important to clearly explain the reasons behind certain design decisions in order to have a consensus between team members, as well as external stakeholders. Such a design document can also be used as a reference and knowledge-sharing purposes. That’s why we are proposing a consistent style of the design document that will be used for future designs.*
30+
*For example: It’s important to clearly explain the reasons behind certain design decisions in order to have a consensus
31+
between team members, as well as external stakeholders. Such a design document can also be used as a reference and
32+
knowledge-sharing purposes. That’s why we are proposing a consistent style of the design document that will be used for
33+
future designs.*
2934

3035
### Pitfalls of the current solution
3136

3237
What specific problems are we hitting with the current solution? Why it’s not enough?
3338

34-
*For example, We were missing a consistent design doc template, so each team/person was creating their own. Because of inconsistencies, those documents were harder to understand, and it was easy to miss important sections. This was causing certain engineering time to be wasted.*
39+
*For example, We were missing a consistent design doc template, so each team/person was creating their own. Because of
40+
inconsistencies, those documents were harder to understand, and it was easy to miss important sections. This was
41+
causing certain engineering time to be wasted.*
3542

3643
## Goals
3744

@@ -61,7 +68,8 @@ Explain the full overview of the proposed solution. Some guidelines:
6168

6269
## Alternatives
6370

64-
The section stating potential alternatives. Highlight the objections reader should have towards your proposal as they read it. Tell them why you still think you should take this path [[ref](https://twitter.com/whereistanya/status/1353853753439490049)]
71+
The section stating potential alternatives. Highlight the objections reader should have towards your proposal as they
72+
read it. Tell them why you still think you should take this path.
6573

6674
1. This is why not solution Z...
6775

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,3 @@
11
# Mixxx Code of Conduct
22

3-
The Mixxx team is committed to preserving and fostering a
4-
diverse, welcoming community. Below is our community code of conduct, which
5-
applies to our repos and organizations, mailing lists, forums, IRC channels,
6-
blog content, and any
7-
other Mixxx-supported communication group, as well as any private
8-
communication initiated in the context of these spaces.
9-
10-
Simply put, community discussions should be
11-
12-
* respectful and kind;
13-
* about Mixxx;
14-
* about features and code, not the individuals involved.
15-
16-
## Be respectful and constructive
17-
18-
Treat everyone with respect. Build on each other's ideas. Each of us has the
19-
right to enjoy our experience and participate without fear of harassment,
20-
discrimination, or condescension, whether blatant or subtle. Remember that
21-
Mixxx is a geographically distributed team and that you may not be
22-
communicating with someone in their primary language. We all get frustrated
23-
when working on hard problems, but we cannot allow that frustration to turn
24-
into personal attacks.
25-
26-
## Speak up if you see or hear something
27-
28-
You are empowered to politely engage when you feel that you or others are
29-
disrespected. The person making you feel uncomfortable may not be aware of what
30-
they are doing - politely bringing their behavior to their attention is
31-
encouraged.
32-
33-
If you are uncomfortable speaking up, or feel that your concerns are not being
34-
duly considered, you can email community@mixxx.org to request involvement
35-
from a community manager. You may also email any of the community managers
36-
directly. All concerns shared with community managers will be kept
37-
confidential. In cases where a public response is deemed necessary, the
38-
identities of victims and reporters will remain confidential unless those
39-
individuals instruct us otherwise.
40-
41-
While all reports will be taken seriously, the Mixxx community managers may
42-
not act on complaints that they feel are not violations of this code of
43-
conduct.
44-
45-
## No Tolerance for Harassment
46-
47-
We will not tolerate harassment of any kind, including but not limited to:
48-
49-
* Harassing comments
50-
* Intimidation
51-
* Encouraging a person to engage in self-harm.
52-
* Sustained disruption or derailing of threads, channels, lists, etc.
53-
* Offensive or violent comments, jokes or otherwise
54-
* Inappropriate sexual content
55-
* Unwelcome sexual or otherwise aggressive attention
56-
* Continued one-on-one communication after requests to cease
57-
* Distribution or threat of distribution of people's personally identifying
58-
information, AKA “doxing”
59-
60-
## Consequences for failing to comply with this policy
61-
62-
Consequences for failing to comply with this policy may include, at the sole
63-
discretion of the Mixxx community managers:
64-
65-
* a request for an apology;
66-
* a private or public warning or reprimand;
67-
* a temporary ban from the mailing list, blog, Mixxx repository or
68-
organization, or other Mixxx-supported communication group, including
69-
loss of committer status;
70-
* a permanent ban from any of the above, or from all current and future
71-
Mixxx-supported communities, including loss of
72-
committer status.
73-
74-
Participants warned to stop any harassing behavior are expected to comply
75-
immediately; failure to do so will result in an escalation of consequences.
76-
77-
## Acknowledgements
78-
79-
This Code of Conduct is based on the Chromium Code of Conduct, which credits
80-
the Geek Feminism Code of Conduct, the Django Code of Conduct and the Geek
81-
Feminism Wiki "Effective codes of conduct" guide.
82-
83-
## License
84-
85-
This Code of Conduct is available for reuse under the Creative Commons Zero
86-
(CC0) license.
3+
Please see the Code of Conduct in [the main Mixxx repo](https://github.com/mixxxdj/mixxx/blob/main/CODE_OF_CONDUCT.md)

Makefile

Lines changed: 0 additions & 21 deletions
This file was deleted.

README.md

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,58 @@ reviewing, discovering, and working on the design documents. It is also a record
55

66
## Current Proposals
77

8-
* The [open PRs with the `proposal` label](https://github.com/mixxxdj/proposals/pulls?q=is%3Aopen+is%3Apr+label%3Aproposal) show all the pending proposals.
9-
* The [proposals directory](./proposals) shows all the accepted proposals. See the “Implementation Status” for details on the implementation.
10-
* The [PRs with the `proposal` label that are closed without merging](https://github.com/mixxxdj/proposals/pulls?q=is%3Apr+label%3Aproposal+is%3Aclosed+is%3Aunmerged) show all the rejected proposals.
8+
* The
9+
[open PRs with the `proposal` label](https://github.com/acolombier/mixxx-proposals/pulls?q=is%3Aopen+is%3Apr+label%3Aproposal)
10+
show all the pending proposals.
11+
* The [proposals directory](./proposals) shows all the accepted proposals. See the “Implementation Status” for details
12+
on the implementation.
13+
* The
14+
[PRs with the `proposal` label that are closed without merging](https://github.com/acolombier/mixxx-proposals/pulls?q=is%3Apr+label%3Aproposal+is%3Aclosed+is%3Aunmerged)
15+
show all the rejected proposals.
1116

1217
## What’s a Design Document?
1318

14-
It’s essential to clearly explain the reasons behind certain design decisions to have a community consensus. This is especially
15-
important in Mixxx, where every decision might have a significant impact given the high adoption and stability of the software and standards we work on.
19+
It’s essential to clearly explain the reasons behind certain design decisions to have a community consensus. This is
20+
especially important in Mixxx, where every decision might have a significant impact given the high adoption and
21+
stability of the software and standards we work on.
1622

1723
In our world, no decision is perfect, so having a design document explaining our trade-offs is essential.
1824
Such a document can also be used later as a reference and for knowledge-sharing purposes.
1925

2026
Design documents do not always reflect what has been (or will be) implemented. Implementation details
21-
might have changed since a feature was merged. Design docs are not considered documentation and can not define a standard.
27+
might have changed since a feature was merged. Design docs are not considered documentation and can not define a
28+
standard.
2229
Instead, it should explain the motivation, scope, decisions, and alternatives considered.
2330

31+
A design document shall describe the use-cases the proposal will implement and also the use-cases that are explicitly
32+
not included.
33+
34+
It may also contain requirements and acceptance criteria of a derived Pull Request. This avoid feature creep and adjust
35+
the expectations during a review.
36+
2437
## Proposal Process
2538

2639
Don’t get scared to propose ideas! It’s amazing to innovate in the open and get feedback on ideas.
2740

2841
The process of proposing a change via a design document is the following:
2942

30-
1. Fork `github.com/mixxxdj/proposals`.
31-
2. Create a GitHub Pull Request with a design document in markdown format to the [proposals directory](./proposals). Make sure to use the [template](0000-00-00_template.md) as the guide for what sections should be present in the document. Put the creation date (the day you started preparing this design document) as the prefix and some unique name as the suffix in the file name. Once the PR is proposed, a maintainer will assign a `proposal` label.
32-
3. An automatic formatter is enabled in the repository. Use `make` locally to trigger the formatting of all markdown documents (requires a working Go environment). Use `make check` to check all links (will be done by the CI pipeline, too).
33-
4. After a sufficient amount of discussion, the Mixxx team will try to reach a consensus of accepting or rejecting the proposal. In the former case, the PR gets merged. In the latter case, the PR gets closed with meaningful reasons why the proposal was rejected.
43+
1. Fork `github.com/acolombier/mixxx-proposals`.
44+
2. Create a GitHub Pull Request with a design document in markdown format to the [proposals directory](./proposals).
45+
Make sure to use the [template](0000-00-00_template.md) as the guide for what sections should be present in the
46+
document. Put the creation date (the day you started preparing this design document) as the prefix and some unique
47+
name as the suffix in the file name. Once the PR is proposed, a maintainer will assign a `proposal` label.
48+
3. An automatic formatter is enabled in the repository. Use `pre-commit` locally to trigger the formatting of all
49+
markdown documents (requires a working `pre-commit` installation).
50+
4. After a sufficient amount of discussion, the Mixxx team will try to reach a consensus of accepting or rejecting the
51+
proposal. In the former case, the PR gets merged. In the latter case, the PR gets closed with meaningful reasons why
52+
the proposal was rejected.
3453
1. To merge the PR, we need approval (consensus) from the maintainers of the related component(s).
35-
2. Optionally: Find a sponsor among the Mixxx maintainers to get momentum on a change.
54+
2. Optionally: Find a sponsor among the Mixxx maintainers to get momentum on a change. You may use
55+
[Zulip](https://mixxx.zulipchat.com/) to do that.
3656

37-
Once the PR gets merged, the design document can change, but it requires (less strict, but still) a PR with review and merge by a maintainer.
57+
Once the PR gets merged, the design document can change, but it requires (less strict, but still) a PR with review and
58+
merge by a maintainer.
3859

3960
## Credits
4061

41-
This proposal process was largely inspired by the [Prometheus Proposal Process](https://github.com/prometheus/proposals)
62+
This proposal process was largely inspired by the [Prometheus Proposal Process](https://github.com/prometheus/proposals)

0 commit comments

Comments
 (0)