You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -210,13 +216,7 @@ Component path entries fall into two categories based on how the host consumes t
210
216
211
217
#### File-Based Components
212
218
213
-
Components that are installed as individual files on disk. The component types `skills`, `agents`, `commands`, and `instructions` use this pattern.
214
-
215
-
| Property | Type | Required | Description |
216
-
|---|---|---|---|
217
-
|`filePaths`|`object`| REQUIRED | An object with optional `user` and `project` keys, each mapping to a filesystem path string. |
218
-
219
-
The `filePaths` object:
219
+
Components that are installed as individual files on disk. The component types `skills`, `agents`, `commands`, and `instructions` use this pattern. The component path entry is an object with optional `user` and `project` keys, each a string filesystem path.
220
220
221
221
| Key | Type | Description |
222
222
|---|---|---|
@@ -225,13 +225,9 @@ The `filePaths` object:
225
225
226
226
#### Config-Entry Components
227
227
228
-
Components that are registered as entries within a configuration file rather than placed as standalone files. The component types `hooks`, `mcp_servers`, and `lsp_servers` use this pattern.
229
-
230
-
| Property | Type | Required | Description |
231
-
|---|---|---|---|
232
-
|`configEntry`|`object`| REQUIRED | Describes the configuration file where the component is registered. |
228
+
Components that are registered as entries within a configuration file rather than placed as standalone files. The component types `hooks`, `mcp_servers`, and `lsp_servers` use this pattern. The component path entry is an object with optional `user` and `project` keys, each an object describing the configuration file for that scope.
233
229
234
-
The `configEntry` object:
230
+
Each scope object has the following properties:
235
231
236
232
| Key | Type | Required | Description |
237
233
|---|---|---|---|
@@ -256,47 +252,31 @@ The `component_paths` object as a whole MAY be version-gated at the top level.
Copy file name to clipboardExpand all lines: spec/specification.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ nav_order: 2
6
6
7
7
# ccpkg Specification
8
8
9
-
**Specification Version: 2026-02-14 (Draft)**
9
+
**Specification Version: 2026-02-22 (Draft)**
10
10
11
11
## Status
12
12
@@ -1092,15 +1092,15 @@ ccpkg integrates with each host's extension or plugin system, leveraging the hos
1092
1092
1093
1093
### Bootstrap
1094
1094
1095
-
On first use, ccpkg registers itself with the host's extension discovery system. The bootstrap process varies by host — some use marketplace registration, others use directory scanning or plugin manifests. The exact mechanism is defined in the host's adoption specification under `plugin_model`.
1095
+
On first use, ccpkg registers itself with the host's extension discovery system. The bootstrap process varies by host — some use marketplace registration, others use directory scanning or plugin manifests. The exact mechanism is defined in the host's adoption specification under `extension_model`.
1096
1096
1097
1097
### Plugin Registration
1098
1098
1099
1099
During installation, the installer performs two host-facing steps as defined by the host's adoption specification:
1100
1100
1101
-
1.**Generate host plugin manifest.** The installer creates the host's expected plugin manifest inside the install directory, mapping ccpkg manifest fields (name, version, description, author) to the host's manifest format. The manifest path and format are defined in the host's `plugin_model.manifest_path` field. Package authors SHOULD NOT include host-specific plugin manifests in their archives. If a host-specific manifest is present, the installer MUST use the generated version and MAY warn the author.
1101
+
1.**Generate host plugin manifest.** The installer creates the host's expected plugin manifest inside the install directory, mapping ccpkg manifest fields (name, version, description, author) to the host's manifest format. The manifest path and format are defined in the host's `extension_model.manifest.filename` field. Package authors SHOULD NOT include host-specific plugin manifests in their archives. If a host-specific manifest is present, the installer MUST use the generated version and MAY warn the author.
1102
1102
1103
-
2.**Register with host.** The installer registers the package with the host's extension system as described in the host's `adapter_interface` operations. This ensures the host recognizes the package on the next session start.
1103
+
2.**Register with host.** The installer registers the package with the host's extension system as described in the host's `extension_model.registration` mechanism. This ensures the host recognizes the package on the next session start.
1104
1104
1105
1105
These two steps — generating a plugin manifest and registering with the host — are the complete integration surface. The specific files and settings keys are defined in each host's [adoption specification](assistant-adoption.md).
0 commit comments