AGENT SKILL

ln-731-docker-generator

Generates Docker and docker-compose configuration for multi-container development

License 许可
MIT
最近更新
2026-05-02
Stars
★ 3
Forks
1

01 前言 Front Matter

name
ln-731-docker-generator
license
MIT
description
Generates Docker and docker-compose configuration for multi-container development

02 资源文件 6

03 SKILL.md 正文

Paths: File paths (shared/, references/, ../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.

ln-731-docker-generator

Type: L3 Worker Category: 7XX Project Bootstrap Parent: ln-730-devops-setup

Generates production-ready Docker configuration for containerized development.


Purpose & Scope

Creates Docker infrastructure for local development and production:

  • Does: Generate Dockerfiles, docker-compose, .dockerignore, nginx config
  • Does NOT: Build images, start containers, manage deployments

Inputs

Input Source Description
Stack Type ln-730 coordinator frontend, backend-dotnet, backend-python
Versions Auto-detected Node.js, .NET, Python versions
Project Name Directory name Used for container naming
Ports Defaults or detected Frontend: 3000, Backend: 5000/8000, DB: 5432

Outputs

File Purpose Template
Dockerfile.frontend Frontend build & serve dockerfile_frontend.template
Dockerfile.backend Backend build & run dockerfile_backend_dotnet.template or dockerfile_backend_python.template
docker-compose.yml Service orchestration docker_compose.template
.dockerignore Build context exclusions dockerignore.template
nginx.conf Frontend proxy config nginx.template

Workflow

Phase 1: Input Validation

Validate received configuration from coordinator:

  • Check stack type is supported (frontend, backend-dotnet, backend-python)
  • Verify versions are valid (Node 18+, .NET 8+, Python 3.10+)
  • Confirm project directory exists

Output: Validated configuration or error

Phase 2: Template Selection

Select appropriate templates based on stack:

Stack Templates Used
Frontend only dockerfile_frontend, nginx, dockerignore
Backend .NET dockerfile_backend_dotnet, docker_compose, dockerignore
Backend Python dockerfile_backend_python, docker_compose, dockerignore
Full stack .NET All of the above (dotnet variant)
Full stack Python All of the above (python variant)

Phase 3: Variable Substitution

Replace template variables with detected values:

Variable Source Example
{{NODE_VERSION}} package.json engines or default 22
{{DOTNET_VERSION}} *.csproj TargetFramework 9.0
{{PYTHON_VERSION}} pyproject.toml or default 3.12
{{PROJECT_NAME}} Directory name my-app
{{DLL_NAME}} *.csproj AssemblyName MyApp.Api.dll
{{FRONTEND_PORT}} Default or detected 3000
{{BACKEND_PORT}} Stack-dependent 5000 (.NET), 8000 (Python)
{{BACKEND_HOST}} Service name backend
{{CMD}} Framework-dependent ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] (FastAPI) or ["gunicorn", "--bind", "0.0.0.0:8000", "{{PROJECT_NAME}}.wsgi:application"] (Django)

Phase 4: File Generation

Generate files from templates:

  1. Check if file already exists (warn before overwrite)
  2. Apply variable substitution
  3. Write file to appropriate location
  4. Validate syntax where possible

File Locations:

  • Dockerfile.frontend -> src/frontend/Dockerfile
  • Dockerfile.backend -> project root
  • docker-compose.yml -> project root
  • .dockerignore -> project root
  • nginx.conf -> src/frontend/nginx.conf

Supported Stacks

Frontend: React/Vite + Nginx

Requirements:

  • package.json with build script
  • Vite or CRA configuration

Generated:

  • Multi-stage Dockerfile (builder + nginx)
  • Nginx config with SPA routing and API proxy

Backend: .NET 8/9

Requirements:

  • *.sln file in root
  • *.csproj with TargetFramework

Generated:

  • Multi-stage Dockerfile (SDK build + ASP.NET runtime)
  • Health check endpoint configuration

Backend: Python (FastAPI/Django)

Requirements:

  • requirements.txt or pyproject.toml

Generated:

  • Multi-stage Dockerfile (builder + slim runtime)
  • uvicorn (FastAPI) or gunicorn (Django) entrypoint

Security & Performance Best Practices

All generated files follow these guidelines:

Practice Implementation
Non-root user Create and use appuser (UID 1001)
Minimal images Alpine/slim variants
Multi-stage builds Exclude build tools from runtime
No secrets Use environment variables, not hardcoded
Health checks Built-in HEALTHCHECK instructions (wget/curl)
Specific versions Pin base image versions (e.g., nginx:1.27-alpine)
Non-interactive mode ARG DEBIAN_FRONTEND=noninteractive
Layer caching Copy dependency files first, source code last
BuildKit cache Use --mount=type=cache for pip
Python optimization PYTHONDONTWRITEBYTECODE=1, PYTHONUNBUFFERED=1

Quality Criteria

Generated files must meet:

  • [ ] docker-compose config validates without errors
  • [ ] All base images use specific versions (not latest)
  • [ ] Non-root user configured in all Dockerfiles
  • [ ] Health checks present for all services
  • [ ] .dockerignore excludes all sensitive files
  • [ ] No hardcoded secrets or passwords

Critical Notes

  1. Version Detection: Use detected versions from coordinator, not hardcoded defaults.
  2. Idempotent: Check file existence before writing. Warn if overwriting.
  3. Template-based: All generation uses templates from references/. Do NOT hardcode file contents.
  4. Security First: Every generated file must follow security best practices.

Reference Files

File Purpose
dockerfile_frontend.template React/Vite multi-stage Dockerfile
dockerfile_backend_dotnet.template .NET multi-stage Dockerfile
dockerfile_backend_python.template Python multi-stage Dockerfile
docker_compose.template docker-compose.yml template
dockerignore.template .dockerignore template
nginx.template Nginx configuration

Version: 1.2.0 Last Updated: 2026-01-21

04 同仓库更多 Skills

levalencia
levalencia/agent-god-mode

zarr-python

Chunked N-D arrays for cloud storage. Compressed arrays, parallel I/O, S3/GCS integration, NumPy/Dask/Xarray compatible, for large-scale scientific computing pipelines.

★ 3
levalencia
levalencia/agent-god-mode

zabbix

Zabbix monitoring system automation via API and Python. Use when: (1) Managing hosts, templates, items, triggers, or host groups, (2) Automating monitoring configuration, (3) Sending data via Zabbix trapper/sender, (4) Querying historical data or events, (5) Bulk operations on Zabbix objects, (6) Maintenance window management, (7) User/permission management

开发工程师后端与接口Skill与智能体开发
★ 3
levalencia
levalencia/agent-god-mode

x-twitter-growth

X/Twitter growth engine for building audience, crafting viral content, and analyzing engagement. Use when the user wants to grow on X/Twitter, write tweets or threads, analyze their X profile, research competitors on X, plan a posting strategy, or optimize engagement. Complements social-content (generic multi-platform) with X-specific depth: algorithm mechanics, thread engineering, reply strategy, profile optimization, and competitive intelligence via web search.

★ 3
levalencia
levalencia/agent-god-mode

what-if-oracle

Run structured What-If scenario analysis with multi-branch possibility exploration. Use this skill when the user asks speculative questions like "what if...", "what would happen if...", "what are the possibilities", "explore scenarios", "scenario analysis", "possibility space", "what could go wrong", "best case / worst case", "risk analysis", "contingency planning", "strategic options", or any question about uncertain futures. Also trigger when the user faces a fork-in-the-road decision, wants to stress-test an idea, or needs to think through consequences before committing.

★ 3
levalencia
levalencia/agent-god-mode

vercel-react-best-practices

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

前端开发
★ 3
levalencia
levalencia/agent-god-mode

venue-templates

Access comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.

内容创作者写作与文案资料检索与研究
★ 3