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:
| Item | Status |
|---|---|
| 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
- Download from https://git-scm.com/download/win
- Run installer with default options
- Verify installation:
git --version
# Expected: git version 2.x.x
Node.js (Required for SDF CLI)
- Download LTS version from https://nodejs.org/
- Run installer with default options
- Verify installation:
node --version
# Expected: v18.x.x or higher
npm --version
# Expected: 9.x.x or higher
VSCode + SuiteCloud Extension
- Download VSCode from https://code.visualstudio.com/
- 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
Optional but Recommended Settings
# 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
- Check your email for GitHub invitation
- Click "Accept invitation"
- 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:
- Run your Git command (e.g.,
git clone https://github.com/...) - Browser opens automatically - GitHub login page appears
- Sign in to GitHub - Use your GitHub username and password
- Complete 2FA - If you have two-factor authentication enabled, complete the challenge
- Authorize the app - Click "Authorize" to allow Git Credential Manager access
- Done! - Your credentials are now stored securely
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:
- Open Windows Credential Manager:
- Press
Win + R, typecontrol /name Microsoft.CredentialManager - Or search "Credential Manager" in Start menu
- Press
- Click Windows Credentials
- Find entries starting with
git:https://github.com - 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
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:
- Go to https://github.com and sign in
- Click the "+" icon in top-right → "New repository"
- 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
- Repository name:
- Click "Create repository"
- 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
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:
- Click Settings → Branches
- Under "Branch protection rules", click "Add rule"
- Branch name pattern:
main - Enable these options:
- ✅ Require a pull request before merging
- ✅ Require approvals (set to 1)
- ✅ Require status checks to pass before merging
- 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:
- Go to repository on GitHub
- Click Settings → Collaborators
- Click "Add people"
- Enter team members' GitHub usernames or emails
- Set appropriate permission level (Write or Admin)
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
- Press
Ctrl+Shift+P - Type "SuiteCloud: Set Up Account"
- Select "Set up a new account"
- 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" │
│ │
└─────────────────────────────────────────────────────┘
Ask your NetSuite administrator to create:
- Integration record for SuiteCloud
- 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:
- Read the Git Workflows guide to understand feature, bugfix, and hotfix processes
- Familiarize yourself with Git Commands Reference
- Review the Troubleshooting guide for common issues
Onboarding Checklist
Complete this checklist during your first week:
| Day | Task | Status |
|---|---|---|
| 1 | Install Git, Node.js, VSCode | ☐ |
| 1 | Configure Git identity | ☐ |
| 1 | Get GitHub repository access | ☐ |
| 1 | Clone repository successfully | ☐ |
| 2 | Set up SuiteCloud in VSCode | ☐ |
| 2 | Connect to Sandbox account | ☐ |
| 2 | Validate SDF project | ☐ |
| 3 | Create first test branch | ☐ |
| 3 | Make test commit | ☐ |
| 3 | Create test Pull Request | ☐ |
| 3 | Get PR reviewed by mentor | ☐ |
| 5 | Complete 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
- Verify your Token ID and Secret are correct
- Check that the token is not expired in NetSuite
- Ensure your user role has SuiteCloud permissions
- 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 Type | Contact |
|---|---|
| GitHub access problems | IT Lead |
| NetSuite/SDF issues | NetSuite Administrator |
| Git workflow questions | Your team mentor |
| Code review help | Senior 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! 🎉