@dusky-bluehour/agent-service 0.6.6 → 0.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +20 -28
  2. package/antigravity/README.md +7 -0
  3. package/antigravity/commands/definitions/cmd-dev-be-api.md +43 -0
  4. package/antigravity/commands/definitions/cmd-dev-fe-hook-separate.md +43 -0
  5. package/antigravity/commands/definitions/cmd-dev-fe-ui-componentize.md +43 -0
  6. package/antigravity/commands/definitions/cmd-dev-perf-optimize.md +43 -0
  7. package/antigravity/commands/definitions/cmd-dev-sequential-autorun.md +43 -0
  8. package/antigravity/commands/definitions/cmd-doc-handoff.md +44 -0
  9. package/antigravity/commands/definitions/cmd-improve-techdebt.md +43 -0
  10. package/antigravity/commands/definitions/cmd-incident-triage.md +43 -0
  11. package/antigravity/commands/definitions/cmd-ops-ci-cd-gate.md +43 -0
  12. package/antigravity/commands/definitions/cmd-ops-deploy.md +43 -0
  13. package/antigravity/commands/definitions/cmd-ops-monitoring.md +43 -0
  14. package/antigravity/commands/definitions/cmd-plan-arch-decision.md +43 -0
  15. package/antigravity/commands/definitions/cmd-plan-implementation-bootstrap.md +43 -0
  16. package/antigravity/commands/definitions/cmd-plan-prd-details.md +43 -0
  17. package/antigravity/commands/definitions/cmd-plan-prd-master.md +44 -0
  18. package/antigravity/commands/definitions/cmd-plan-req-lock.md +44 -0
  19. package/antigravity/commands/definitions/cmd-review-code.md +43 -0
  20. package/antigravity/commands/definitions/cmd-sec-dependency-audit.md +43 -0
  21. package/antigravity/commands/definitions/cmd-sec-threat-model.md +43 -0
  22. package/antigravity/commands/definitions/cmd-test-unit-integration.md +43 -0
  23. package/antigravity/instructions/WORKSPACE-RULES.template.md +34 -0
  24. package/antigravity/settings/editor-policy.json +193 -0
  25. package/catalog/tool-catalog.ko.json +77 -16
  26. package/claude-code/README.md +27 -0
  27. package/claude-code/commands/native/cmd-dev-be-api.md +51 -0
  28. package/claude-code/commands/native/cmd-dev-fe-hook-separate.md +51 -0
  29. package/claude-code/commands/native/cmd-dev-fe-ui-componentize.md +51 -0
  30. package/claude-code/commands/native/cmd-dev-perf-optimize.md +51 -0
  31. package/claude-code/commands/native/cmd-dev-sequential-autorun.md +51 -0
  32. package/claude-code/commands/native/cmd-doc-handoff.md +52 -0
  33. package/claude-code/commands/native/cmd-improve-techdebt.md +51 -0
  34. package/claude-code/commands/native/cmd-incident-triage.md +51 -0
  35. package/claude-code/commands/native/cmd-ops-ci-cd-gate.md +51 -0
  36. package/claude-code/commands/native/cmd-ops-deploy.md +51 -0
  37. package/claude-code/commands/native/cmd-ops-monitoring.md +51 -0
  38. package/claude-code/commands/native/cmd-plan-arch-decision.md +51 -0
  39. package/claude-code/commands/native/cmd-plan-implementation-bootstrap.md +51 -0
  40. package/claude-code/commands/native/cmd-plan-prd-details.md +51 -0
  41. package/claude-code/commands/native/cmd-plan-prd-master.md +52 -0
  42. package/claude-code/commands/native/cmd-plan-req-lock.md +52 -0
  43. package/claude-code/commands/native/cmd-review-code.md +51 -0
  44. package/claude-code/commands/native/cmd-sec-dependency-audit.md +51 -0
  45. package/claude-code/commands/native/cmd-sec-threat-model.md +51 -0
  46. package/claude-code/commands/native/cmd-test-unit-integration.md +51 -0
  47. package/claude-code/instructions/CLAUDE.template.md +42 -0
  48. package/claude-code/settings/settings.json +183 -0
  49. package/claude-code/settings/settings.local.json +10 -0
  50. package/codex/README.md +13 -1
  51. package/codex/instructions/AGENTS.permissions.generated.md +121 -0
  52. package/codex/instructions/AGENTS.template.md +18 -3
  53. package/codex/settings/runtime-policy.json +188 -0
  54. package/codex/skills/cmd-dev-be-api/SKILL.md +43 -0
  55. package/codex/skills/cmd-dev-be-api/agents/openai.yaml +4 -0
  56. package/codex/skills/cmd-dev-fe-hook-separate/SKILL.md +43 -0
  57. package/codex/skills/cmd-dev-fe-hook-separate/agents/openai.yaml +4 -0
  58. package/codex/skills/cmd-dev-fe-ui-componentize/SKILL.md +43 -0
  59. package/codex/skills/cmd-dev-fe-ui-componentize/agents/openai.yaml +4 -0
  60. package/codex/skills/cmd-dev-perf-optimize/SKILL.md +43 -0
  61. package/codex/skills/cmd-dev-perf-optimize/agents/openai.yaml +4 -0
  62. package/codex/skills/cmd-dev-sequential-autorun/SKILL.md +43 -0
  63. package/codex/skills/cmd-dev-sequential-autorun/agents/openai.yaml +4 -0
  64. package/codex/skills/cmd-doc-handoff/SKILL.md +43 -0
  65. package/codex/skills/cmd-doc-handoff/agents/openai.yaml +4 -0
  66. package/codex/skills/cmd-improve-techdebt/SKILL.md +43 -0
  67. package/codex/skills/cmd-improve-techdebt/agents/openai.yaml +4 -0
  68. package/codex/skills/cmd-incident-triage/SKILL.md +43 -0
  69. package/codex/skills/cmd-incident-triage/agents/openai.yaml +4 -0
  70. package/codex/skills/cmd-ops-ci-cd-gate/SKILL.md +43 -0
  71. package/codex/skills/cmd-ops-ci-cd-gate/agents/openai.yaml +4 -0
  72. package/codex/skills/cmd-ops-deploy/SKILL.md +43 -0
  73. package/codex/skills/cmd-ops-deploy/agents/openai.yaml +4 -0
  74. package/codex/skills/cmd-ops-monitoring/SKILL.md +43 -0
  75. package/codex/skills/cmd-ops-monitoring/agents/openai.yaml +4 -0
  76. package/codex/skills/cmd-plan-arch-decision/SKILL.md +43 -0
  77. package/codex/skills/cmd-plan-arch-decision/agents/openai.yaml +4 -0
  78. package/codex/skills/cmd-plan-implementation-bootstrap/SKILL.md +43 -0
  79. package/codex/skills/cmd-plan-implementation-bootstrap/agents/openai.yaml +4 -0
  80. package/codex/skills/cmd-plan-prd-details/SKILL.md +43 -0
  81. package/codex/skills/cmd-plan-prd-details/agents/openai.yaml +4 -0
  82. package/codex/skills/cmd-plan-prd-master/SKILL.md +44 -0
  83. package/codex/skills/cmd-plan-prd-master/agents/openai.yaml +4 -0
  84. package/codex/skills/cmd-plan-req-lock/SKILL.md +44 -0
  85. package/codex/skills/cmd-plan-req-lock/agents/openai.yaml +4 -0
  86. package/codex/skills/cmd-review-code/SKILL.md +43 -0
  87. package/codex/skills/cmd-review-code/agents/openai.yaml +4 -0
  88. package/codex/skills/cmd-sec-dependency-audit/SKILL.md +43 -0
  89. package/codex/skills/cmd-sec-dependency-audit/agents/openai.yaml +4 -0
  90. package/codex/skills/cmd-sec-threat-model/SKILL.md +43 -0
  91. package/codex/skills/cmd-sec-threat-model/agents/openai.yaml +4 -0
  92. package/codex/skills/cmd-test-unit-integration/SKILL.md +43 -0
  93. package/codex/skills/cmd-test-unit-integration/agents/openai.yaml +4 -0
  94. package/common/settings/security-policy.json +221 -0
  95. package/package.json +1 -1
  96. package/scripts/generate-from-common.mjs +489 -4
  97. package/scripts/init.mjs +285 -36
  98. package/scripts/validate.mjs +208 -9
