Skip to content

Latest commit

 

History

History
146 lines (104 loc) · 4.17 KB

File metadata and controls

146 lines (104 loc) · 4.17 KB

Getting Started

This guide will help you set up your development environment and make your first contribution to the Node.js website.

Table of Contents

Prerequisites

  • Node.js (latest LTS version recommended)
  • pnpm package manager
  • Git
  • A GitHub account

Setting Up Your Development Environment

  1. Fork and Clone the Repository

    Click the fork button in the top right to clone the Node.js Website Repository

    git clone git@github.com:<YOUR_GITHUB_USERNAME>/nodejs.org.git # SSH
    git clone https://github.com/<YOUR_GITHUB_USERNAME>/nodejs.org.git # HTTPS
    gh repo clone <YOUR_GITHUB_USERNAME>/nodejs.org # GitHub CLI
  2. Navigate to the Project Directory

    cd nodejs.org
  3. Set Up Remote Tracking

    git remote add upstream git@github.com:nodejs/nodejs.org.git # SSH
    git remote add upstream https://github.com/nodejs/nodejs.org.git # HTTPS
    gh repo sync nodejs/nodejs.org # GitHub CLI
  4. Install Dependencies

    pnpm install --frozen-lockfile
  5. Start the Development Server

    pnpm dev # starts a development environment at http://localhost:3000/

Making Your First Contribution

  1. Create a New Branch

    git checkout -b name-of-your-branch
  2. Make Your Changes

  3. Test Your Changes

    pnpm format # runs linting and formatting
    pnpm test # runs all tests
  4. Keep Your Branch Updated

    git fetch upstream
    git merge upstream/main
  5. Commit and Push Your Changes

    git add .
    git commit -m "describe your changes"
    git push -u origin name-of-your-branch

    [!TIP] Follow our commit guidelines for commit message format.

  6. Create a Pull Request

Available CLI Commands

Development Commands

  • pnpm dev - Start local development server
  • pnpm build - Build for production (Vercel deployments)
  • pnpm deploy - Build for export (Legacy server)
  • pnpm start - Start server with built content

Code Quality Commands

  • pnpm lint - Run linter for all files
  • pnpm lint:fix - Attempt to fix linting errors
  • pnpm prettier - Run prettier for JavaScript files
  • pnpm prettier:fix - Attempt to fix style errors
  • pnpm format - Format and fix lints for entire codebase

Testing Commands

  • pnpm test - Run all tests locally
  • pnpm test:unit - Run unit tests only
  • pnpm test:ci - Run tests with CI output format

Other Commands

  • pnpm scripts:release-post -- --version=vXX.X.X --force - Generate release post
  • pnpm storybook - Start Storybook development server
  • pnpm storybook:build - Build Storybook for publishing

Next Steps

Getting Help