1.2.1 • Published 8 months ago

sone-dev-onboarding v1.2.1

Weekly downloads
-
License
-
Repository
github
Last release
8 months ago

Sone Software Engineer Onboarding

Welcome to the Sone Software Engineer Onboarding Guide. This guide is designed to help you get ready to start in our development envrionment. We aim to use the best tool for the job, while ensuring consistency that allows engineers to transition smoothly across different projects and environments.

Our primary tech stack includes Node.js and TypeScript, but we’re always open to adapting as needed.

Prerequisites

Setting up Node.js

To get started, you'll need to install Node.js. We recommend using nvm (Node Version Manager) for ease of installation.

To install nvm, run this command in your terminal:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

After installing nvm, install the latest NodeJS LTS (Long Term Service) version:

nvm install --lts

Once installed, verify your setup with:

node -v
npm -v

Onboarding

We have automated our onboarding process with a pretty nifty CLI tool (sourced in this repo) that's available by running the following:

npx @sone-works/sone-dev-onboarding

The automated process will take you through the following steps.

1. Install PNPM

We prefer using pnpm over npm for package management for it's speed in efficiently handling dependencies. To install PNPM, run the following command:

npm install -g pnpm

After installation, you can verify it by running:

pnpm -v

(Optional) Alias PNPM commands

We like to alias the pnpm and pnpm dlx commands to pn and pnx respectively for brevity.

MacOS/Linux

Add the follow to your .zshrc/.bashrc file (usually located in your Home directory)

alias pn="pnpm"
alias pnx="pnpm dlx"

2. Package Registry Configuration

We utilize Github as our package registry and require a access token (classic) with scopes access.

In your .npmrc file ( ~/.npmrc), add the following:

/npm.pkg.github.com/:_authToken=<GITHUB_TOKEN>

3. Code Editor Setup

Our code editor of choice is Visual Studio Code (VSCode) due to its open-source principles, versatility and wide range of extensions.

Some extensions we recommend for our development experience: 1. Biome: For it's language independent, performant formatting and linting. 2. TypeScript: Enhanced support for TypeScript development. 3. GitLens: For better visibility of Git changes. 4. NPM Intellisense: Autocompletion for import statement 5. Tailwind CSS IntelliSense: Autocompletion for Tailwind class names 6. Thunder Client: Integrated Rest API Client with Postman like features

You can find all of these in the VSCode marketplace, or by running the following command after installing VSCode:

code --install-extension biomejs.biome --install-extension ms-vscode.vscode-typescript-next --install-extension eamodio.gitlens --install-extension christian-kohler.npm-intellisense --install-extension bradlc.vscode-tailwindcss --install-extension rangav.vscode-thunder-client