Skip to content

Commit

Permalink
Merge pull request #1017 from nextcloud/docs/document_pr_requirements
Browse files Browse the repository at this point in the history
docs(docs): document git signatures and needed packages in CONTRIBUTING.MD
  • Loading branch information
Leptopoda authored Oct 24, 2023
2 parents 35d8409 + f8b2063 commit 203fce4
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
1 change: 1 addition & 0 deletions .cspell/tools.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ plantuml
precache
puml
rpath
signoff
startuml
stdlib
strconcat
Expand Down
18 changes: 15 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,18 @@ Currently included are:
To set up all these tools run the `./tool/setup.sh` script.
Note that you need to have Dart installed and [`~/.pub-cache/bin/` needs to be in your PATH](https://dart.dev/tools/pub/cmd/pub-global#running-a-script-from-your-path) before running the script.

## Conventional commits
You will need to have the following packages installed:
- [yq](https://github.com/kislyuk/yq)
- [sqlite3](https://pub.dev/packages/sqflite_common_ffi#getting-started)
- [appindicator3](https://pub.dev/packages/tray_manager#quick-start)

## Picking an issue
You may wish to start with our list of [good first issues](https://github.com/nextcloud/neon/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)

## Commits
All commits need to be signed and signed off to to be pass our tests.
To sign off your commits use `git commit --signoff`.
To setup commit signing please consult the [Github documentation](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits).
We use conventional commits to have meaningful commit messages and be able to generate changelogs.
A non-breaking feature contribution to `neon_notes` could look like this:
```bash
Expand All @@ -22,7 +33,8 @@ You can read the full documentation at https://www.conventionalcommits.org.
## Tools
We maintain a collection of scripts in `./tool/`.
They range from setting up a local Nextcloud server (`./tool/dev.sh`) to generating assets.

Be aware that due to limitations in Apache the dev server will crash when you resize the terminal window.

## Monorepo
For easier development we use a monorepo structure.
This means that we have multiple packages in one git repository.
Expand All @@ -48,4 +60,4 @@ Please adhere to the [effective-dart](https://dart.dev/effective-dart/documentat
## Workflow
We use a rebase workflow, meaning that we rebase PRs onto the latest main branch instead of merging the current main into the development branches.
This helps to keep the git history cleaner and easier to bisect in the case of debugging an error.
You can read more on it [here](https://www.atlassian.com/git/tutorials/merging-vs-rebasing).
You can read more on it [here](https://www.atlassian.com/git/tutorials/merging-vs-rebasing).

0 comments on commit 203fce4

Please sign in to comment.