Skip to main content

New Employee Onboarding

Welcome to the team! This guide walks you through setting up your development environment and making your first contribution to the NetSuite SDF project.


Flow Diagram

┌─────────────────────────────────────────────────────────────────────────────────┐
│ NEW EMPLOYEE ONBOARDING WORKFLOW │
│ (First-Time Repository Setup) │
└─────────────────────────────────────────────────────────────────────────────────┘

┌──────────────┐
│ START │
│ (Day 1) │
└──────┬───────┘


┌─────────────────────────────────────┐
│ 1. Install Required Software │
│ ───────────────────────────────────│
│ • Git for Windows │
│ • Node.js (LTS version) │
│ • VSCode + SuiteCloud Extension │
└───────────┬─────────────────────────┘


┌──────────────────────────────────────────────────────┐
│ 2. Configure Git Identity │
│ ────────────────────────────────────────────────────│
│ git config --global user.name "Your Full Name" │
│ git config --global user.email "you@company.com" │
└───────────┬──────────────────────────────────────────┘


┌─────────────────────────────────────┐
│ 3. Get GitHub Access │
│ ───────────────────────────────────│
│ • Request access from IT Lead │
│ • Accept repository invitation │
│ • Browser auth on first clone │
└───────────┬─────────────────────────┘


┌─────────────────────────────────────┐
│ 4. Clone Repository │
│ ───────────────────────────────────│
│ git clone <repository-url> │
│ cd <project-folder> │
└───────────┬─────────────────────────┘


┌─────────────────────────────────────┐
│ 5. Set Up SDF in VSCode │
│ ───────────────────────────────────│
│ • Open project folder │
│ • Configure NetSuite account │
│ • Authenticate with Sandbox │
└───────────┬─────────────────────────┘


┌─────────────────────────────────────┐
│ 6. Verify Setup │
│ ───────────────────────────────────│
│ • Run: git status │
│ • Run: git branch -a │
│ • Validate SDF project │
└───────────┬─────────────────────────┘


┌──────────────┐
│ Ready to │
│ contribute! │
└──────────────┘

Prerequisites Checklist

Before you begin, ensure you have:

ItemStatus
Company laptop with admin rights
GitHub account (personal or company)
NetSuite Sandbox account credentials
Repository access granted by IT Lead

Step 1: Install Required Software

Git for Windows

  1. Download from https://git-scm.com/download/win
  2. Run installer with default options
  3. Verify installation:
git --version
# Expected: git version 2.x.x

Node.js (Required for SDF CLI)

  1. Download LTS version from https://nodejs.org/
  2. Run installer with default options
  3. Verify installation:
node --version
# Expected: v18.x.x or higher

npm --version
# Expected: 9.x.x or higher

VSCode + SuiteCloud Extension

  1. Download VSCode from https://code.visualstudio.com/
  2. Install the extension:
    • Open VSCode
    • Press Ctrl+Shift+X (Extensions)
    • Search for "SuiteCloud"
    • Install Oracle SuiteCloud Extension for VS Code

SuiteCloud CLI (Global Installation)

npm install -g @oracle/suitecloud-cli

Verify installation:

suitecloud --version

Step 2: Configure Git Identity

Set your name and email (use your company email):

# Set your display name
git config --global user.name "Your Full Name"

# Set your email (must match GitHub account)
git config --global user.email "your.email@company.com"

# Verify configuration
git config --global --list
# Set default branch name to 'main'
git config --global init.defaultBranch main

# Set VSCode as default editor
git config --global core.editor "code --wait"

# Enable colored output
git config --global color.ui auto

# Configure line endings (Windows)
git config --global core.autocrlf true

Step 3: Get GitHub Access

Request Repository Access

Contact your IT Lead with:

  • Your GitHub username
  • Your company email
  • Team assignment (e.g., Vendor Team, IT Team)

Accept Invitation

  1. Check your email for GitHub invitation
  2. Click "Accept invitation"
  3. You now have access to the repository

Set Up Authentication (Browser-Based)

Modern Git uses Git Credential Manager (GCM) which provides seamless browser-based authentication. If you installed Git for Windows version 2.29 or higher (recommended), GCM is already included.