@@ -0,0 +1,183 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/claude-code-settings.json",
3
+ "permissions": {
4
+ "defaultMode": "acceptEdits",
5
+ "disableBypassPermissionsMode": "disable",
6
+ "additionalDirectories": [],
7
+ "allow": [
8
+ "Read",
9
+ "Edit",
10
+ "Bash(mkdir *)",
11
+ "Bash(touch *)",
12
+ "Bash(ls *)",
13
+ "Bash(cat *)",
14
+ "Bash(grep *)",
15
+ "Bash(find *)",
16
+ "Bash(echo *)",
17
+ "Bash(cd *)",
18
+ "Bash(pwd)",
19
+ "Bash(tail *)",
20
+ "Bash(head *)",
21
+ "Bash(git status)",
22
+ "Bash(git log *)",
23
+ "Bash(git diff *)",
24
+ "Bash(git branch)",
25
+ "Bash(node *)",
26
+ "Bash(npx *)",
27
+ "Bash(npm *)",
28
+ "Bash(pnpm *)",
29
+ "Bash(yarn *)",
30
+ "Bash(jest *)",
31
+ "Bash(vitest *)",
32
+ "Bash(pytest *)",
33
+ "Bash(docker ps *)",
34
+ "Bash(docker images *)",
35
+ "Bash(docker logs *)",
36
+ "Bash(docker run *)",
37
+ "Bash(docker build *)",
38
+ "Bash(docker-compose up *)",
39
+ "Bash(docker-compose build *)"
40
+ ],
41
+ "ask": [
42
+ "Bash(git add *)",
43
+ "Bash(git commit *)",
44
+ "Bash(git push *)",
45
+ "Bash(git pull *)",
46
+ "Bash(git fetch *)",
47
+ "Bash(git merge *)",
48
+ "Bash(git rebase *)",
49
+ "Bash(git reset *)",
50
+ "Bash(git clean *)",
51
+ "Bash(git checkout .)",
52
+ "Bash(git restore .)",
53
+ "Bash(git branch -D *)",
54
+ "Bash(git push --force *)",
55
+ "Bash(git push -f *)",
56
+ "Bash(rm *)",
57
+ "Bash(rm -r *)",
58
+ "Bash(rm -rf *)",
59
+ "Bash(rm -f *)",
60
+ "Bash(mv *)",
61
+ "Bash(cp *)",
62
+ "Bash(cp -r *)",
63
+ "Bash(docker rm *)",
64
+ "Bash(docker rmi *)",
65
+ "Bash(docker system prune *)",
66
+ "Bash(docker volume rm *)",
67
+ "Bash(docker network rm *)",
68
+ "Bash(docker-compose down *)"
69
+ ],
70
+ "deny": [
71
+ "Bash(npm install -g *)",
72
+ "Bash(npm i -g *)",
73
+ "Bash(pnpm add -g *)",
74
+ "Bash(pnpm install -g *)",
75
+ "Bash(yarn global add *)",
76
+ "Bash(brew install *)",
77
+ "Bash(brew uninstall *)",
78
+ "Bash(pip install *)",
79
+ "Bash(pip uninstall *)",
80
+ "Bash(sudo *)",
81
+ "Bash(su *)",
82
+ "Bash(chmod *)",
83
+ "Bash(chown *)",
84
+ "Bash(chgrp *)",
85
+ "Bash(kill *)",
86
+ "Bash(killall *)",
87
+ "Bash(pkill *)",
88
+ "Bash(shutdown *)",
89
+ "Bash(reboot*)",
90
+ "Bash(halt*)",
91
+ "Bash(poweroff*)",
92
+ "Bash(ifconfig *)",
93
+ "Bash(route *)",
94
+ "Bash(iptables *)",
95
+ "Bash(pfctl *)",
96
+ "Bash(diskutil *)",
97
+ "Bash(hdiutil *)",
98
+ "Bash(dd *)",
99
+ "Bash(format *)",
100
+ "Bash(curl * | bash)",
101
+ "Bash(curl * | sh)",
102
+ "Bash(curl * | zsh)",
103
+ "Bash(wget * | bash)",
104
+ "Bash(wget * | sh)",
105
+ "Bash(* | sudo *)",
106
+ "Bash(security *)",
107
+ "Bash(defaults write *)",
108
+ "Bash(launchctl *)",
109
+ "Bash(scutil *)",
110
+ "Bash(nvram *)",
111
+ "Bash(csrutil *)",
112
+ "Bash(softwareupdate *)",
113
+ "Bash(xcode-select *)",
114
+ "Read(//System/**)",
115
+ "Read(//Library/**)",
116
+ "Read(//bin/**)",
117
+ "Read(//sbin/**)",
118
+ "Read(//usr/**)",
119
+ "Read(//etc/**)",
120
+ "Read(//var/**)",
121
+ "Read(//private/**)",
122
+ "Read(//tmp/**)",
123
+ "Read(//opt/**)",
124
+ "Read(~/.ssh/**)",
125
+ "Read(~/.aws/**)",
126
+ "Read(~/.config/gcloud/**)",
127
+ "Read(~/.docker/**)",
128
+ "Read(~/.kube/**)",
129
+ "Read(~/.npmrc)",
130
+ "Read(~/.gitconfig)",
131
+ "Read(~/.zshrc)",
132
+ "Read(~/.bashrc)",
133
+ "Read(~/.bash_profile)",
134
+ "Read(~/.zprofile)",
135
+ "Read(~/Library/Safari/**)",
136
+ "Read(~/Library/Application Support/Google/Chrome/**)",
137
+ "Read(~/Library/Keychains/**)",
138
+ "Read(~/Library/Mail/**)",
139
+ "Read(//usr/local/Cellar/**)",
140
+ "Read(//opt/homebrew/**)",
141
+ "Read(./.env)",
142
+ "Read(./.env.*)",
143
+ "Read(./secrets/**)",
144
+ "Read(./config/credentials.json)",
145
+ "Edit(//System/**)",
146
+ "Edit(//Library/**)",
147
+ "Edit(//bin/**)",
148
+ "Edit(//sbin/**)",
149
+ "Edit(//usr/**)",
150
+ "Edit(//etc/**)",
151
+ "Edit(//var/**)",
152
+ "Edit(//private/**)",
153
+ "Edit(//tmp/**)",
154
+ "Edit(//opt/**)",
155
+ "Edit(~/.ssh/**)",
156
+ "Edit(~/.aws/**)",
157
+ "Edit(~/.config/gcloud/**)",
158
+ "Edit(~/.docker/**)",
159
+ "Edit(~/.kube/**)",
160
+ "Edit(~/.npmrc)",
161
+ "Edit(~/.gitconfig)",
162
+ "Edit(~/.zshrc)",
163
+ "Edit(~/.bashrc)",
164
+ "Edit(~/.bash_profile)",
165
+ "Edit(~/.zprofile)",
166
+ "Edit(~/Library/Safari/**)",
167
+ "Edit(~/Library/Application Support/Google/Chrome/**)",
168
+ "Edit(~/Library/Keychains/**)",
169
+ "Edit(~/Library/Mail/**)",
170
+ "Edit(//usr/local/Cellar/**)",
171
+ "Edit(//opt/homebrew/**)",
172
+ "Edit(./.env)",
173
+ "Edit(./.env.*)",
174
+ "Edit(./secrets/**)",
175
+ "Edit(./config/credentials.json)"
176
+ ]
177
+ },
178
+ "enabledPlugins": {
179
+ "code-review@claude-code-plugins": true,
180
+ "frontend-design@claude-code-plugins": true,
181
+ "commit-commands@claude-code-plugins": true
182
+ }
183
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/claude-code-settings.json",
3
+ "permissions": {
4
+ "additionalDirectories": [],
5
+ "ask": [
6
+ "Bash(git push *)",
7
+ "Bash(docker-compose down *)"
8
+ ]
9
+ }
10
+ }
package/codex/README.md CHANGED
@@ -7,16 +7,28 @@
7
7
  ## 폴더 구성
