sone-dev-onboarding
v1.2.1
Published
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
Downloads
13
Readme
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:
- Biome: For it's language independent, performant formatting and linting.
- TypeScript: Enhanced support for TypeScript development.
- GitLens: For better visibility of Git changes.
- NPM Intellisense: Autocompletion for import statement
- Tailwind CSS IntelliSense: Autocompletion for Tailwind class names
- 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