┌─────────────────────────────────────────────────────────────────────────────┐
│ BROWSER-BASED AUTHENTICATION FLOW │
└─────────────────────────────────────────────────────────────────────────────┘

┌──────────────────┐
│ git clone/push │
└────────┬─────────┘


┌──────────────────────────────────────┐
│ Git Credential Manager detects │
│ authentication is needed │
└────────┬─────────────────────────────┘


┌──────────────────────────────────────┐
│ Browser window opens automatically │
│ → GitHub login page │
└────────┬─────────────────────────────┘


┌──────────────────────────────────────┐
│ Sign in with your GitHub account │
│ Complete 2FA if enabled │
└────────┬─────────────────────────────┘


┌──────────────────────────────────────┐
│ Authorize the OAuth app │
│ (one-time approval) │
└────────┬─────────────────────────────┘


┌──────────────────────────────────────┐
│ Credentials stored securely in │
│ Windows Credential Manager │
│ → No need to login again! │
└──────────────────────────────────────┘

Verify Git Credential Manager is Installed

# Check GCM is configured
git config --global credential.helper
# Expected output: manager or manager-core

If not configured, run:

git config --global credential.helper manager

First-Time Authentication

When you first clone or push to GitHub:

  1. Run your Git command (e.g., git clone https://github.com/...)
  2. Browser opens automatically - GitHub login page appears
  3. Sign in to GitHub - Use your GitHub username and password
  4. Complete 2FA - If you have two-factor authentication enabled, complete the challenge
  5. Authorize the app - Click "Authorize" to allow Git Credential Manager access
  6. Done! - Your credentials are now stored securely
No More Password Prompts

After the first successful authentication, Git Credential Manager stores your credentials in the Windows Credential Manager. You won't need to enter your password again unless:

  • Your GitHub password changes
  • Your access token expires
  • You explicitly clear stored credentials

Managing Stored Credentials

If you need to update or remove stored credentials:

  1. Open Windows Credential Manager:
    • Press Win + R, type control /name Microsoft.CredentialManager
    • Or search "Credential Manager" in Start menu
  2. Click Windows Credentials
  3. Find entries starting with git:https://github.com
  4. Click to expand and choose Remove or Edit

Step 4: Clone the Repository

Scenario A: Repository Already Exists on GitHub

If your team already has a repository set up on GitHub:

# Navigate to your projects folder
cd C:\Projects

# Clone the repository (browser will open for first-time auth)
git clone https://github.com/your-company/netsuite-sdf-project.git

# Enter project directory
cd netsuite-sdf-project
First-Time Clone

When you run git clone for the first time, your browser will automatically open to GitHub's login page. Sign in, authorize the app, and the clone will continue automatically.

Verify Clone Success:

# Check current branch
git branch
# Should show: * main or * develop

# See all branches (including remote)
git branch -a

# Check remote connection
git remote -v
# Should show origin with fetch and push URLs

Scenario B: Repository Doesn't Exist Yet (First Team Member)

If you're the first person setting up the project and the GitHub repository doesn't exist:

┌─────────────────────────────────────────────────────────────────────────────┐
│ CREATING NEW GITHUB REPOSITORY │
└─────────────────────────────────────────────────────────────────────────────┘

┌──────────────────────────────────────┐
│ 1. Create GitHub Repository │
│ ────────────────────────────────────│
│ • Go to github.com │
│ • Click "New repository" │
│ • Set visibility: Private │
│ • Do NOT initialize with README │
└────────┬─────────────────────────────┘


┌──────────────────────────────────────┐
│ 2. Initialize Local SDF Project │
│ ────────────────────────────────────│
│ • Create SDF project via VSCode │
│ • Or use existing project files │
└────────┬─────────────────────────────┘


┌──────────────────────────────────────┐
│ 3. Initialize Git in Local Folder │
│ ────────────────────────────────────│
│ • git init │
│ • git add . │
│ • git commit -m "Initial commit" │
└────────┬─────────────────────────────┘


┌──────────────────────────────────────┐
│ 4. Link to GitHub │
│ ────────────────────────────────────│
│ • git remote add origin <url> │
│ • git branch -M main │
│ • git push -u origin main │
│ • Browser opens for auth │
└──────────────────────────────────────┘

Step-by-Step Instructions

1. Create Empty Repository on GitHub:

  1. Go to https://github.com and sign in
  2. Click the "+" icon in top-right → "New repository"
  3. Fill in repository details:
    • Repository name: netsuite-sdf-project (or your project name)
    • Description: "NetSuite SDF project for [Team Name]"
    • Visibility: Private (recommended for company projects)
    • Do NOT check "Initialize this repository with a README"
    • Do NOT add .gitignore or license yet
  4. Click "Create repository"
  5. Copy the repository URL shown (e.g., https://github.com/your-company/netsuite-sdf-project.git)

2. Create Your Local SDF Project:

If you haven't already created an SDF project:

# Navigate to your projects folder
cd C:\Projects

# Create project directory
mkdir netsuite-sdf-project
cd netsuite-sdf-project

# Create SDF project structure via VSCode
# Open VSCode: code .
# Then: Ctrl+Shift+P → "SuiteCloud: Create Project"

Or if you already have SDF project files, navigate to that folder:

cd C:\Projects\your-existing-sdf-project

3. Initialize Git and Make First Commit:

# Initialize Git repository
git init

# Set default branch to main
git branch -M main

# Check what files will be committed
git status

# Create .gitignore if it doesn't exist
# (This prevents committing sensitive files)

Create a .gitignore file with this content:

# SuiteCloud
.suitecloud/
node_modules/
.vscode/settings.json

# Credentials (NEVER commit these!)
**/*credentials*.json
**/*token*.json
.env
.env.local

# OS Files
.DS_Store
Thumbs.db
desktop.ini

# Logs
*.log
npm-debug.log*

Continue with Git setup:

# Stage all files
git add .

# Create initial commit
git commit -m "Initial commit: SDF project setup

- Added project structure
- Added manifest.xml
- Added suitecloud.config.js
- Added .gitignore"

# Verify commit was created
git log --oneline

4. Link Local Repository to GitHub:

# Add GitHub as remote (replace with your repository URL)
git remote add origin https://github.com/your-company/netsuite-sdf-project.git

# Verify remote was added
git remote -v

# Push to GitHub (browser will open for authentication)
git push -u origin main
Browser Authentication

When you run git push for the first time, your browser will automatically open for GitHub login. After authenticating, your push will complete automatically.

5. Set Up Default Branch Protection (Optional but Recommended):

After pushing, go to your GitHub repository:

  1. Click SettingsBranches
  2. Under "Branch protection rules", click "Add rule"
  3. Branch name pattern: main
  4. Enable these options:
    • ✅ Require a pull request before merging
    • ✅ Require approvals (set to 1)
    • ✅ Require status checks to pass before merging
  5. Click "Create" or "Save changes"

6. Create Development Branch:

# Create and switch to develop branch
git checkout -b develop

# Push develop branch to GitHub
git push -u origin develop

# Verify both branches exist
git branch -a

7. Invite Team Members:

  1. Go to repository on GitHub
  2. Click SettingsCollaborators
  3. Click "Add people"
  4. Enter team members' GitHub usernames or emails
  5. Set appropriate permission level (Write or Admin)
Setup Complete!

Your repository is now set up on GitHub. Team members can now follow Scenario A to clone the repository and start contributing.


Step 5: Set Up SDF in VSCode

Open Project in VSCode

# Open project folder in VSCode
code .

Or: File → Open Folder → Select your project folder

Configure NetSuite Account

  1. Press Ctrl+Shift+P
  2. Type "SuiteCloud: Set Up Account"
  3. Select "Set up a new account"
  4. Follow the authentication flow:
┌─────────────────────────────────────────────────────┐
│ SuiteCloud Account Setup │
├─────────────────────────────────────────────────────┤
│ │
│ 1. Enter Account ID: TSTDRV1234567 (Sandbox) │
│ │
│ 2. Select authentication method: │
│ → Token-Based Authentication (Recommended) │
│ │
│ 3. Enter Token ID and Token Secret │
│ (Get these from NetSuite administrator) │
│ │
│ 4. Save account with a name: "Sandbox" │
│ │
└─────────────────────────────────────────────────────┘
Getting NetSuite Tokens

Ask your NetSuite administrator to create:

  1. Integration record for SuiteCloud
  2. Token-based authentication credentials for your user

They will provide you with:

  • Account ID
  • Token ID
  • Token Secret

Verify Project Configuration

Check that these files exist in your project:

📁 netsuite-sdf-project/
├── 📄 suitecloud.config.js ✓ Must exist
├── 📄 manifest.xml ✓ Must exist
├── 📁 src/
│ ├── 📁 FileCabinet/ ✓ Scripts location
│ └── 📁 Objects/ ✓ Custom objects
└── 📄 package.json (optional)

Step 6: Verify Your Setup

Run these commands to confirm everything is working:

# 1. Check Git status
git status
# Expected: On branch main/develop, nothing to commit

# 2. Check remote branches
git branch -a
# Should show main, develop, and any feature branches

# 3. Switch to develop branch
git checkout develop
git pull origin develop

# 4. Validate SDF project
Ctrl+Shift+P → SuiteCloud: Validate Project
# Should complete without errors

Your First Contribution

Now you're ready to create your first feature or fix a bug!

Quick Start: Create Your First Feature

# 1. Make sure you're on develop with latest changes
git checkout develop
git pull origin develop

# 2. Create your feature branch
git checkout -b feature/yourname-NS001-first-task

# 3. Make your changes in VSCode
# ... edit files ...

# 4. Stage and commit
git add .
git commit -m "[NS-001] Add my first script

- Created sample_script.js
- Added basic functionality"

# 5. Push to GitHub
git push -u origin feature/yourname-NS001-first-task

# 6. Create Pull Request on GitHub
# → Go to repository → Create PR → Request review

What's Next?

After completing your first contribution:

  1. Read the Git Workflows guide to understand feature, bugfix, and hotfix processes
  2. Familiarize yourself with Git Commands Reference
  3. Review the Troubleshooting guide for common issues

Onboarding Checklist

Complete this checklist during your first week:

DayTaskStatus
1Install Git, Node.js, VSCode
1Configure Git identity
1Get GitHub repository access
1Clone repository successfully
2Set up SuiteCloud in VSCode
2Connect to Sandbox account
2Validate SDF project
3Create first test branch
3Make test commit
3Create test Pull Request
3Get PR reviewed by mentor
5Complete first real task

Common Issues for New Developers

"Permission denied" when pushing

# Check your remote URL
git remote -v

# Ensure credential helper is configured
git config --global credential.helper manager

# Clear cached credentials and re-authenticate
# Open Windows Credential Manager → Remove git:https://github.com entries
# Then try pushing again - browser will open for login
git push origin your-branch

Browser doesn't open for authentication

# Verify Git Credential Manager is installed
git credential-manager --version

# If not found, update Git for Windows to latest version
# Download from: https://git-scm.com/download/win

# Force browser-based authentication
git config --global credential.guiPrompt true

"Repository not found"

  • Verify you accepted the GitHub invitation
  • Check repository URL spelling
  • Confirm you have at least "Read" access

SuiteCloud authentication fails

  1. Verify your Token ID and Secret are correct
  2. Check that the token is not expired in NetSuite
  3. Ensure your user role has SuiteCloud permissions
  4. Try re-running SuiteCloud: Set Up Account

"Detached HEAD" state

# Return to a branch
git checkout develop

# Or create a new branch from current state
git checkout -b feature/my-new-branch

Getting Help

Issue TypeContact
GitHub access problemsIT Lead
NetSuite/SDF issuesNetSuite Administrator
Git workflow questionsYour team mentor
Code review helpSenior developer

Summary

After completing this onboarding:

  • ✅ You have Git, Node.js, and VSCode installed
  • ✅ Your Git identity is configured
  • ✅ You have access to the GitHub repository
  • ✅ The project is cloned to your local machine
  • ✅ SuiteCloud is connected to your Sandbox account
  • ✅ You're ready to create branches and contribute!

Welcome aboard! 🎉