本参考面向正在编写 jarvis-pack.yaml 的扩展作者。用它核对字段名称、默认值和常见校验失败原因。
未知字段会校验失败。Phase 1 不支持 main、entrypoint、activationCode、scripts、preInstall 或 postInstall。
| Field |
Type |
Required |
Default |
Validation |
Notes |
schemaVersion |
integer |
yes |
none |
Must be 1 |
Manifest schema version. |
id |
string |
yes |
none |
Must match [a-z0-9][a-z0-9.-]{2,80} and equal {publisher}.{name} |
Stable pack identity. |
publisher |
string |
yes |
none |
Non-empty string |
Namespace owner. |
name |
string |
yes |
none |
Lowercase name recommended |
Combined with publisher to form id. |
displayName |
string |
yes |
none |
Non-empty string |
UI label. |
version |
string |
yes |
none |
Must parse as a package version |
Used for installed state and packaging. |
description |
string |
no |
empty |
String |
Short pack summary. |
license |
string |
no |
empty |
String |
SPDX identifier recommended. |
repository |
string |
no |
empty |
String |
Public repository URL if available. |
engines |
object |
yes |
none |
See engines.jarvis |
Compatibility contract. |
categories |
string array |
no |
[] |
Strings |
Search and grouping metadata. |
activation |
object |
no |
manual activation |
See activation fields |
Advisory applicability in Phase 1. |
permissions |
object |
no |
no requested capabilities |
See permissions fields |
Displayed before install. |
secrets |
object array |
no |
[] |
Name must be non-empty |
Declare secret names only. |
contributes |
object |
yes |
none |
At least valid contribution arrays |
Profiles, workflows and commands. |
annotations |
string map |
no |
{} |
String keys and values |
Extension-specific metadata. |
| Field |
Type |
Required |
Default |
Validation |
Notes |
engines.jarvis |
string |
yes |
none |
Version specifier such as >=0.0.1 |
Current Jarvis version must satisfy it. |
| Field |
Type |
Required |
Default |
Validation |
Notes |
manual |
boolean |
no |
true |
Boolean |
User can install/enable manually. |
workspaceContains |
string array |
no |
[] |
Paths or globs |
Advisory visibility hint. It does not run code. |
onStartupFinished |
boolean |
no |
false |
Boolean |
Reserved for future host-triggered suggestions. |
| Field |
Type |
Required |
Default |
Validation |
Notes |
sessions.launch |
boolean |
no |
false |
Boolean |
Pack commands or workflows may launch worker sessions. |
profiles.mcpServers |
boolean |
no |
false |
Boolean |
Profile includes MCP servers. |
filesystem.read |
string array |
no |
[] |
Strings |
Declares read intent such as ${workspace}. |
filesystem.write |
string array |
no |
[] |
Strings |
Broad writes are high risk. |
terminal.requested |
boolean |
no |
false |
Boolean |
Terminal/Bash use is high risk. |
network.outbound |
string array |
no |
[] |
Strings |
No automatic network fetch is performed by the pack installer. |
| Field |
Type |
Required |
Default |
Validation |
Notes |
name |
string |
yes |
none |
1 to 100 characters |
Name only, not a value. |
required |
boolean |
no |
false |
Boolean |
Whether the workflow needs it. |
description |
string |
no |
empty |
String |
Explain where the value is expected. |