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