tooling
Package management, project setup, and development tooling standards. Use this when users need guidance on using pnpm for package management, setting up new projects with automated scripts, configuring environment variables with dotenv, or initializing development tooling for React and React Native projects.
When & Why to Use This Skill
This Claude skill automates and standardizes the development environment setup, focusing on efficient package management with pnpm and secure configuration using dotenv. It ensures projects adhere to modern engineering standards, including Node.js 22 LTS, TypeScript, and automated initialization scripts for React and React Native ecosystems to boost developer productivity and maintain code quality.
Use Cases
- Standardizing project initialization: Automatically set up new React or React Native projects with pre-configured TypeScript, Biome, and Jest environments using domain-driven design principles.
- Optimizing package management: Transitioning workflows to pnpm to achieve faster dependency installation, strict resolution, and improved disk space efficiency compared to npm or yarn.
- Securing environment configurations: Implementing strict dotenv practices and validation (e.g., via Zod) to ensure environment variables are handled safely and never committed to version control.
- Automating developer onboarding: Utilizing standardized setup scripts to minimize manual configuration time and ensure environment consistency across different team members.
- Enforcing development standards: Integrating git hooks with Lefthook and CI/CD templates to maintain high code quality through automated linting and testing checks.
| name | tooling |
|---|---|
| description | Package management, project setup, and development tooling standards. Use this when users need guidance on using pnpm for package management, setting up new projects with automated scripts, configuring environment variables with dotenv, or initializing development tooling for React and React Native projects. |
| license | MIT - Complete terms in LICENSE.txt |
Tooling Skills & Best Practices
Package management, project setup, and development tooling standards.
Table of Contents
Package Management
pnpm
- MUST use pnpm (version >= 10.0.0) as the package manager for all projects - this is a strict requirement
- Never use npm or yarn
- pnpm provides faster installs and better disk space efficiency
- Use
pnpm installinstead ofnpm install - Use
pnpm add <package>to add dependencies - Use
pnpm run <script>to run scripts - Leverage pnpm's workspace feature for monorepos
Node.js Version Requirement:
- MUST use Node.js 22.x LTS
Benefits:
- Faster installation times
- Efficient disk space usage (hard links)
- Strict dependency resolution
- Better monorepo support
Project Setup
Automated Setup
Use the provided setup.sh script to automatically configure your project:
chmod +x setup.sh
./setup.sh
The script will handle:
- Prerequisites checking (Node.js, pnpm)
- Installing dependencies and tools
- Setting up git hooks with Lefthook
- Creating configuration files from templates
- Setting up project structure (domain-driven design)
- Initializing TypeScript, Biome, and Jest
See SETUP_SCRIPT.md for detailed documentation.
Initial Setup Checklist
When starting a new project (or if not using the automated script):
- ✅ Initialize project with appropriate framework (Next.js, Expo SDK 54.x, etc.)
- ✅ Set up TypeScript (latest stable, 5.x) with strict configuration
- ✅ Configure Biome (latest stable) for linting and formatting
- ✅ Set up Jest (latest stable) for testing
- ✅ Organize project structure using Domain-Driven Design principles (guideline)
- ✅ Initialize pnpm (>= 10.0.0) and configure package.json
- ✅ Configure git hooks with pre-commit and pre-push hooks (strict requirements)
- ✅ Create
.gitignorewith standard exclusions - ✅ Set up GitHub Actions workflow for PR checks (strict requirements)
- ✅ Configure SonarQube project (if applicable)
- ✅ Create PR template in
.github/pull_request_template.md - ✅ Set up Docker and Docker Compose
- ✅ Configure environment variables with dotenv (
.env.example) (strict requirements)
Environment Variables
Strict Requirements:
- MUST use dotenv for environment variable management - this is a strict requirement
- MUST always include
.env.examplewith required variables (no secrets) - this is a strict requirement - MUST NEVER commit
.envfiles to version control - this is a strict requirement - MUST validate required environment variables at application startup - this is a strict requirement
- Document all environment variables in README
- Use validation libraries (e.g.,
zod,joi) to ensure required variables are present - Load environment variables using
dotenvat application startup - Use different
.envfiles for different environments (.env.development,.env.production, etc.)
Additional Resources
Notes
- This document should be reviewed and updated regularly as best practices evolve
- Team-specific additions and modifications are encouraged
- When in doubt, refer to official documentation and community standards