8
8
 
9
9
  - `skills/`: Codex Skills (`SKILL.md` + `agents/openai.yaml`)
10
+ - `skills/cmd-*/`: 공통 명령 계약에서 변환된 Codex 명령 스킬
10
11
  - `workflows/workflow-catalog.json`: 단계형 실행 표준
11
12
  - `commands/command-catalog.json`: 공통 명령 계약
13
+ - `settings/runtime-policy.json`: 프로젝트 권한/실행 정책 템플릿
12
14
  - `instructions/AGENTS.template.md`: 프로젝트용 AGENTS 템플릿
15
+ - `instructions/AGENTS.permissions.generated.md`: 권한 정책용 AGENTS 스니펫(자동 생성)
13
16
  - `automations/automation-recipes.toml`: 반복 작업 자동화 레시피
14
17
 
15
18
  ## 빠른 시작
16
19
 
17
- 1. 프로젝트 루트에 `AGENTS.md`를 만들고 `instructions/AGENTS.template.md`를 기반으로 작성해 주세요.
20
+ 1. 설치 시 프로젝트 루트에 `AGENTS.md`가 자동 생성됩니다(기존 파일이 있으면 유지). 필요 보완해 주세요.
18
21
  2. 작업 유형에 맞는 워크플로우(`WF-SERVICE-E2E`~`WF-INCIDENT-RESPONSE`, `WF-PRD-TO-PRODUCTION`)를 선택해 주세요.
