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.
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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/setup-node/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How setup-node Compares
| Feature / Agent | setup-node | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/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 testsRelated Skills
setup-tanstack-start
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
Setup Claude Code Configuration with full RALPH autonomous development integration
setup-earl
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
Claude Code 프로젝트 설정 생성
setup-cdk-templates
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
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
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
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
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
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
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
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.