add contributing guide & associated config files
This commit is contained in:
		
							parent
							
								
									3da160afc2
								
							
						
					
					
						commit
						60207beabd
					
				
							
								
								
									
										21
									
								
								.editorconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								.editorconfig
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
			
		||||
root = true # false
 | 
			
		||||
 | 
			
		||||
[*]
 | 
			
		||||
# overrides perettier's useTabs
 | 
			
		||||
indent_style = tab # space
 | 
			
		||||
 | 
			
		||||
# overrides perettier's tabWidth
 | 
			
		||||
# indent_size = 4 # whole number
 | 
			
		||||
 | 
			
		||||
# overrides perettier's tabWidth
 | 
			
		||||
tab_width = 1 # whole number
 | 
			
		||||
 | 
			
		||||
end_of_line = lf # cr | crlf
 | 
			
		||||
charset = utf-8 # latin1 | utf-8-bom | utf-16be | utf-16le
 | 
			
		||||
 | 
			
		||||
trim_trailing_whitespace = true # false
 | 
			
		||||
 | 
			
		||||
insert_final_newline = true # false
 | 
			
		||||
 | 
			
		||||
# overrides perettier's printWidth
 | 
			
		||||
max_line_length = 80
 | 
			
		||||
							
								
								
									
										1
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
* text=auto eol=lf
 | 
			
		||||
							
								
								
									
										7
									
								
								.prettierrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								.prettierrc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
	"singleQuote": true,
 | 
			
		||||
	"trailingComma": "none",
 | 
			
		||||
	"requirePragma": false,
 | 
			
		||||
	"insertPragma": false,
 | 
			
		||||
	"proseWrap": "always"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										10
									
								
								.vscode/extensions.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.vscode/extensions.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
{
 | 
			
		||||
	"recommendations": [
 | 
			
		||||
		"golang.go",
 | 
			
		||||
		"graphql.vscode-graphql-syntax",
 | 
			
		||||
		"mtxr.sqltools",
 | 
			
		||||
		"mtxr.sqltools-driver-sqlite",
 | 
			
		||||
		"streetsidesoftware.code-spell-checker",
 | 
			
		||||
		"editorconfig.editorconfig"
 | 
			
		||||
	]
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										11
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
			
		||||
{
 | 
			
		||||
	"sqltools.useNodeRuntime": true,
 | 
			
		||||
	"sqltools.connections": [
 | 
			
		||||
		{
 | 
			
		||||
			"previewLimit": 50,
 | 
			
		||||
			"driver": "SQLite",
 | 
			
		||||
			"database": "${workspaceFolder:YetAnotherToDoList}/YetAnotherToDoList.sqlite3",
 | 
			
		||||
			"name": "development"
 | 
			
		||||
		}
 | 
			
		||||
	]
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										127
									
								
								CONTRIBUTIN.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								CONTRIBUTIN.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,127 @@
 | 
			
		||||
---
 | 
			
		||||
gitea: none
 | 
			
		||||
include_toc: true
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
# Contributing
 | 
			
		||||
 | 
			
		||||
This is a personal project to learn new languages and technics and thus does not
 | 
			
		||||
really have a future you could contribute to. You are however welcome to fork
 | 
			
		||||
and modify it while following the guidelines and licenses in
 | 
			
		||||
[COPYING.md](./COPYING.md).
 | 
			
		||||
 | 
			
		||||
## Environment
 | 
			
		||||
 | 
			
		||||
Preferred editor: [VSCodium](https://vscodium.com/) with some
 | 
			
		||||
[extensions](./.vscode/extensions.json).
 | 
			
		||||
 | 
			
		||||
For dependencies/tools, make sure to use the versions specified in
 | 
			
		||||
[INSTALL.md#requirements](./INSTALL.md#requirements).
 | 
			
		||||
 | 
			
		||||
## Coding conventions/formatting
 | 
			
		||||
 | 
			
		||||
There is a [.editorconfig](./.editorconfig) file to use with compatible editors
 | 
			
		||||
[1](https://editorconfig.org/#pre-installed), or with those who have plugins
 | 
			
		||||
available [2](https://editorconfig.org/#download).
 | 
			
		||||
 | 
			
		||||
Please use [prettier](https://prettier.io/) and the supplied
 | 
			
		||||
[configuration](./.prettierrc) to format the following file types:
 | 
			
		||||
 | 
			
		||||
- `.js`
 | 
			
		||||
- `.vue`
 | 
			
		||||
- `.css`
 | 
			
		||||
- `.md`
 | 
			
		||||
- `.yaml`
 | 
			
		||||
- `.graphqls`, `.graphql`
 | 
			
		||||
- `.json`
 | 
			
		||||
 | 
			
		||||
Use the following formatters with the following types:
 | 
			
		||||
 | 
			
		||||
- `.go` (use gofmt)
 | 
			
		||||
 | 
			
		||||
No formatter specified for the following types (adapt to existing style):
 | 
			
		||||
 | 
			
		||||
- `Makefile`
 | 
			
		||||
- `.sql`
 | 
			
		||||
- `.mod`, `.sum`
 | 
			
		||||
 | 
			
		||||
Do **not** change the formatting of license texts (e.g.
 | 
			
		||||
[COPYING.md](./COPYING.md)).
 | 
			
		||||
 | 
			
		||||
### General
 | 
			
		||||
 | 
			
		||||
- We indent using `tabs` (4 spaces wide).
 | 
			
		||||
- We use single-quotes `'` where possible.
 | 
			
		||||
- We use `LF` line endings (enforced by [.gitattributes](./.gitattributes)).
 | 
			
		||||
- We use `UTF-8` encoding where possible.
 | 
			
		||||
- We end files with an empty line.
 | 
			
		||||
- We use the string `TODO` to mark bits of code that need improvement.
 | 
			
		||||
- We use the string `DEBUG` to mark bits of code that are only for debugging
 | 
			
		||||
  (remove before next commit).
 | 
			
		||||
- We add (if possible) the following header to files that contain a reasonable
 | 
			
		||||
  amount of self-written code or are essential to the project:
 | 
			
		||||
 | 
			
		||||
  ```text
 | 
			
		||||
  /*
 | 
			
		||||
  YetAnotherToDoList
 | 
			
		||||
  Copyright © YYYY name your@email
 | 
			
		||||
 | 
			
		||||
  This program is free software: you can redistribute it and/or modify
 | 
			
		||||
  it under the terms of the GNU General Public License as published by
 | 
			
		||||
  the Free Software Foundation, version 3.
 | 
			
		||||
 | 
			
		||||
  This program is distributed in the hope that it will be useful,
 | 
			
		||||
  but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
  GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
  You should have received a copy of the GNU General Public License
 | 
			
		||||
  along with this program. If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
  */
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
### File specific rules
 | 
			
		||||
 | 
			
		||||
#### Markdown (.md)
 | 
			
		||||
 | 
			
		||||
- We add a single `h1` element per document (as a title of the document).
 | 
			
		||||
- We use asterisks `*` for **bold** and _italic_, not underscores `_` .
 | 
			
		||||
- We don't use citation blocks `>` for emphasis.
 | 
			
		||||
- We end sentences with a full stop `.` .
 | 
			
		||||
- We leave one space around backticks `` ` `` when used as inline code.
 | 
			
		||||
- We add new lines around codeblocks ` ``` ` .
 | 
			
		||||
- We indent using spaces (2 spaces wide).
 | 
			
		||||
- We add a table of content (toc) in gitea's style where necessary:
 | 
			
		||||
 | 
			
		||||
  ```
 | 
			
		||||
  ---
 | 
			
		||||
  gitea: none
 | 
			
		||||
  include_toc: true
 | 
			
		||||
  ---
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
#### YAML
 | 
			
		||||
 | 
			
		||||
We indent using spaces (1 space wide).
 | 
			
		||||
 | 
			
		||||
#### Bash (.sh)
 | 
			
		||||
 | 
			
		||||
We use `env` in the shebang: `#!/usr/bin/env bash`.
 | 
			
		||||
 | 
			
		||||
### File endings
 | 
			
		||||
 | 
			
		||||
#### .yaml and .yml
 | 
			
		||||
 | 
			
		||||
We use the `.yaml` file ending.
 | 
			
		||||
 | 
			
		||||
#### .graphql and .graphqls
 | 
			
		||||
 | 
			
		||||
- We use `.graphql` for writing client queries.
 | 
			
		||||
 | 
			
		||||
- We use `.graphqls` for defining our graph scheme.
 | 
			
		||||
 | 
			
		||||
## Commit messages
 | 
			
		||||
 | 
			
		||||
- We write in all lowercase except for special names, e.g. `update Makefile`
 | 
			
		||||
- We write in imperative mood, e.g. `add contribution guidelines`, not
 | 
			
		||||
  `adding ... ` or `adds ... `.
 | 
			
		||||
@ -8,6 +8,10 @@ Instructions on how to install can be found in [INSTALL.md](./INSTALL.md).
 | 
			
		||||
 | 
			
		||||
Once installed, you might want to run the queries in [example.graphql](./example.graphql).
 | 
			
		||||
 | 
			
		||||
## Contributing
 | 
			
		||||
 | 
			
		||||
For contributing see [CONTRIBUTING.md](./CONTRIBUTIN.md).
 | 
			
		||||
 | 
			
		||||
## License
 | 
			
		||||
 | 
			
		||||
[GNU GPLv3 only](./COPYING.md)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user