cc4pm 1.8.0

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 (108) hide show
  1. package/.claude-plugin/README.md +17 -0
  2. package/.claude-plugin/plugin.json +25 -0
  3. package/LICENSE +21 -0
  4. package/README.md +157 -0
  5. package/README.zh-CN.md +134 -0
  6. package/contexts/dev.md +20 -0
  7. package/contexts/research.md +26 -0
  8. package/contexts/review.md +22 -0
  9. package/examples/CLAUDE.md +100 -0
  10. package/examples/statusline.json +19 -0
  11. package/examples/user-CLAUDE.md +109 -0
  12. package/install.sh +17 -0
  13. package/manifests/install-components.json +173 -0
  14. package/manifests/install-modules.json +335 -0
  15. package/manifests/install-profiles.json +75 -0
  16. package/package.json +117 -0
  17. package/schemas/ecc-install-config.schema.json +58 -0
  18. package/schemas/hooks.schema.json +197 -0
  19. package/schemas/install-components.schema.json +56 -0
  20. package/schemas/install-modules.schema.json +105 -0
  21. package/schemas/install-profiles.schema.json +45 -0
  22. package/schemas/install-state.schema.json +210 -0
  23. package/schemas/package-manager.schema.json +23 -0
  24. package/schemas/plugin.schema.json +58 -0
  25. package/scripts/ci/catalog.js +83 -0
  26. package/scripts/ci/validate-agents.js +81 -0
  27. package/scripts/ci/validate-commands.js +135 -0
  28. package/scripts/ci/validate-hooks.js +239 -0
  29. package/scripts/ci/validate-install-manifests.js +211 -0
  30. package/scripts/ci/validate-no-personal-paths.js +63 -0
  31. package/scripts/ci/validate-rules.js +81 -0
  32. package/scripts/ci/validate-skills.js +54 -0
  33. package/scripts/claw.js +468 -0
  34. package/scripts/doctor.js +110 -0
  35. package/scripts/ecc.js +194 -0
  36. package/scripts/hooks/auto-tmux-dev.js +88 -0
  37. package/scripts/hooks/check-console-log.js +71 -0
  38. package/scripts/hooks/check-hook-enabled.js +12 -0
  39. package/scripts/hooks/cost-tracker.js +78 -0
  40. package/scripts/hooks/doc-file-warning.js +63 -0
  41. package/scripts/hooks/evaluate-session.js +100 -0
  42. package/scripts/hooks/insaits-security-monitor.py +269 -0
  43. package/scripts/hooks/insaits-security-wrapper.js +88 -0
  44. package/scripts/hooks/post-bash-build-complete.js +27 -0
  45. package/scripts/hooks/post-bash-pr-created.js +36 -0
  46. package/scripts/hooks/post-edit-console-warn.js +54 -0
  47. package/scripts/hooks/post-edit-format.js +109 -0
  48. package/scripts/hooks/post-edit-typecheck.js +96 -0
  49. package/scripts/hooks/pre-bash-dev-server-block.js +187 -0
  50. package/scripts/hooks/pre-bash-git-push-reminder.js +28 -0
  51. package/scripts/hooks/pre-bash-tmux-reminder.js +33 -0
  52. package/scripts/hooks/pre-compact.js +48 -0
  53. package/scripts/hooks/pre-write-doc-warn.js +9 -0
  54. package/scripts/hooks/quality-gate.js +168 -0
  55. package/scripts/hooks/run-with-flags-shell.sh +32 -0
  56. package/scripts/hooks/run-with-flags.js +120 -0
  57. package/scripts/hooks/session-end-marker.js +15 -0
  58. package/scripts/hooks/session-end.js +299 -0
  59. package/scripts/hooks/session-start.js +97 -0
  60. package/scripts/hooks/suggest-compact.js +80 -0
  61. package/scripts/install-apply.js +137 -0
  62. package/scripts/install-plan.js +254 -0
  63. package/scripts/lib/hook-flags.js +74 -0
  64. package/scripts/lib/install/apply.js +23 -0
  65. package/scripts/lib/install/config.js +82 -0
  66. package/scripts/lib/install/request.js +113 -0
  67. package/scripts/lib/install/runtime.js +42 -0
  68. package/scripts/lib/install-executor.js +605 -0
  69. package/scripts/lib/install-lifecycle.js +763 -0
  70. package/scripts/lib/install-manifests.js +305 -0
  71. package/scripts/lib/install-state.js +120 -0
  72. package/scripts/lib/install-targets/antigravity-project.js +9 -0
  73. package/scripts/lib/install-targets/claude-home.js +10 -0
  74. package/scripts/lib/install-targets/codex-home.js +10 -0
  75. package/scripts/lib/install-targets/cursor-project.js +10 -0
  76. package/scripts/lib/install-targets/helpers.js +89 -0
  77. package/scripts/lib/install-targets/opencode-home.js +10 -0
  78. package/scripts/lib/install-targets/registry.js +64 -0
  79. package/scripts/lib/orchestration-session.js +299 -0
  80. package/scripts/lib/package-manager.d.ts +119 -0
  81. package/scripts/lib/package-manager.js +431 -0
  82. package/scripts/lib/project-detect.js +428 -0
  83. package/scripts/lib/resolve-formatter.js +185 -0
  84. package/scripts/lib/session-adapters/canonical-session.js +138 -0
  85. package/scripts/lib/session-adapters/claude-history.js +149 -0
  86. package/scripts/lib/session-adapters/dmux-tmux.js +80 -0
  87. package/scripts/lib/session-adapters/registry.js +111 -0
  88. package/scripts/lib/session-aliases.d.ts +136 -0
  89. package/scripts/lib/session-aliases.js +481 -0
  90. package/scripts/lib/session-manager.d.ts +131 -0
  91. package/scripts/lib/session-manager.js +464 -0
  92. package/scripts/lib/shell-split.js +86 -0
  93. package/scripts/lib/skill-improvement/amendify.js +89 -0
  94. package/scripts/lib/skill-improvement/evaluate.js +59 -0
  95. package/scripts/lib/skill-improvement/health.js +118 -0
  96. package/scripts/lib/skill-improvement/observations.js +108 -0
  97. package/scripts/lib/tmux-worktree-orchestrator.js +491 -0
  98. package/scripts/lib/utils.d.ts +183 -0
  99. package/scripts/lib/utils.js +543 -0
  100. package/scripts/list-installed.js +90 -0
  101. package/scripts/orchestrate-codex-worker.sh +92 -0
  102. package/scripts/orchestrate-worktrees.js +108 -0
  103. package/scripts/orchestration-status.js +62 -0
  104. package/scripts/repair.js +97 -0
  105. package/scripts/session-inspect.js +150 -0
  106. package/scripts/setup-package-manager.js +204 -0
  107. package/scripts/skill-create-output.js +244 -0
  108. package/scripts/uninstall.js +96 -0
