modifying-cli-manifest-schema

Updates the Golem application manifest JSON schema and aligns CLI schema references.

1.5k|212|Updated Nov 24, 2023
One-click install
npx skills add https://github.com/golemcloud/golem --skill modifying-cli-manifest-schema
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: modifying-cli-manifest-schema
Source: https://github.com/golemcloud/golem/tree/main/.agents/skills/modifying-cli-manifest-schema
Command: npx skills add https://github.com/golemcloud/golem --skill modifying-cli-manifest-schema

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Changing the Golem application manifest JSON schema requires coordinated edits across schema files, Rust models, serde behavior, version constants, templates, and tests, and mistakes create mismatches between parsing and validation.

Core Features & Use Cases

  • Schema Contract Editing: Modify the current manifest schema under cli/schema.golem.cloud/app/golem/ in place, or publish a new schema directory only when release requirements demand it.
  • CLI Alignment: Update manifest_schema_version!(), sdk::MANIFEST, manifest version policy, and emitted $schema references so the CLI and schema describe one contract.
  • Use Case: When adding a new field to the Golem app manifest, use this Skill to update the JSON schema, the Rust model in app_raw.rs, all templates and fixtures, and verify with cargo check -p golem-cli.

Quick Start

Ask the AI to add a new field to the Golem application manifest schema and update all CLI references accordingly.

Frequently Asked Questions about modifying-cli-manifest-schema

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I change the Golem application manifest JSON schema?

Edit the current schema directory named by manifest_schema_version!() in cli/golem-cli/src/versions.rs, then update the Rust manifest model, templates, fixtures, and tests so parsing and validation agree. Run cargo check -p golem-cli to verify.

What is the difference between manifest version and manifest schema version in Golem?

The manifest version is the YAML document version exposed as sdk::MANIFEST, while the manifest schema version identifies the JSON schema directory under cli/schema.golem.cloud/app/golem/. They are separate concepts and do not have to change together.

When should I create a new schema directory instead of editing in place?

Create a new schema directory only when release or schema-hosting requirements call for a new publication identifier. Copy the current directory, update its $id, and make it the sole current reference; never backfill historical directories.

Does the Golem CLI keep backward compatibility with older manifest versions?

No. This workflow explicitly forbids compatibility parsing, fallback defaults, aliases, migrations, or upgrade paths for older manifest versions. The CLI accepts only the current contract defined by the active schema.

Which files must be updated when adding a manifest field in golem-cli?

Update versions.rs, the schema JSON, the model in app_raw.rs, manifest_version.rs and manifest_upgrade.rs if the document version changes, plus snippet.rs, build/check/mod.rs, and all tests with embedded $schema references.