19
22
  3. 명령 ID를 기준으로 실행하시고, 검증 단계에서 `/review`를 수행해 주세요.
23
+ 4. 명령 단위 실행이 필요하면 `cmd-*` 스킬(`skills/cmd-*/`)을 직접 호출해 주세요.
24
+
25
+ ## Codex 명령 실행 방식 (중요)
26
+
27
+ 2026-02-19 기준 Codex는 Claude처럼 별도 커스텀 명령 폴더(`.codex/commands/*.md`)를 공식 포맷으로 제공하지 않습니다.
28
+ 이 패키지는 공통 명령 계약을 Codex 네이티브 방식으로 변환해 `skills/cmd-*/` 스킬로 제공합니다.
29
+
30
+ - 계약 원본(SSOT): `commands/command-catalog.json`
31
+ - Codex 실행 아티팩트: `skills/cmd-*/SKILL.md`, `skills/cmd-*/agents/openai.yaml`
20
32
 
21
33
  ## 스킬 설치 위치
22
34
 
@@ -0,0 +1,121 @@
1
+ # Codex 권한 정책 템플릿
2
+
3
+ 이 문서는 `common/settings/security-policy.json`에서 자동 생성됩니다.
4
+ `AGENTS.md`의 프로젝트 규칙 섹션에 붙여 넣어 팀 기본 정책으로 사용하세요.
5
+
6
+ ## 런타임 정책
7
+
8
+ - sandbox_mode: workspace-write
9
+ - network_access: restricted
10
+ - git_write_actions: ask
11
+ - destructive_shell: deny
12
+ - global_package_installs: deny
13
+
14
+ ## Shell 허용 규칙
15
+
16
+ - `mkdir *`
17
+ - `touch *`
18
+ - `ls *`
19
+ - `cat *`
20
+ - `grep *`
21
+ - `find *`
22
+ - `echo *`
23
+ - `cd *`
24
+ - `pwd`
25
+ - `tail *`
26
+ - `head *`
27
+ - `git status`
28
+ - `git log *`
29
+ - `git diff *`
30
+ - `git branch`
31
+ - `node *`
32
+ - `npx *`
33
+ - `npm *`
34
+ - `pnpm *`
35
+ - `yarn *`
36
+ - `jest *`
37
+ - `vitest *`
38
+ - `pytest *`
39
+ - `docker ps *`
40
+ - `docker images *`
41
+ - `docker logs *`
42
+ - `docker run *`
43
+ - `docker build *`
44
+ - `docker-compose up *`
45
+ - `docker-compose build *`
46
+
47
+ ## Shell 확인(ask) 규칙
48
+
49
+ - `git add *`
50
+ - `git commit *`
51
+ - `git push *`
52
+ - `git pull *`
53
+ - `git fetch *`
54
+ - `git merge *`
55
+ - `git rebase *`
56
+ - `git reset *`
57
+ - `git clean *`
58
+ - `git checkout .`
59
+ - `git restore .`
60
+ - `git branch -D *`
61
+ - `git push --force *`
62
+ - `git push -f *`
63
+ - `rm *`
64
+ - `rm -r *`
65
+ - `rm -rf *`
66
+ - `rm -f *`
67
+ - `mv *`
68
+ - `cp *`
69
+ - `cp -r *`
70
+ - `docker rm *`
71
+ - `docker rmi *`
72
+ - `docker system prune *`
73
+ - `docker volume rm *`
74
+ - `docker network rm *`
75
+ - `docker-compose down *`
76
+
77
+ ## Shell 차단 규칙
78
+
79
+ - `npm install -g *`
80
+ - `npm i -g *`
81
+ - `pnpm add -g *`
82
+ - `pnpm install -g *`
83
+ - `yarn global add *`
84
+ - `brew install *`
85
+ - `brew uninstall *`
86
+ - `pip install *`
87
+ - `pip uninstall *`
88
+ - `sudo *`
89
+ - `su *`
90
+ - `chmod *`
91
+ - `chown *`
92
+ - `chgrp *`
93
+ - `kill *`
94
+ - `killall *`
95
+ - `pkill *`
96
+ - `shutdown *`
97
+ - `reboot*`
98
+ - `halt*`
99
+ - `poweroff*`
100
+ - `ifconfig *`
101
+ - `route *`
102
+ - `iptables *`
103
+ - `pfctl *`
104
+ - `diskutil *`
105
+ - `hdiutil *`
106
+ - `dd *`
107
+ - `format *`
108
+ - `curl * | bash`
109
+ - `curl * | sh`
110
+ - `curl * | zsh`
111
+ - `wget * | bash`
112
+ - `wget * | sh`
113
+ - `* | sudo *`
114
+ - `security *`
115
+ - `defaults write *`
116
+ - `launchctl *`
117
+ - `scutil *`
118
+ - `nvram *`
119
+ - `csrutil *`
120
+ - `softwareupdate *`
121
+ - `xcode-select *`
@@ -1,9 +1,16 @@
1
1
  # AGENTS.md 템플릿 (서비스 운영형)