@@ -0,0 +1,58 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "cc4pm Install Config",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "version"
8
+ ],
9
+ "properties": {
10
+ "$schema": {
11
+ "type": "string",
12
+ "minLength": 1
13
+ },
14
+ "version": {
15
+ "type": "integer",
16
+ "const": 1
17
+ },
18
+ "target": {
19
+ "type": "string",
20
+ "enum": [
21
+ "claude",
22
+ "cursor",
23
+ "antigravity",
24
+ "codex",
25
+ "opencode"
26
+ ]
27
+ },
28
+ "profile": {
29
+ "type": "string",
30
+ "pattern": "^[a-z0-9-]+$"
31
+ },
32
+ "modules": {
33
+ "type": "array",
34
+ "items": {
35
+ "type": "string",
36
+ "pattern": "^[a-z0-9-]+$"
37
+ }
38
+ },
39
+ "include": {
40
+ "type": "array",
41
+ "items": {
42
+ "type": "string",
43
+ "pattern": "^(baseline|lang|framework|capability):[a-z0-9-]+$"
44
+ }
45
+ },
46
+ "exclude": {
47
+ "type": "array",
48
+ "items": {
49
+ "type": "string",
50
+ "pattern": "^(baseline|lang|framework|capability):[a-z0-9-]+$"
51
+ }
52
+ },
53
+ "options": {
54
+ "type": "object",
55
+ "additionalProperties": true
56
+ }
57
+ }
58
+ }
@@ -0,0 +1,197 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Claude Code Hooks Configuration",
4
+ "description": "Configuration for Claude Code hooks. Supports current Claude Code hook events and hook action types.",
5
+ "$defs": {
6
+ "stringArray": {
7
+ "type": "array",
8
+ "items": {
9
+ "type": "string",
10
+ "minLength": 1
11
+ },
12
+ "minItems": 1
13
+ },
14
+ "commandHookItem": {
15
+ "type": "object",
16
+ "required": [
17
+ "type",
18
+ "command"
19
+ ],
20
+ "properties": {
21
+ "type": {
22
+ "type": "string",
23
+ "const": "command",
24
+ "description": "Run a local command"
25
+ },
26
+ "command": {
27
+ "oneOf": [
28
+ {
29
+ "type": "string",
30
+ "minLength": 1
31
+ },
32
+ {
33
+ "$ref": "#/$defs/stringArray"
34
+ }
35
+ ]
36
+ },
37
+ "async": {
38
+ "type": "boolean",
39
+ "description": "Run hook asynchronously in background without blocking"
40
+ },
41
+ "timeout": {
42
+ "type": "number",
43
+ "minimum": 0,
44
+ "description": "Timeout in seconds for async hooks"
45
+ }
46
+ },
47
+ "additionalProperties": true
48
+ },
49
+ "httpHookItem": {
50
+ "type": "object",
51
+ "required": [
52
+ "type",
53
+ "url"
54
+ ],
55
+ "properties": {
56
+ "type": {
57
+ "type": "string",
58
+ "const": "http"
59
+ },
60
+ "url": {
61
+ "type": "string",
62
+ "minLength": 1
63
+ },
64
+ "headers": {
65
+ "type": "object",
66
+ "additionalProperties": {
67
+ "type": "string"
68
+ }
69
+ },
70
+ "allowedEnvVars": {
71
+ "$ref": "#/$defs/stringArray"
72
+ },
73
+ "timeout": {
74
+ "type": "number",
75
+ "minimum": 0
76
+ }
77
+ },
78
+ "additionalProperties": true
79
+ },
80
+ "promptHookItem": {
81
+ "type": "object",
82
+ "required": [
83
+ "type",
84
+ "prompt"
85
+ ],
86
+ "properties": {
87
+ "type": {
88
+ "type": "string",
89
+ "enum": ["prompt", "agent"]
90
+ },
91
+ "prompt": {
92
+ "type": "string",
93
+ "minLength": 1
94
+ },
95
+ "model": {
96
+ "type": "string",
97
+ "minLength": 1
98
+ },
99
+ "timeout": {
100
+ "type": "number",
101
+ "minimum": 0
102
+ }
103
+ },
104
+ "additionalProperties": true
105
+ },
106
+ "hookItem": {
107
+ "oneOf": [
108
+ {
109
+ "$ref": "#/$defs/commandHookItem"
110
+ },
111
+ {
112
+ "$ref": "#/$defs/httpHookItem"
113
+ },
114
+ {
115
+ "$ref": "#/$defs/promptHookItem"
116
+ }
117
+ ]
118
+ },
119
+ "matcherEntry": {
120
+ "type": "object",
121
+ "required": [
122
+ "hooks"
123
+ ],
124
+ "properties": {
125
+ "matcher": {
126
+ "oneOf": [
127
+ {
128
+ "type": "string"
129
+ },
130
+ {
131
+ "type": "object"
132
+ }
133
+ ]
134
+ },
135
+ "hooks": {
136
+ "type": "array",
137
+ "items": {
138
+ "$ref": "#/$defs/hookItem"
139
+ }
140
+ },
141
+ "description": {
142
+ "type": "string"
143
+ }
144
+ }
145
+ }
146
+ },
147
+ "oneOf": [
148
+ {
149
+ "type": "object",
150
+ "properties": {
151
+ "$schema": {
152
+ "type": "string"
153
+ },
154
+ "hooks": {
155
+ "type": "object",
156
+ "propertyNames": {
157
+ "enum": [
158
+ "SessionStart",
159
+ "UserPromptSubmit",
160
+ "PreToolUse",
161
+ "PermissionRequest",
162
+ "PostToolUse",
163
+ "PostToolUseFailure",
164
+ "Notification",
165
+ "SubagentStart",
166
+ "Stop",
167
+ "SubagentStop",
168
+ "PreCompact",
169
+ "InstructionsLoaded",
170
+ "TeammateIdle",
171
+ "TaskCompleted",
172
+ "ConfigChange",
173
+ "WorktreeCreate",
174
+ "WorktreeRemove",
175
+ "SessionEnd"
176
+ ]
177
+ },
178
+ "additionalProperties": {
179
+ "type": "array",
180
+ "items": {
181
+ "$ref": "#/$defs/matcherEntry"
182
+ }
183
+ }
184
+ }
185
+ },
186
+ "required": [
187
+ "hooks"
188
+ ]
189
+ },
190
+ {
191
+ "type": "array",
192
+ "items": {
193
+ "$ref": "#/$defs/matcherEntry"
194
+ }
195
+ }
196
+ ]
197
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "cc4pm Install Components",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "version",
8
+ "components"
9
+ ],
10
+ "properties": {
11
+ "version": {
12
+ "type": "integer",
13
+ "minimum": 1
14
+ },
15
+ "components": {
16
+ "type": "array",
17
+ "items": {
18
+ "type": "object",
19
+ "additionalProperties": false,
20
+ "required": [
21
+ "id",
22
+ "family",
23
+ "description",
24
+ "modules"
25
+ ],
26
+ "properties": {
27
+ "id": {
28
+ "type": "string",
29
+ "pattern": "^(baseline|lang|framework|capability):[a-z0-9-]+$"
30
+ },
31
+ "family": {
32
+ "type": "string",
33
+ "enum": [
34
+ "baseline",
35
+ "language",
36
+ "framework",
37
+ "capability"
38
+ ]
39
+ },
40
+ "description": {
41
+ "type": "string",
42
+ "minLength": 1
43
+ },
44
+ "modules": {
45
+ "type": "array",
46
+ "minItems": 1,
47
+ "items": {
48
+ "type": "string",
49
+ "pattern": "^[a-z0-9-]+$"
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,105 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "cc4pm Install Modules",
4
+ "type": "object",
5
+ "properties": {
6
+ "version": {
7
+ "type": "integer",
8
+ "minimum": 1
9
+ },
10
+ "modules": {
11
+ "type": "array",
12
+ "minItems": 1,
13
+ "items": {
14
+ "type": "object",
15
+ "properties": {
16
+ "id": {
17
+ "type": "string",
18
+ "pattern": "^[a-z0-9-]+$"
19
+ },
20
+ "kind": {
21
+ "type": "string",
22
+ "enum": [
23
+ "rules",
24
+ "agents",
25
+ "commands",
26
+ "hooks",
27
+ "platform",
28
+ "orchestration",
29
+ "skills"
30
+ ]
31
+ },
32
+ "description": {
33
+ "type": "string",
34
+ "minLength": 1
35
+ },
36
+ "paths": {
37
+ "type": "array",
38
+ "minItems": 1,
39
+ "items": {
40
+ "type": "string",
41
+ "minLength": 1
42
+ }
43
+ },
44
+ "targets": {
45
+ "type": "array",
46
+ "minItems": 1,
47
+ "items": {
48
+ "type": "string",
49
+ "enum": [
50
+ "claude",
51
+ "cursor",
52
+ "antigravity",
53
+ "codex",
54
+ "opencode"
55
+ ]
56
+ }
57
+ },
58
+ "dependencies": {
59
+ "type": "array",
60
+ "items": {
61
+ "type": "string",
62
+ "pattern": "^[a-z0-9-]+$"
63
+ }
64
+ },
65
+ "defaultInstall": {
66
+ "type": "boolean"
67
+ },
68
+ "cost": {
69
+ "type": "string",
70
+ "enum": [
71
+ "light",
72
+ "medium",
73
+ "heavy"
74
+ ]
75
+ },
76
+ "stability": {
77
+ "type": "string",
78
+ "enum": [
79
+ "experimental",
80
+ "beta",
81
+ "stable"
82
+ ]
83
+ }
84
+ },
85
+ "required": [
86
+ "id",
87
+ "kind",
88
+ "description",
89
+ "paths",
90
+ "targets",
91
+ "dependencies",
92
+ "defaultInstall",
93
+ "cost",
94
+ "stability"
95
+ ],
96
+ "additionalProperties": false
97
+ }
98
+ }
99
+ },
100
+ "required": [
101
+ "version",
102
+ "modules"
103
+ ],
104
+ "additionalProperties": false
105
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "cc4pm Install Profiles",
4
+ "type": "object",
5
+ "properties": {
6
+ "version": {
7
+ "type": "integer",
8
+ "minimum": 1
9
+ },
10
+ "profiles": {
11
+ "type": "object",
12
+ "minProperties": 1,
13
+ "propertyNames": {
14
+ "pattern": "^[a-z0-9-]+$"
15
+ },
16
+ "additionalProperties": {
17
+ "type": "object",
18
+ "properties": {
19
+ "description": {
20
+ "type": "string",
21
+ "minLength": 1
22
+ },
23
+ "modules": {
24
+ "type": "array",
25
+ "minItems": 1,
26
+ "items": {
27
+ "type": "string",
28
+ "pattern": "^[a-z0-9-]+$"
29
+ }
30
+ }
31
+ },
32
+ "required": [
33
+ "description",
34
+ "modules"
35
+ ],
36
+ "additionalProperties": false
37
+ }
38
+ }
39
+ },
40
+ "required": [
41
+ "version",
42
+ "profiles"
43
+ ],
44
+ "additionalProperties": false
45
+ }
@@ -0,0 +1,210 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "cc4pm install state",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "schemaVersion",
8
+ "installedAt",
9
+ "target",
10
+ "request",
11
+ "resolution",
12
+ "source",
13
+ "operations"
14
+ ],
15
+ "properties": {
16
+ "schemaVersion": {
17
+ "type": "string",
18
+ "const": "ecc.install.v1"
19
+ },
20
+ "installedAt": {
21
+ "type": "string",
22
+ "minLength": 1
23
+ },
24
+ "lastValidatedAt": {
25
+ "type": "string",
26
+ "minLength": 1
27
+ },
28
+ "target": {
29
+ "type": "object",
30
+ "additionalProperties": false,
31
+ "required": [
32
+ "id",
33
+ "root",
34
+ "installStatePath"
35
+ ],
36
+ "properties": {
37
+ "id": {
38
+ "type": "string",
39
+ "minLength": 1
40
+ },
41
+ "target": {
42
+ "type": "string",
43
+ "minLength": 1
44
+ },
45
+ "kind": {
46
+ "type": "string",
47
+ "enum": [
48
+ "home",
49
+ "project"
50
+ ]
51
+ },
52
+ "root": {
53
+ "type": "string",
54
+ "minLength": 1
55
+ },
56
+ "installStatePath": {
57
+ "type": "string",
58
+ "minLength": 1
59
+ }
60
+ }
61
+ },
62
+ "request": {
63
+ "type": "object",
64
+ "additionalProperties": false,
65
+ "required": [
66
+ "profile",
67
+ "modules",
68
+ "includeComponents",
69
+ "excludeComponents",
70
+ "legacyLanguages",
71
+ "legacyMode"
72
+ ],
73
+ "properties": {
74
+ "profile": {
75
+ "type": [
76
+ "string",
77
+ "null"
78
+ ]
79
+ },
80
+ "modules": {
81
+ "type": "array",
82
+ "items": {
83
+ "type": "string",
84
+ "minLength": 1
85
+ }
86
+ },
87
+ "includeComponents": {
88
+ "type": "array",
89
+ "items": {
90
+ "type": "string",
91
+ "minLength": 1
92
+ }
93
+ },
94
+ "excludeComponents": {
95
+ "type": "array",
96
+ "items": {
97
+ "type": "string",
98
+ "minLength": 1
99
+ }
100
+ },
101
+ "legacyLanguages": {
102
+ "type": "array",
103
+ "items": {
104
+ "type": "string",
105
+ "minLength": 1
106
+ }
107
+ },
108
+ "legacyMode": {
109
+ "type": "boolean"
110
+ }
111
+ }
112
+ },
113
+ "resolution": {
114
+ "type": "object",
115
+ "additionalProperties": false,
116
+ "required": [
117
+ "selectedModules",
118
+ "skippedModules"
119
+ ],
120
+ "properties": {
121
+ "selectedModules": {
122
+ "type": "array",
123
+ "items": {
124
+ "type": "string",
125
+ "minLength": 1
126
+ }
127
+ },
128
+ "skippedModules": {
129
+ "type": "array",
130
+ "items": {
131
+ "type": "string",
132
+ "minLength": 1
133
+ }
134
+ }
135
+ }
136
+ },
137
+ "source": {
138
+ "type": "object",
139
+ "additionalProperties": false,
140
+ "required": [
141
+ "repoVersion",
142
+ "repoCommit",
143
+ "manifestVersion"
144
+ ],
145
+ "properties": {
146
+ "repoVersion": {
147
+ "type": [
148
+ "string",
149
+ "null"
150
+ ]
151
+ },
152
+ "repoCommit": {
153
+ "type": [
154
+ "string",
155
+ "null"
156
+ ]
157
+ },
158
+ "manifestVersion": {
159
+ "type": "integer",
160
+ "minimum": 1
161
+ }
162
+ }
163
+ },
164
+ "operations": {
165
+ "type": "array",
166
+ "items": {
167
+ "type": "object",
168
+ "additionalProperties": true,
169
+ "required": [
170
+ "kind",
171
+ "moduleId",
172
+ "sourceRelativePath",
173
+ "destinationPath",
174
+ "strategy",
175
+ "ownership",
176
+ "scaffoldOnly"
177
+ ],
178
+ "properties": {
179
+ "kind": {
180
+ "type": "string",
181
+ "minLength": 1
182
+ },
183
+ "moduleId": {
184
+ "type": "string",
185
+ "minLength": 1
186
+ },
187
+ "sourceRelativePath": {
188
+ "type": "string",
189
+ "minLength": 1
190
+ },
191
+ "destinationPath": {
192
+ "type": "string",
193
+ "minLength": 1
194
+ },
195
+ "strategy": {
196
+ "type": "string",
197
+ "minLength": 1
198
+ },
199
+ "ownership": {
200
+ "type": "string",
201
+ "minLength": 1
202
+ },
203
+ "scaffoldOnly": {
204
+ "type": "boolean"
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Package Manager Configuration",
4
+ "type": "object",
5
+ "properties": {
6
+ "packageManager": {
7
+ "type": "string",
8
+ "enum": [
9
+ "npm",
10
+ "pnpm",
11
+ "yarn",
12
+ "bun"
13
+ ]
14
+ },
15
+ "setAt": {
16
+ "type": "string",
17
+ "format": "date-time",
18
+ "description": "ISO 8601 timestamp when the preference was last set"
19
+ }
20
+ },
21
+ "required": ["packageManager"],
22
+ "additionalProperties": false
23
+ }