SandroMiguel / some-awesome-project

Project setup guidelines for my personal projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Some Awesome Project

A set of project setup guidelines for my personal projects.

license

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

  1. Create a new repository: Start by creating a new repository on GitHub with a name and description.

  2. 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 .
  1. 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
  1. Install the dependencies
yarn
  1. Update the dependencies
yarn upgrade-interactive --latest
  1. Documentation: Don't forget to write a README.md that introduces and explains your project.

Option B: Create a new repo from scratch

  1. Create a new repository: Start by creating a new repository on GitHub with a name, description, and choose to add a README and license.

  2. 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 .
  1. 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
  1. Add .gitignore: Use gitignore-boilerplate

  2. Add package.json: Use package.json-boilerplate

ProTip: Sync Github topics with package.json file keywords

  1. Conventional Commit Messages & Semantic Versioning: See standard-commit

  2. Add .editorconfig: Use editorconfig-boilerplate

  3. Linting & Code Formatter: Install eslint-config-cecilia

  4. Documentation: Write a README.md that introduces and explains your project.

  5. 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 ~**

About

Project setup guidelines for my personal projects

License:MIT License


Languages

Language:JavaScript 78.8%Language:Shell 21.2%