Skip to content

Add config schema version + platforms to init/reference defaults #14

@tsavo-at-pieces

Description

@tsavo-at-pieces

Overview

Two related gaps in config schema management:

1. No config schema version in consumer config.json

Consumer `config.json` files have no `schema_version` field. When the tooling evolves and adds new fields (like `platforms` was added in v0.11.0), there's no way to distinguish "user intentionally omitted this" from "config predates this feature".

Fix: Add `"config_version": 2` (or semver) to config.json. Add a startup warning when config version is older than tooling expects.

2. Reference template and init missing `platforms` key

The `init` command and reference `templates/config.json` don't include `platforms`. This means:

  • New consumers don't discover multi-platform CI exists
  • `update --config` (mergeable category) can't add the key to existing configs
  • Feature is only discoverable by reading source code

Fix: Add `"platforms": ["ubuntu"]` to both `templates/config.json` and `init_command.dart` defaults.

Acceptance Criteria

  • Config schema version field added and documented
  • `platforms` key in init defaults and reference template
  • `update --config` can merge the `platforms` key into existing configs
  • Warning when config version is outdated

Metadata

Metadata

Labels

P2-mediumMedium priorityarea/ci-cdCI/CD workflow generationenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions