create-pm2-clj-config
Skill: Create PM2 Configs
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Skill: Create PM2 Configs
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Never run Docker containers as root. Enforce USER directive in Dockerfiles and user: in compose files. Database images are the only exception.
Handle packages migrating between pnpm workspaces. Clean stale root copies, update workspace configs, fix broken workspace:* references.
Recover lost source files from pi session history when files were deleted but never committed to git.
Improve the Hormuz clock model through new signal classes, schema changes, uncertainty modeling, and better rendering or branch logic
Revise fork-tax protocols so they assume concurrent agents by default in shared workspaces, forbid destructive repo-wide cleanup of unrelated dirt, and require path-scoped staging plus explicit blocker recording.
Persist the full working state into git (commit + tag + push + manifest artifacts) as a deterministic handoff snapshot. Use when the user requests Π / fork tax / full dump.
| name | create-pm2-clj-config |
| description | Skill: Create PM2 Configs |
Create new pm2-clj ecosystem configuration files from scratch or templates.
pm2-process-management skill)ecosystem.config.* to pm2-clj (use migration workflow)Identify where the new config should live:
system/daemons/<group>/<name>/ecosystem.pm2.cljorgs/<org>/<repo>/ecosystem.pm2.cljorgs/<org>/<repo>/packages/<pkg>/ecosystem.pm2.cljCreate the EDN structure following pm2-clj conventions:
Basic template:
{:apps
[{:name "<process-name>"
:script "<script-name>"
:args "<arguments>"
:cwd "<working-directory>"
:interpreter "node"
:env {:NODE_ENV "development"
:PORT 3000}
:env_production {:NODE_ENV "production"
:PORT 3000}
:max_restarts 5
:restart_delay 2000
:autorestart true}]}
Multi-app template:
{:apps
[{:name "app-1"
:script "node"
:cwd "/path/to/app1"
:env {:PORT 3000}}
{:name "app-2"
:script "pnpm"
:args "dev"
:cwd "/path/to/app2"
:env {:PORT 3001}}]}
Add appropriate fields based on process type:
:watch - true/false for file watching:instances - cluster mode instances count:exec_mode - "fork" or "cluster":log_file, :error_file, :out_file - log paths:interpreter_args - Node.js flags:node_args - Alternative for Node.js flags:max_memory_restart - Memory limit before restartRun render to validate:
clobber render <new-config-path>/ecosystem.pm2.clj | jq '.'
Test the configuration:
clobber start <new-config-path>/ecosystem.pm2.clj
pm2 list
pm2 logs <process-name>
*.pm2.clj extension for all pm2-clj configs:env, :env_production):cwd to the actual working directory:interpreter for Node.js, leave empty for scripts like pnpmecosystem.pm2.clj file at appropriate location{:apps
[{:name "new-daemon"
:script "./dist/index.js"
:cwd "/home/err/devel/system/daemons/new-group/new-daemon"
:interpreter "node"
:env {:NODE_ENV "production"}
:max_restarts 5
:restart_delay 2000
:autorestart true}]}
{:apps
[{:name "api-service"
:script "node"
:args "./dist/index.js"
:cwd "/home/err/devel/orgs/riatzukiza/promethean/packages/api-service"
:interpreter "node"
:env {:PORT 8080
:NODE_ENV "development"}
:env_production {:PORT 8080
:NODE_ENV "production"}
:log_file "./logs/api-combined.log"
:error_file "./logs/api-error.log"
:out_file "./logs/api-out.log"}]}
{:apps
[{:name "dev-ui"
:script "vite"
:args "--port 3000 --host 0.0.0.0"
:cwd "/path/to/ui"
:interpreter "node"
:watch false
:env {:NODE_ENV "development"}}]}
pm2-process-management skill to start/stop the new processrender-pm2-clj-config skill to validate before startingworkspace-navigation skill to find existing examples