setup-node

Sets up Node.js/TypeScript development environment with npm/yarn, dependencies, ESLint, Prettier, testing (Jest/Vitest), and TypeScript type checking. Ensures consistent tooling configuration. Use when starting work on Node.js/TypeScript projects, after cloning repositories, setting up CI/CD, or troubleshooting environment issues.

16 stars

Best use case

setup-node is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Sets up Node.js/TypeScript development environment with npm/yarn, dependencies, ESLint, Prettier, testing (Jest/Vitest), and TypeScript type checking. Ensures consistent tooling configuration. Use when starting work on Node.js/TypeScript projects, after cloning repositories, setting up CI/CD, or troubleshooting environment issues.

Teams using setup-node should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/setup-node/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/setup-node/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/setup-node/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How setup-node Compares

Feature / Agentsetup-nodeStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Sets up Node.js/TypeScript development environment with npm/yarn, dependencies, ESLint, Prettier, testing (Jest/Vitest), and TypeScript type checking. Ensures consistent tooling configuration. Use when starting work on Node.js/TypeScript projects, after cloning repositories, setting up CI/CD, or troubleshooting environment issues.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Node.js Development Setup Skill

## Purpose

Quickly set up and verify a Node.js/TypeScript development environment with all necessary tooling.

## Workflow

### Quick Setup Checklist

1. ✅ Verify Node.js 18+ and npm 9+
2. ✅ Detect package manager (npm/yarn/pnpm)
3. ✅ Install dependencies
4. ✅ Verify package.json scripts
5. ✅ Setup ESLint
6. ✅ Setup Prettier
7. ✅ Setup TypeScript (if applicable)
8. ✅ Setup Testing (Jest/Vitest)
9. ✅ Setup Git hooks (Husky + lint-staged)
10. ✅ Verify build
11. ✅ Run quality checks
12. ✅ Test execution

**For detailed step-by-step instructions with commands and troubleshooting, see `references/DETAILED-WORKFLOW.md`.**

## Common Node.js Commands Reference

### Package Management

```bash
npm install <package>         # Install package
npm install -D <package>      # Install as dev dependency
npm install -g <package>      # Install globally
npm uninstall <package>       # Remove package
npm update                    # Update all packages
npm outdated                  # Check for outdated packages
npm audit                     # Security audit
npm audit fix                 # Auto-fix vulnerabilities
```

### Project Commands

```bash
npm run dev                   # Development server
npm run build                 # Production build
npm test                      # Run tests
npm run lint                  # Lint code
npm run format                # Format code
```

### Yarn Equivalents

```bash
yarn add <package>            # Install package
yarn add -D <package>         # Install as dev dependency
yarn remove <package>         # Remove package
yarn upgrade                  # Update all packages
yarn audit                    # Security audit
```

---

## Troubleshooting

### Issue: "npm: command not found"

**Solution**: Node.js not installed

```bash
# macOS
brew install node

# Or use nvm (recommended)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install node
```

### Issue: "Cannot find module 'X'"

**Solution**: Dependencies not installed

```bash
rm -rf node_modules package-lock.json
npm install
```

### Issue: "EACCES: permission denied"

**Solution**: Global npm permissions issue

```bash
# Fix npm permissions (recommended)
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH

# Add to ~/.bashrc or ~/.zshrc
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
```

### Issue: "TypeScript errors in node_modules"

**Solution**: Skip library checking

```json
// tsconfig.json
{
  "compilerOptions": {
    "skipLibCheck": true
  }
}
```

### Issue: "ESLint and Prettier conflicts"

**Solution**: Install eslint-config-prettier

```bash
npm install --save-dev eslint-config-prettier
```

Add to .eslintrc.js:

```javascript
extends: [
  // ... other configs
  'prettier', // Must be last
],
```

---

## Best Practices

1. **Use Node version manager (nvm)** - Easily switch Node versions
2. **Lock dependency versions** - Commit package-lock.json
3. **Separate dev dependencies** - Use --save-dev for tooling
4. **Enable TypeScript strict mode** - Catch more errors
5. **Configure ESLint + Prettier** - Consistent code style
6. **Use git hooks** - Automate checks with Husky
7. **Target 90%+ coverage** - Comprehensive testing
8. **Regular security audits** - Run `npm audit` frequently

---

## Integration with Other Skills

This skill may be invoked by:

- **`quality-check`** - When checking Node.js code quality
- **`run-tests`** - When running Node.js tests

Related Skills

setup-tanstack-start

16
from diegosouzapw/awesome-omni-skill

Bootstrap a new web project with TanStack Start, React, Tailwind CSS v4, and shadcn/ui on top of the base tooling stack. Consult this skill whenever creating a web app, setting up a frontend project, starting a React application, or initializing anything involving TanStack Start, TanStack Router, TanStack Query, Tailwind, shadcn, or Vite.

setup-project

16
from diegosouzapw/awesome-omni-skill

Setup Claude Code Configuration with full RALPH autonomous development integration

setup-earl

16
from diegosouzapw/awesome-omni-skill

Installs Earl, configures MCP integration for your agent platform, writes CLAUDE.md instructions, and routes to template creation or migration. Use when setting up Earl for the first time, when a new developer is onboarding to a project that uses Earl, or when Earl needs to be connected to an agent platform.

setup-claude-code

16
from diegosouzapw/awesome-omni-skill

Claude Code 프로젝트 설정 생성

setup-cdk-templates

16
from diegosouzapw/awesome-omni-skill

Use when creating CLAUDE.md files or .claude/ directories - detects project type, generates appropriate templates, and scaffolds Claude configuration with commands and hooks

setup-api-key

16
from diegosouzapw/awesome-omni-skill

Guide users through obtaining and configuring a Vapi API key. Use when the user needs to set up Vapi, when API calls fail due to missing keys, or when the user mentions needing access to Vapi's voice AI platform.

sentry-setup-tracing

16
from diegosouzapw/awesome-omni-skill

Setup Sentry Tracing (Performance Monitoring) in any project. Use this when asked to add performance monitoring, enable tracing, track transactions/spans, or instrument application performance. Supports JavaScript, TypeScript, Python, Ruby, React, Next.js, and Node.js.

sentry-setup-metrics

16
from diegosouzapw/awesome-omni-skill

Setup Sentry Metrics in any project. Use this when asked to add Sentry metrics, track custom metrics, setup counters/gauges/distributions, or instrument application performance metrics. Supports JavaScript, TypeScript, Python, React, Next.js, and Node.js.

sentry-setup-logging

16
from diegosouzapw/awesome-omni-skill

Setup Sentry Logging in any project. Use this when asked to add Sentry logs, enable structured logging, setup console log capture, or integrate logging with Sentry. Supports JavaScript, TypeScript, Python, Ruby, React, Next.js, and other frameworks.

sentry-python-setup

16
from diegosouzapw/awesome-omni-skill

Setup Sentry in Python apps. Use when asked to add Sentry to Python, install sentry-sdk, or configure error monitoring for Python applications, Django, Flask, FastAPI.

react-flow-node-ts

16
from diegosouzapw/awesome-omni-skill

Create React Flow node components with TypeScript types, handles, and Zustand integration. Use when building custom nodes for React Flow canvas, creating visual workflow editors, or implementing no...

rdc-setup

16
from diegosouzapw/awesome-omni-skill

Install and set up @data-client/react or @data-client/vue in a project. Detects project type (NextJS, Expo, React Native, Vue, plain React) and protocol (REST, GraphQL, custom), then hands off to protocol-specific setup skills.