Some Awesome Project
A set of project setup guidelines for my personal projects.
Overview
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.
Getting Started
Option A: Clone this repo
-
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 git@github.com: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 "sandromiguel@sandromiguel.com" <--- 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.
Option B: Create a new repo from scratch
-
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 git@github.com: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 "sandromiguel@sandromiguel.com" <--- 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
Visual Studio Code settings
Configure Workspace
Workspace settings
.vscode/settings.json
{
"workbench.colorCustomizations": {
"activityBar.background": "#d40000",
"activityBar.activeBackground": "#FF5050",
"activityBar.activeBorder": "#ffffff",
"activityBar.foreground": "#000000",
"activityBar.inactiveForeground": "#ffffff",
"activityBarBadge.background": "#000000",
"activityBarBadge.foreground": "#ffffff",
"statusBar.background": "#d40000",
"statusBarItem.hoverBackground": "#FF5050",
"statusBar.foreground": "#ffffff"
}
}
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": true
},
"editor.fontFamily": "Fira Code",
"editor.fontLigatures": true,
"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.alwaysShowStatus": true,
"eslint.debug": true,
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"gitblame.statusBarMessageFormat": "Blame ${author.name} ( ${author.date} )",
"gitlens.codeLens.enabled": false,
"javascript.preferences.importModuleSpecifier": "non-relative",
"javascript.updateImportsOnFileMove.enabled": "always",
"php.suggest.basic": false,
"phpCodeSniffer.standard": "Custom",
"phpCodeSniffer.autoExecutable": true,
"phpCodeSniffer.standardCustom": "~/phpcs-cecilia-standard",
"stylelint.autoFixOnSave": true,
"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,
"terminal.integrated.rendererType": "dom",
"todo-tree.filtering.includeGlobs": ["**/*.php", "**/*.js"],
"todo-tree.tree.showScanModeButton": false,
"typescript.tsserver.log": "off",
"versionlens.showVersionLensesAtStartup": false,
"vsicons.dontShowNewVersionMessage": true,
"workbench.colorCustomizations": {
"editorBracketHighlight.foreground1": "#5cef81",
"editorBracketHighlight.foreground2": "#dfb976",
"editorBracketHighlight.foreground3": "#c172d9",
"editorBracketHighlight.foreground4": "#4fb1bc",
"editorBracketHighlight.foreground5": "#97c26c",
"editorBracketHighlight.foreground6": "#abb2c0",
"editorBracketHighlight.unexpectedBracket.foreground": "#db6165",
"editor.findMatchBackground": "#00cc44a8",
"editor.findMatchHighlightBackground": "#1bb958a1"
},
"workbench.editor.wrapTabs": true,
"workbench.colorTheme": "Visual Studio Dark",
"editor.fontSize": 16,
"security.workspace.trust.untrustedFiles": "open",
"phpcs.standard": "~/phpcs-cecilia-standard",
"phpcs.executablePath": "/home/sandro/.config/composer/vendor/bin/phpcs"
}
Contributing
Want to contribute? All contributions are welcome. Read the contributing guide.
Questions
If you have questions tweet me at @sandro_m_m or open an issue.
License
This project is licensed under the MIT License - see the LICENSE file for details
**~ sharing is caring ~**