Skip to content

Commit e70126c

Browse files
committed
chore(skills): add desktop manifest workflow
1 parent 54c7da9 commit e70126c

3 files changed

Lines changed: 41 additions & 6 deletions

File tree

.agents/skills/manifest-automation/SKILL.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: manifest-automation
3-
description: Prepares and guides evidence-backed creation or updates of CLI, extension, IDE, model, provider, and vendor manifests in this repository. Use when manifest data must be researched, merged, localized, and validated against the current schemas.
3+
description: Prepares and guides evidence-backed creation or updates of CLI, desktop, extension, IDE, model, provider, and vendor manifests in this repository. Use when manifest data must be researched, merged, localized, and validated against the current schemas.
44
---
55

66
# Manifest Automation
@@ -14,7 +14,7 @@ node .agents/skills/manifest-automation/scripts/automate.mjs create model exampl
1414
node .agents/skills/manifest-automation/scripts/automate.mjs update model existing-model
1515
```
1616

17-
Supported types: `cli`, `extension`, `ide`, `model`, `provider`, and `vendor`.
17+
Supported types: `cli`, `desktop`, `extension`, `ide`, `model`, `provider`, and `vendor`.
1818

1919
## Required workflow
2020

@@ -30,6 +30,8 @@ Supported types: `cli`, `extension`, `ide`, `model`, `provider`, and `vendor`.
3030
## Merge policy
3131

3232
- Immutable identity fields such as `id` are preserved.
33+
- Use `familyId` to group surfaces that official sources present as one product family; keep `relatedProducts` bidirectional for explicit navigation.
34+
- Classify a standalone native app for delegating or supervising coding agents as `desktop`. Keep products whose primary first-party surface is an editor under `ide`; do not classify web or cloud-only services as desktop products.
3335
- Mutable facts may change only with current, authoritative evidence.
3436
- Object arrays are merged by their schema identity, not by raw object equality.
3537
- Pricing, license, lifecycle, availability, model limits, install commands, and marketplace identifiers require explicit verification.
@@ -40,7 +42,7 @@ The merge helper is advisory. Always inspect its proposed result before applying
4042

4143
## GitHub stars
4244

43-
`data/github-stars.json` tracks only `cli`, `extension`, `ide`, and `model` entries. Add an entry only when the entity has an official GitHub repository and the repository's fetch workflow supports that manifest. Providers and vendors are not tracked.
45+
`data/github-stars.json` tracks `cli`, `desktop`, `extension`, `ide`, and selected `model` entries. Every CLI, desktop, extension, and IDE manifest must have a corresponding entry; use `null` when no official repository or trustworthy count is available. Providers and vendors are not tracked.
4446

4547
## Validation
4648

.agents/skills/manifest-automation/scripts/lib/config.mjs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
*/
66

77
// Supported manifest types
8-
export const MANIFEST_TYPES = ['cli', 'extension', 'ide', 'model', 'provider', 'vendor']
8+
export const MANIFEST_TYPES = ['cli', 'desktop', 'extension', 'ide', 'model', 'provider', 'vendor']
99

1010
// Schema path mapping
1111
export const SCHEMA_PATHS = {
1212
cli: 'manifests/$schemas/cli.schema.json',
13+
desktop: 'manifests/$schemas/desktop.schema.json',
1314
extension: 'manifests/$schemas/extension.schema.json',
1415
ide: 'manifests/$schemas/ide.schema.json',
1516
model: 'manifests/$schemas/model.schema.json',
@@ -20,6 +21,7 @@ export const SCHEMA_PATHS = {
2021
// Manifest output path mapping
2122
export const MANIFEST_PATHS = {
2223
cli: name => `manifests/clis/${name}.json`,
24+
desktop: name => `manifests/desktops/${name}.json`,
2325
extension: name => `manifests/extensions/${name}.json`,
2426
ide: name => `manifests/ides/${name}.json`,
2527
model: name => `manifests/models/${name}.json`,
@@ -30,6 +32,7 @@ export const MANIFEST_PATHS = {
3032
// Workflow file mapping
3133
export const WORKFLOW_PATHS = {
3234
cli: '.agents/skills/manifest-automation/scripts/workflows/cli-workflow.md',
35+
desktop: '.agents/skills/manifest-automation/scripts/workflows/desktop-workflow.md',
3336
extension: '.agents/skills/manifest-automation/scripts/workflows/extension-workflow.md',
3437
ide: '.agents/skills/manifest-automation/scripts/workflows/ide-workflow.md',
3538
model: '.agents/skills/manifest-automation/scripts/workflows/model-workflow.md',
@@ -59,7 +62,7 @@ export const FIELD_CATEGORIES = {
5962
],
6063

6164
// Preserve identity, relationships, and localized copy for manual review.
62-
PRESERVE: ['id', 'name', 'translations', 'relatedProducts', 'vendor', 'provider'],
65+
PRESERVE: ['id', 'familyId', 'name', 'translations', 'relatedProducts', 'vendor', 'provider'],
6366

6467
// Smart merge: add new, keep existing
6568
MERGE_ADDITIVE: ['communityUrls', 'platformUrls', 'supportedIdes', 'platforms'],
@@ -79,7 +82,7 @@ export const FIELD_CATEGORIES = {
7982
}
8083

8184
// Platform OS enum values
82-
export const PLATFORM_OS = ['macos', 'windows', 'linux', 'web']
85+
export const PLATFORM_OS = ['macOS', 'Windows', 'Linux']
8386

8487
// IDE enum values for extensions
8588
export const IDE_TYPES = ['vscode', 'cursor', 'windsurf', 'trae', 'zed', 'jetbrains']
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Desktop manifest workflow
2+
3+
## Read before editing
4+
5+
- `manifests/$schemas/desktop.schema.json` and referenced schemas
6+
- `src/types/manifests.ts`
7+
- the target manifest and two current desktop examples
8+
- related CLI, extension, IDE, and vendor manifests
9+
10+
## Classification boundary
11+
12+
Use `desktop` for a standalone native application whose primary workflow is delegating, coordinating, or reviewing coding-agent work. A product may share one `familyId` with CLI or extension surfaces. Keep editor-first products under `ide`, and exclude browser-only, hosted, and cloud execution products.
13+
14+
## Evidence checklist
15+
16+
Use the official product/download page, documentation, release notes, repository, pricing page, and license. Verify that the native desktop build actually exists for each recorded OS. Do not infer a Windows or Linux build from a generic product page.
17+
18+
## Create or update
19+
20+
1. Keep filename, `id`, official name, vendor, and `familyId` aligned.
21+
2. Record only schema-supported operating systems and documented install or launch commands.
22+
3. Do not invent application paths; use `null` when an optional value is undocumented.
23+
4. Use the latest stable version when published; otherwise use the vendor's documented release label without inventing a number.
24+
5. Copy pricing and license facts without conversion or extrapolation.
25+
6. Add bidirectional `relatedProducts` links for verified CLI, extension, IDE, or desktop siblings.
26+
7. Keep every configured locale complete and semantically aligned.
27+
28+
## Validation
29+
30+
Run the parent skill's validation sequence. Confirm that GitHub stars, generated indexes, navigation counts, vendor pages, search, sitemap, and related-product links all include the new desktop manifest.

0 commit comments

Comments
 (0)