2
2
 
3
+ ## Project Context
4
+ - Product:
5
+ - Core users:
6
+ - Release cadence:
7
+ - Critical environments:
8
+
3
9
  ## 1) 실행 원칙
4
10
  - 모든 작업은 `commands/command-catalog.json` 명령 ID를 근거로 수행한다.
5
- - 단계형 작업은 `workflows/workflow-catalog.json`의 `entry_criteria`와 `exit_criteria`를 따른다.
11
+ - 단계형 작업은 `workflows/workflow-catalog.json`의 진입/종료 조건을 충족해야 한다.
6
12
  - 추정 대신 측정값(테스트, 성능, 취약점 결과)을 우선한다.
13
+ - 큰 변경은 작은 배치로 분리해 순차 반영한다.
7
14
 
8
15
  ## 2) 기본 워크플로우 선택 규칙
9
16
  - 신규 서비스/대형 기능: `WF-SERVICE-E2E`
@@ -11,6 +18,7 @@
11
18
  - 보안 점검/하드닝: `WF-SECURITY-HARDENING`
12
19
  - 배포/운영 전환: `WF-RELEASE-TRANSITION`
13
20
  - 장애 대응: `WF-INCIDENT-RESPONSE`
21
+ - PRD 기반 자동 파이프라인: `WF-PRD-TO-PRODUCTION`
14
22
 
