S

system-environment-setup

by @supercent-iov
4.5(420)

このスキルはシステムと環境設定に使用され、新規プロジェクトの初期環境設定、新規開発者のオンボーディング標準化、マルチサービス環境管理、ローカル開発とCI/CD統合を含みます。

dockervirtual-machinesconfiguration-managementinfrastructure-as-codeenvironment-variablesGitHub
インストール方法
npx skills add supercent-io/skills-template --skill system-environment-setup
compare_arrows

Before / After 効果比較

1
使用前

新規プロジェクトの環境設定は時間と労力がかかり、開発者ごとに環境の差異が大きく、「私のマシンでは動く」という問題が頻発し、CI/CDの統合も困難でした。

使用後

標準化された環境設定プロセスが実現され、新メンバーは迅速に開発を開始でき、マルチサービス環境は秩序だって管理され、ローカル開発とCI/CDがシームレスに連携し、チームのコラボレーション効率が大幅に向上しました。

SKILL.md

system-environment-setup

System & Environment Setup When to use this skill New project: Initial environment setup Team onboarding: Standardizing new developer environments Multiple services: Local execution of microservices Production replication: Testing production environment locally Instructions Step 1: Docker Compose Configuration docker-compose.yml: version: '3.8' services: # Web Application web: build: context: . dockerfile: Dockerfile ports: - "3000:3000" environment: - NODE_ENV=development - DATABASE_URL=postgresql://postgres:password@db:5432/myapp - REDIS_URL=redis://redis:6379 volumes: - .:/app - /app/node_modules depends_on: - db - redis command: npm run dev # PostgreSQL Database db: image: postgres:15-alpine environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: password POSTGRES_DB: myapp ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data - ./init.sql:/docker-entrypoint-initdb.d/init.sql # Redis Cache redis: image: redis:7-alpine ports: - "6379:6379" volumes: - redis_data:/data # Nginx (Reverse Proxy) nginx: image: nginx:alpine ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro depends_on: - web volumes: postgres_data: redis_data: Usage: # Start all services docker-compose up -d # View logs docker-compose logs -f web # Restart specific service only docker-compose restart web # Stop and remove docker-compose down # Remove including volumes docker-compose down -v Step 2: Environment Variable Management .env.example: # Application NODE_ENV=development PORT=3000 APP_URL=http://localhost:3000 # Database DATABASE_URL=postgresql://postgres:password@localhost:5432/myapp DATABASE_POOL_SIZE=10 # Redis REDIS_URL=redis://localhost:6379 # JWT ACCESS_TOKEN_SECRET=change-me-in-production-min-32-characters REFRESH_TOKEN_SECRET=change-me-in-production-min-32-characters TOKEN_EXPIRY=15m # Email SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=your-email@gmail.com SMTP_PASSWORD=your-app-password # External APIs STRIPE_SECRET_KEY=sk_test_xxx STRIPE_PUBLISHABLE_KEY=pk_test_xxx AWS_ACCESS_KEY_ID=AKIAXXXXXXX AWS_SECRET_ACCESS_KEY=xxxxxxxx AWS_REGION=us-east-1 .env (local only, add to gitignore): # .gitignore .env .env.local .env..local Loading environment variables (Node.js): import dotenv from 'dotenv'; import path from 'path'; // Load .env file dotenv.config(); // Type-safe environment variables interface Env { NODE_ENV: 'development' | 'production' | 'test'; PORT: number; DATABASE_URL: string; REDIS_URL: string; ACCESS_TOKEN_SECRET: string; } function loadEnv(): Env { const required = ['DATABASE_URL', 'ACCESS_TOKEN_SECRET', 'REDIS_URL']; for (const key of required) { if (!process.env[key]) { throw new Error(Missing required environment variable: ${key}); } } return { NODE_ENV: (process.env.NODE_ENV as any) || 'development', PORT: parseInt(process.env.PORT || '3000'), DATABASE_URL: process.env.DATABASE_URL!, REDIS_URL: process.env.REDIS_URL!, ACCESS_TOKEN_SECRET: process.env.ACCESS_TOKEN_SECRET! }; } export const env = loadEnv(); Step 3: Dev Container (VS Code) .devcontainer/devcontainer.json: { "name": "Node.js & PostgreSQL", "dockerComposeFile": "../docker-compose.yml", "service": "web", "workspaceFolder": "/app", "customizations": { "vscode": { "extensions": [ "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", "ms-azuretools.vscode-docker", "prisma.prisma" ], "settings": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode", "eslint.validate": ["javascript", "typescript"] } } }, "forwardPorts": [3000, 5432, 6379], "postCreateCommand": "npm install", "remoteUser": "node" } Step 4: Makefile (Convenience Commands) Makefile: .PHONY: help install dev build test clean docker-up docker-down migrate seed help: ## Show this help @grep -E '^[a-zA-Z_-]+:.?## .$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' install: ## Install dependencies npm install dev: ## Start development server npm run dev build: ## Build for production npm run build test: ## Run tests npm test test-watch: ## Run tests in watch mode npm test -- --watch lint: ## Run linter npm run lint lint-fix: ## Fix linting issues npm run lint -- --fix docker-up: ## Start Docker services docker-compose up -d docker-down: ## Stop Docker services docker-compose down docker-logs: ## View Docker logs docker-compose logs -f migrate: ## Run database migrations npm run migrate migrate-create: ## Create new migration @read -p "Migration name: " name; \ npm run migrate:create -- $$name seed: ## Seed database npm run seed clean: ## Clean build artifacts rm -rf dist node_modules coverage reset: clean install ## Reset project (clean + install) Usage: make help # List of commands make install # Install dependencies make dev # Start dev server make docker-up # Start Docker services Step 5: Infrastructure as Code (Terraform) main.tf (AWS example): terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 5.0" } } backend "s3" { bucket = "myapp-terraform-state" key = "production/terraform.tfstate" region = "us-east-1" } } provider "aws" { region = var.aws_region } # VPC resource "aws_vpc" "main" { cidr_block = "10.0.0.0/16" tags = { Name = "${var.project_name}-vpc" Environment = var.environment } } # RDS (PostgreSQL) resource "aws_db_instance" "postgres" { identifier = "${var.project_name}-db" engine = "postgres" engine_version = "15.4" instance_class = "db.t3.micro" allocated_storage = 20 storage_encrypted = true db_name = var.db_name username = var.db_username password = var.db_password vpc_security_group_ids = [aws_security_group.db.id] db_subnet_group_name = aws_db_subnet_group.main.name backup_retention_period = 7 skip_final_snapshot = false final_snapshot_identifier = "${var.project_name}-final-snapshot" tags = { Name = "${var.project_name}-db" Environment = var.environment } } # ECS (Container Service) resource "aws_ecs_cluster" "main" { name = "${var.project_name}-cluster" setting { name = "containerInsights" value = "enabled" } } # Load Balancer resource "aws_lb" "main" { name = "${var.project_name}-alb" internal = false load_balancer_type = "application" security_groups = [aws_security_group.alb.id] subnets = aws_subnet.public[*].id } variables.tf: variable "project_name" { description = "Project name" type = string default = "myapp" } variable "environment" { description = "Environment (dev, staging, production)" type = string } variable "aws_region" { description = "AWS region" type = string default = "us-east-1" } variable "db_username" { description = "Database username" type = string sensitive = true } variable "db_password" { description = "Database password" type = string sensitive = true } Output format Project Structure project/ ├── .devcontainer/ │ └── devcontainer.json ├── docker-compose.yml ├── Dockerfile ├── Makefile ├── .env.example ├── .gitignore ├── terraform/ │ ├── main.tf │ ├── variables.tf │ └── outputs.tf └── README.md Constraints Mandatory Rules (MUST) Provide .env.example: List of required environment variables .gitignore: Never commit .env files README.md: Document installation and running instructions Prohibited (MUST NOT) No committing secrets: Never commit .env, credentials files No hardcoding: All configuration via environment variables Best practices Docker Compose: Use Docker Compose for local development Volume Mount: Instantly reflects code changes Health Checks: Verify service readiness References Docker Compose Dev Containers Terraform Metadata Version Current Version: 1.0.0 Last Updated: 2025-01-01 Compatible Platforms: Claude, ChatGPT, Gemini Related Skills deployment environment-setup Tags #environment-setup #Docker-Compose #dev-environment #IaC #Terraform #infrastructure Examples Example 1: Basic usage Example 2: Advanced usageWeekly Installs10.3KRepositorysupercent-io/sk…templateGitHub Stars53First SeenJan 24, 2026Security AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled oncodex10.2Kgemini-cli10.2Kopencode10.2Kgithub-copilot10.2Kcursor10.2Kamp10.2K

ユーザーレビュー (0)

レビューを書く

効果
使いやすさ
ドキュメント
互換性

レビューなし

統計データ

インストール数10.5K
評価4.5 / 5.0
バージョン
更新日2026年5月17日
比較事例1 件

ユーザー評価

4.5(420)
5
50%
4
50%
3
1%
2
0%
1
0%

この Skill を評価

0.0

対応プラットフォーム

🔧Claude Code
🔧OpenClaw
🔧OpenCode
🔧Codex
🔧Gemini CLI
🔧GitHub Copilot
🔧Amp
🔧Kimi CLI

タイムライン

作成2026年3月17日
最終更新2026年5月17日