Prerequisites
Ensure your development environment has the required tools to build and run OneApp applications.
Quick Setup
Already have Node.js 22+ and pnpm 10+? Skip to Installation →
Why these tools?
Setting up a modern monorepo requires specific tooling:
- Wrong Node.js version — Apps fail with cryptic errors due to missing features
- npm/yarn limitations — Slow installs, phantom dependencies, and poor monorepo support
- Missing Git — Can't clone the repository or collaborate with your team
- Manual verification — Unsure if your environment is correctly configured
OneApp requires Node.js 22+ (for modern JavaScript features), pnpm 10+ (for fast, strict monorepo management), and Git (for version control) — ensuring a consistent development experience across your team.
Required software
Node.js 22+
OneApp requires Node.js version 22 or higher for:
- Native Fetch API — Built-in
fetch()for server-side requests - Top-level await — Use
awaitoutside async functions - Performance — Faster startup and better memory management
- ECMAScript features — Latest JavaScript syntax support
# Check your Node.js version
node --version
# Should output: v22.x.x or higherInstalling Node.js
Use nvm (Node Version Manager) to install and switch between Node.js versions:
# Install nvm (macOS/Linux)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Install Node.js 22
nvm install 22
nvm use 22
# Set as default
nvm alias default 22Windows: Use nvm-windows
pnpm 10+
We use pnpm instead of npm or yarn for significant benefits:
- 3x faster installs — Content-addressable storage
- Disk space savings — Hard links instead of file copies
- Strict dependencies — No phantom dependencies
- Native monorepo support — Built-in workspace features
# Check your pnpm version
pnpm --version
# Should output: 10.x.x or higherInstalling pnpm (Recommended: Corepack)
Use Corepack (included with Node.js 16.9+) for automatic pnpm version management:
# Enable Corepack
corepack enable
# Prepare pnpm
corepack prepare pnpm@latest --activate
# Verify installation
pnpm --versionAlternative: Install globally via npm:
npm install -g pnpm@latestGit
Git is required for:
- Cloning the repository — Download the codebase
- Version control — Track changes and collaborate
- Branch management — Create feature branches
- CI/CD integration — Automated workflows
# Check your Git version
git --version
# Should output: git version 2.x.xInstalling Git
- macOS: Install Xcode Command Line Tools:
xcode-select --install - Linux:
sudo apt install git(Ubuntu/Debian) orsudo yum install git(CentOS/RHEL) - Windows: Download from git-scm.com
Recommended tools
GitHub CLI (gh)
The GitHub CLI simplifies PR management and API interactions:
# macOS
brew install gh
# Ubuntu/Debian
sudo apt install gh
# Windows
winget install GitHub.cli
# Authenticate
gh auth loginBenefits:
- Create PRs from the command line:
gh pr create - View PR status:
gh pr view - Run GitHub Actions:
gh workflow run
VS Code Extensions
For the best development experience, install:
| Extension | Purpose | ID |
|---|---|---|
| ESLint | Real-time linting | dbaeumer.vscode-eslint |
| Prettier | Code formatting | esbenp.prettier-vscode |
| Tailwind CSS IntelliSense | Tailwind autocomplete | bradlc.vscode-tailwindcss |
| Error Lens | Inline error display | usernamehw.errorlens |
| GitLens | Git supercharged | eamodio.gitlens |
| TypeScript Error Translator | Better TS error messages | mattpocock.ts-error-translator |
Install all at once:
code --install-extension dbaeumer.vscode-eslint \
--install-extension esbenp.prettier-vscode \
--install-extension bradlc.vscode-tailwindcss \
--install-extension usernamehw.errorlens \
--install-extension eamodio.gitlens \
--install-extension mattpocock.ts-error-translatorEnvironment verification
Run this script to verify all prerequisites:
echo "Node.js: $(node --version)"
echo "pnpm: $(pnpm --version)"
echo "Git: $(git --version)"
echo "GitHub CLI: $(gh --version 2>/dev/null || echo 'Not installed (optional)')"Expected output:
Node.js: v22.x.x
pnpm: 10.x.x
Git: git version 2.x.x
GitHub CLI: gh version 2.x.x (or "Not installed (optional)")✅ All required tools are installed — proceed to Installation →
❌ Missing tools — install the required software above