15
23
  ## 3) 스킬 라우팅 규칙
16
24
  - 범위/요구사항 정리: `service-lifecycle-orchestration`
@@ -21,12 +29,19 @@
21
29
  - 배포/운영: `release-and-operations`
22
30
  - 장애 대응: `incident-response`
23
31
 
24
- ## 4) 산출물 고정 포맷
32
+ ## 4) 권한/보안 규칙
33
+ - 기본 권한 정책은 `.codex/instructions/AGENTS.permissions.generated.md`를 따른다.
34
+ - 비밀정보(`.env*`, key, token)는 읽거나 출력하지 않는다.
35
+ - 파괴적 명령(`rm -rf`, 강제 push, 시스템 전역 변경)은 사전 승인 없이는 금지한다.
36
+ - 스키마 변경/데이터 마이그레이션은 롤백 계획 없이는 금지한다.
37
+
38
+ ## 5) 산출물 고정 포맷
25
39
  - 상태: `완료 | 미완료 | 차단요인`
26
40
  - 근거: `실행한 명령 ID`, `검증 결과`
41
+ - 변경점: `영향 범위`, `호환성 영향`
27
42
  - 다음 행동: `담당 역할`, `마감 조건`
28
43
 
29
- ## 5) 금지 규칙
44
+ ## 6) 금지 규칙
30
45
  - 차단 이슈를 우회한 병합/배포 금지
31
46
  - 치명 취약점 잔존 상태 배포 금지
32
47
  - 테스트 실패 상태에서 완료 보고 금지
