Skip to content

docs: add contribution section, revise explanations#6085

Open
medubelko wants to merge 3 commits intocanonical:mainfrom
medubelko:docpr-2172-docs-contribution-mockup
Open

docs: add contribution section, revise explanations#6085
medubelko wants to merge 3 commits intocanonical:mainfrom
medubelko:docpr-2172-docs-contribution-mockup

Conversation

@medubelko
Copy link
Contributor

  • Rename and rewrite 'Contribute to this documentation'.
  • Add 'Contribute to development'.
  • Add 'About this documentation'.
  • Add second toctree.

  • I've followed the contribution guidelines.
  • I've signed the CLA.
  • I've successfully run make lint && make test.
  • I've added or updated any relevant documentation.
    - [ ] I've updated the relevant release notes.

- Rename and rewrite 'Contribute to this documentation'.
- Add 'Contribute to development'.
- Add 'About this documentation'.
- Add second toctree.
@medubelko medubelko requested review from a team, bepri and mr-cal as code owners March 6, 2026 03:21
Copy link
Contributor Author

@medubelko medubelko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jahn-junior @lengau @mr-cal @bepri This isn't quite finished but it's more than a draft. In the interest of time, I'd like you to take a look the way this is organised and structured (pages, headings, order) and see how you feel about it. The main details are the same as in the existing CONTRIBUTING.md, so there shouldn't be any surprises.

@asanvaq Rockcraft shares the same governance and process, so its contribution pages ought to have the same shape as this. Please use this as a template if you'd like to get started.

``issue-235-add-string-sanitizer``.


Develop
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section will be of most interest to @lengau, @mr-cal, and @bepri. We need to keep it as short as possible, ideally to five paragraphs or half a fold.

I'm most interested in whether it feels complete, and whether there's something we can trim.

Comment on lines +186 to +188
Snapcraft is amenable to code generated with LLM assistance. Generating code is a time
saver, but like all code it needs testing and careful review. An LLM doesn't absolve you
of responsibility -- you are ultimately responsible for the code in your work.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I expect many revisions will come to this, so please consider this a best first effort.

In the medium-term, I think the simplest way to cut through the friction is to add a todo item for LLM disclosure to the PR template.


When combining commit types, select the highest-ranked type that fits:

- :vale-ignore:`ci`
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not working because of an upstream bug.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

working on snaps.


Bounties
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can drop this, given that we're sunsetting the bounty program.


make test

Running all tests can take a very long time, in some cases an hour.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is landing on main and we'll be removing tests/legacy/unit on main next month. The time to run make test is going to drop to a few minutes or less (55 seconds on my system), so this notice may not be needed.

Comment on lines +208 to +213
Commit early and often. It's normal to make multiple commits for a single piece of work,
especially when you come back to review it later. It's a good practice to get into to
keep your changes safe.

Committing triggers the pre-commit hook, which runs autoformatters. If any files were
autoformatted, re-add them and redo the commit.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is slightly different than the help in the develop section and I think I prefer this version of it better. Unless you intentionally made them different?

Comment on lines +257 to +260
after. **After the PR is approved, there may be a delay before merge.** The maintainers
might need time to coordinate the PR with other development on the project.

After approval, **don't** force-push to your branch. It's difficult for the maintainers
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the emphasis here too, any reason not to put it in the dev page?

.. tab-item:: With HTTPS

If you don't authenticate with SSH, clone with `HTTPS
<https://docs.github.com/en/get-started/git-basics/about-remote-repositories#cloning-with-https-urls>`_
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<https://docs.github.com/en/get-started/git-basics/about-remote-repositories#cloning-with-https-urls>`_
<https://docs.github.com/en/get-started/git-basics/about-remote-repositories#cloning-with-https-urls>`__

.. tab-item:: With SSH

If you authenticate your GitHub account with `SSH
<https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account>`_,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account>`_,
<https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account>`__,

Snapcraft has 10-year long-term support commitments. All changes must be
backward-compatible unless stated otherwise in the issue.

All nontrivial changes must accompanied by new or updated tests. The Snapcraft test
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
All nontrivial changes must accompanied by new or updated tests. The Snapcraft test
All nontrivial changes must be accompanied by new or updated tests. The Snapcraft test


.. code-block:: bash

snap install snapcraft_<instance> --channel <channel-name>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may warrant a link to https://snapcraft.io/docs/explanation/how-snaps-work/parallel-installs/, since it will fail if the user hasn't configured snapd.

.. code-block:: bash

git fetch upstream
git switch -c <new-branch-nameupstream/hotfix/<current-release>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
git switch -c <new-branch-nameupstream/hotfix/<current-release>
git switch -c <new-branch-name> upstream/hotfix/<current-release>

Comment on lines +177 to +178
Snapcraft has 10-year long-term support commitments. All changes must be
backward-compatible unless stated otherwise in the issue.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you think about clarifying our commitment is per-base? Or that we can't make changes that require users to update their snaps for stable bases?

Here's a great example of the expectation I'd like to document: #5514 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants