A set of project setup guidelines for my personal projects.
Some Awesome Project provides a set of guidelines for setting up my personal projects. Whether you choose to clone an existing repository or create a new one from scratch, these steps will help you get started quickly.
-
Create a new repository: Start by creating a new repository on GitHub with a name and description.
-
Clone with SSH: Clone this repository to your local machine using SSH.
cd ~/web
git clone [email protected]:SandroMiguel/some-awesome-project.git <YOUR-AWESOME-PROJECT>
cd <YOUR-AWESOME-PROJECT>
code .
- Configure local name and email: Customize your Git configuration with your username and email.
I decided to use my professional email globally, and set up another email locally for my personal projects.
rm -fr .git
git init
git config --local user.name "SandroMiguel" <--- put your username here
git config --local user.email "[email protected]" <--- put your email here
- Install the dependencies
yarn
- Update the dependencies
yarn upgrade-interactive --latest
- Documentation: Don't forget to write a
README.md
that introduces and explains your project.
-
Create a new repository: Start by creating a new repository on GitHub with a name, description, and choose to add a README and license.
-
Clone with SSH: Clone the online repository to your local machine using SSH.
cd ~/web
git clone [email protected]:SandroMiguel/<YOUR-AWESOME-PROJECT>.git
cd <YOUR-AWESOME-PROJECT>
code .
- Configure local name and email: Customize your Git configuration with your username and email.
I decided to use my professional email globally, and set up another email locally for my personal projects.
git config --local user.name "SandroMiguel" <--- put your username here
git config --local user.email "[email protected]" <--- put your email here
-
Add
.gitignore
: Use gitignore-boilerplate -
Add
package.json
: Use package.json-boilerplate
ProTip: Sync Github topics with package.json
file keywords
-
Conventional Commit Messages & Semantic Versioning: See standard-commit
-
Add
.editorconfig
: Use editorconfig-boilerplate -
Linting & Code Formatter: Install eslint-config-cecilia
-
Documentation: Write a
README.md
that introduces and explains your project. -
Constributing: Add CONTRIBUTING.md
Workspace settings
.vscode/settings.json
{
"workbench.colorCustomizations": {
"activityBar.background": "#3eaeca99",
"activityBarBadge.background": "#3eaeca",
"activityBarBadge.foreground": "#000000",
"statusBar.background": "#3eaeca99"
}
}
User settings
~/.config/Code/User/settings.json
{
"[html]": {
"editor.formatOnSave": false
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[php]": {
"editor.defaultFormatter": "bmewburn.vscode-intelephense-client"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"cSpell.userWords": ["autoload", "noreferrer", "phpcs", "stylelint"],
"diffEditor.ignoreTrimWhitespace": false,
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
},
"editor.fontFamily": "Fira Code",
"editor.fontLigatures": true,
"editor.fontSize": 16,
"editor.formatOnSave": true,
"editor.matchBrackets": "never",
"editor.suggest.insertMode": "replace",
"editor.suggest.showWords": false,
"editor.suggestSelection": "first",
"editor.tokenColorCustomizations": {
"comments": "#b1b1b1",
"variables": "#FF6D4A",
"functions": "#00B2BF",
"strings": "#FFF",
"numbers": "#518EAF",
"keywords": "#337DED",
"types": "#ffaa00",
"textMateRules": [
{
"scope": "comment",
"settings": {
"foreground": "#b1b1b1"
}
}
]
},
"eslint.debug": true,
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"gitblame.statusBarMessageFormat": "Blame ${author.name} ( ${author.date} )",
"javascript.preferences.importModuleSpecifier": "non-relative",
"javascript.updateImportsOnFileMove.enabled": "always",
"php.suggest.basic": false,
"phpcs.standard": "~/phpcs-cecilia-standard",
"phpcs.executablePath": "/home/sandro/.config/composer/vendor/bin/phpcs",
"security.workspace.trust.untrustedFiles": "open",
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.cursorBlinking": true,
"terminal.integrated.cursorStyle": "line",
"terminal.integrated.drawBoldTextInBrightColors": false,
"terminal.integrated.fontFamily": "noto mono",
"terminal.integrated.fontSize": 16,
"todo-tree.filtering.includeGlobs": ["**/*.php", "**/*.js"],
"typescript.tsserver.log": "off",
"workbench.colorCustomizations": {
"editorBracketHighlight.unexpectedBracket.foreground": "#db6165",
"editor.findMatchBackground": "#cc00aaa8",
"editor.findMatchHighlightBackground": "#1d3d0379",
"editor.findMatchHighlightBorder": "#c1fccd"
},
"workbench.editor.wrapTabs": true,
"workbench.colorTheme": "Visual Studio Dark",
"files.watcherExclude": {
"**/.yarn/**": true
},
"editor.wordWrap": "on",
"path-intellisense.autoTriggerNextSuggestion": true,
"editor.bracketPairColorization.enabled": false,
"php-docblocker.useShortNames": true,
"better-comments.tags": [
{
"tag": "@deprecated",
"color": "#FFFFFF",
"strikethrough": false,
"underline": false,
"backgroundColor": "#FF2D00",
"bold": false,
"italic": false
},
{
"tag": "!",
"color": "#FF2D00",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "?",
"color": "#3498DB",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "//",
"color": "#474747",
"strikethrough": true,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "TODO",
"color": "#FF8C00",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "*",
"color": "#98C379",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
}
]
}
Want to contribute? All contributions are welcome. Read the contributing guide.
If you have questions tweet me at @sandro_m_m or open an issue.
This project is licensed under the MIT License - see the LICENSE file for details
**~ sharing is caring ~**