@@ -0,0 +1,188 @@
1
+ {
2
+ "schema_version": "1.0.0",
3
+ "policy_id": "strict-dev",
4
+ "description_ko": "Codex 프로젝트 규칙(AGENTS.md)과 함께 사용하는 런타임 권한 정책 템플릿",
5
+ "runtime": {
6
+ "sandbox_mode": "workspace-write",
7
+ "network_access": "restricted",
8
+ "git_write_actions": "ask",
9
+ "destructive_shell": "deny",
10
+ "global_package_installs": "deny"
11
+ },
12
+ "command_policy": {
13
+ "allow_shell": [
14
+ "mkdir *",
15
+ "touch *",
16
+ "ls *",
17
+ "cat *",
18
+ "grep *",
19
+ "find *",
20
+ "echo *",
21
+ "cd *",
22
+ "pwd",
23
+ "tail *",
24
+ "head *",
25
+ "git status",
26
+ "git log *",
27
+ "git diff *",
28
+ "git branch",
29
+ "node *",
30
+ "npx *",
31
+ "npm *",
32
+ "pnpm *",
33
+ "yarn *",
34
+ "jest *",
35
+ "vitest *",
36
+ "pytest *",
37
+ "docker ps *",
38
+ "docker images *",
39
+ "docker logs *",
40
+ "docker run *",
41
+ "docker build *",
42
+ "docker-compose up *",
43
+ "docker-compose build *"
44
+ ],
45
+ "ask_shell": [
46
+ "git add *",
47
+ "git commit *",
48
+ "git push *",
49
+ "git pull *",
50
+ "git fetch *",
51
+ "git merge *",
52
+ "git rebase *",
53
+ "git reset *",
54
+ "git clean *",
55
+ "git checkout .",
56
+ "git restore .",
57
+ "git branch -D *",
58
+ "git push --force *",
59
+ "git push -f *",
60
+ "rm *",
61
+ "rm -r *",
62
+ "rm -rf *",
63
+ "rm -f *",
64
+ "mv *",
65
+ "cp *",
66
+ "cp -r *",
67
+ "docker rm *",
68
+ "docker rmi *",
69
+ "docker system prune *",
70
+ "docker volume rm *",
71
+ "docker network rm *",
72
+ "docker-compose down *"
73
+ ],
74
+ "deny_shell": [
75
+ "npm install -g *",
76
+ "npm i -g *",
77
+ "pnpm add -g *",
78
+ "pnpm install -g *",
79
+ "yarn global add *",
80
+ "brew install *",
81
+ "brew uninstall *",
82
+ "pip install *",
83
+ "pip uninstall *",
84
+ "sudo *",
85
+ "su *",
86
+ "chmod *",
87
+ "chown *",
88
+ "chgrp *",
89
+ "kill *",
90
+ "killall *",
91
+ "pkill *",
92
+ "shutdown *",
93
+ "reboot*",
94
+ "halt*",
95
+ "poweroff*",
96
+ "ifconfig *",
97
+ "route *",
98
+ "iptables *",
99
+ "pfctl *",
100
+ "diskutil *",
101
+ "hdiutil *",
102
+ "dd *",
103
+ "format *",
104
+ "curl * | bash",
105
+ "curl * | sh",
106
+ "curl * | zsh",
107
+ "wget * | bash",
108
+ "wget * | sh",
109
+ "* | sudo *",
110
+ "security *",
111
+ "defaults write *",
112
+ "launchctl *",
113
+ "scutil *",
114
+ "nvram *",
115
+ "csrutil *",
116
+ "softwareupdate *",
117
+ "xcode-select *"
118
+ ]
119
+ },
120
+ "path_policy": {
121
+ "deny_read": [
122
+ "//System/**",
123
+ "//Library/**",
124
+ "//bin/**",
125
+ "//sbin/**",
126
+ "//usr/**",
127
+ "//etc/**",
128
+ "//var/**",
129
+ "//private/**",
130
+ "//tmp/**",
131
+ "//opt/**",
132
+ "~/.ssh/**",
133
+ "~/.aws/**",
134
+ "~/.config/gcloud/**",
135
+ "~/.docker/**",
136
+ "~/.kube/**",
137
+ "~/.npmrc",
138
+ "~/.gitconfig",
139
+ "~/.zshrc",
140
+ "~/.bashrc",
141
+ "~/.bash_profile",
142
+ "~/.zprofile",
143
+ "~/Library/Safari/**",
144
+ "~/Library/Application Support/Google/Chrome/**",
145
+ "~/Library/Keychains/**",
146
+ "~/Library/Mail/**",
147
+ "//usr/local/Cellar/**",
148
+ "//opt/homebrew/**",
149
+ "./.env",
150
+ "./.env.*",
151
+ "./secrets/**",
152
+ "./config/credentials.json"
153
+ ],
154
+ "deny_edit": [
155
+ "//System/**",
156
+ "//Library/**",
157
+ "//bin/**",
158
+ "//sbin/**",
159
+ "//usr/**",
160
+ "//etc/**",
161
+ "//var/**",
162
+ "//private/**",
163
+ "//tmp/**",
164
+ "//opt/**",
165
+ "~/.ssh/**",
166
+ "~/.aws/**",
167
+ "~/.config/gcloud/**",
168
+ "~/.docker/**",
169
+ "~/.kube/**",
170
+ "~/.npmrc",
171
+ "~/.gitconfig",
172
+ "~/.zshrc",
173
+ "~/.bashrc",
174
+ "~/.bash_profile",
175
+ "~/.zprofile",
176
+ "~/Library/Safari/**",
177
+ "~/Library/Application Support/Google/Chrome/**",
178
+ "~/Library/Keychains/**",
179
+ "~/Library/Mail/**",
180
+ "//usr/local/Cellar/**",
181
+ "//opt/homebrew/**",
182
+ "./.env",
183
+ "./.env.*",
184
+ "./secrets/**",
185
+ "./config/credentials.json"
186
+ ]
187
+ }
188
+ }
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: cmd-dev-be-api
3
+ description: 백엔드 API 구현 명령 계약을 Codex 스킬 형태로 실행한다.
4
+ ---
5
+
6
+ # 시작 전 체크리스트
7
+
8
+ - [필수] API 계약
9
+ - [필수] 도메인 모델
10
+ - [필수] 에러 코드 정책
11
+ - [선택] 기존 엔드포인트 호환 정책
12
+
13
+ # 실행 절차
14
+
15
+ 1. 명령 계약을 확인한다: CMD-DEV-BE-API (백엔드 API 구현)
16
+ 2. 계약 우선 방식으로 DTO와 검증 규칙을 작성한다.
17
+ 3. 핸들러와 비즈니스 로직을 분리한다.
18
+ 4. 권한 검증과 감사 로그를 추가한다.
19
+ 5. 회귀 테스트를 작성한다.
20
+ 6. 품질 게이트를 검증한다.
21
+ 7. 산출물과 핸드오프를 보고한다.
22
+
23
+ # 결과 보고 형식
24
+
25
+ - 실행 명령: CMD-DEV-BE-API
26
+ - 입력 검증: 필수 입력 충족 여부 / 누락 항목
27
+ - 품질 게이트: 계약 테스트가 통과해야 한다. | 권한 누락 경로가 없어야 한다.
28
+ - 산출물: API 구현 코드, 계약 테스트, 권한 매트릭스
29
+ - 핸드오프: 다음 역할 qa-engineer, code-reviewer
30
+
31
+ # 중단 조건
32
+
33
+ - 필수 입력이 누락된 경우
34
+ - 품질 게이트를 충족하지 못한 경우
35
+ - 계약 불일치
36
+ - 에러 코드 정책 위반
37
+
38
+ # 품질 규칙
39
+
40
+ - 검증되지 않은 추정은 사실과 분리해서 기록한다.
41
+ - 품질 게이트를 우회하지 않는다.
42
+ - 계약 테스트가 통과해야 한다.
43
+ - 권한 누락 경로가 없어야 한다.
@@ -0,0 +1,4 @@
1
+ skill:
2
+ display_name: "백엔드 API 구현"
3
+ short_description: "개발 · backend-engineer"
4
+ default_prompt: "CMD-DEV-BE-API 명령 계약을 준수해 실행해줘."
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: cmd-dev-fe-hook-separate
3
+ description: Hook 분리 명령 계약을 Codex 스킬 형태로 실행한다.
4
+ ---
5
+
6
+ # 시작 전 체크리스트
7
+
8
+ - [필수] 대상 컴포넌트
9
+ - [필수] 상태 흐름
10
+ - [필수] 부수효과 목록
11
+ - [선택] 성능 프로파일 결과
12
+
13
+ # 실행 절차
14
+
15
+ 1. 명령 계약을 확인한다: CMD-DEV-FE-HOOK-SEPARATE (Hook 분리)
16
+ 2. UI 렌더링과 상태 오케스트레이션 경계를 식별한다.
17
+ 3. Hook의 입력/출력 타입 계약을 정의한다.
18
+ 4. 비동기/캐시/재시도 정책을 Hook 내부로 캡슐화한다.
19
+ 5. Hook 전용 테스트를 추가한다.
20
+ 6. 품질 게이트를 검증한다.
21
+ 7. 산출물과 핸드오프를 보고한다.
22
+
23
+ # 결과 보고 형식
24
+
25
+ - 실행 명령: CMD-DEV-FE-HOOK-SEPARATE
26
+ - 입력 검증: 필수 입력 충족 여부 / 누락 항목
27
+ - 품질 게이트: 컴포넌트 길이가 기준 대비 25% 이상 축소되어야 한다. | Hook은 단일 책임을 유지해야 한다.
28
+ - 산출물: 커스텀 Hook, Hook 테스트, 마이그레이션 노트
29
+ - 핸드오프: 다음 역할 frontend-engineer, performance-engineer
30
+
31
+ # 중단 조건
32
+
33
+ - 필수 입력이 누락된 경우
34
+ - 품질 게이트를 충족하지 못한 경우
35
+ - Hook 간 순환 의존
36
+ - 숨은 전역 상태 의존
37
+
38
+ # 품질 규칙
39
+
40
+ - 검증되지 않은 추정은 사실과 분리해서 기록한다.
41
+ - 품질 게이트를 우회하지 않는다.
42
+ - 컴포넌트 길이가 기준 대비 25% 이상 축소되어야 한다.
43
+ - Hook은 단일 책임을 유지해야 한다.
@@ -0,0 +1,4 @@
1
+ skill:
2
+ display_name: "Hook 분리"
3
+ short_description: "개발 · hook-refactor-engineer"
4
+ default_prompt: "CMD-DEV-FE-HOOK-SEPARATE 명령 계약을 준수해 실행해줘."