Skip to main content

Roadmap

Missing pieces

  • CTS command contract (purpose, invocation, inputs, outputs, machine mode, stability notes)
  • Exit code table documented against CTS exit-code bands
  • Documented JSON/machine-readable output schema, or a CommandOutput.schema.json envelope
  • --help output and documented --help behavior (required by CTS)
  • --version output, documented
  • Human and automation examples (command-line examples, --json automation examples)
  • Error examples and a documented machine-readable error object for JSON mode
  • Release checklist and release verification artifacts (build/test/artifact verification)
  • Documentation of a machine-readable mode flag (e.g. --json) with a guarantee that progress text isn't emitted to stdout

Next steps

  1. Author a CTS-aligned command contract for generate_theme.py and include it in repo docs
  2. Add and document explicit exit codes following CTS bands, and verify the implementation matches
  3. Implement and document a --json machine-readable output mode using the CTS JSON envelope (status/tool/version/data/warnings/errors)
  4. Provide --help and --version CLI flags and document their behavior in the README and examples
  5. Record runnable human and automation examples, including a minimal automation snippet parsing JSON output
  6. Run build/test and artifact verification; record results in the manifest's verification fields
  7. Add a packaging script or documented steps to build the VSIX from the generated apt-themes-extension
  8. Preserve palette provenance metadata in generated themes and document regeneration rules (per AGENTS.md)

Potential improvements

  • Automated contrast and accessibility checks during generation, with warnings surfaced in machine-readable output
  • Schema-driven generation so new target formats can be added via small adapters rather than hand-written serializers
  • Unit/integration tests validating generated theme JSON/XML/ICLS against target format schemas
  • A small subcommand to list available palettes and preview semantic token assignments before generating
  • Embedded provenance metadata (source palette file, timestamp, generator version) in generated theme files

Creative enhancements (ideas on file, not committed)

  • A machine-readable provenance log (JSONL) per generation run, recording palette source, token mapping decisions, and output artifacts for archival search
  • An interactive local preview (small static HTML) rendering sample code with generated theme colors, for quick visual QA without installing IDE themes
  • "Palette blending" to auto-create theme variants, enumerated with semantic metadata for archival comparisons
  • A small metadata sidecar (YAML/JSON) describing which palette tokens map to which syntax roles, enabling downstream analytics
  • A lightweight "theme sign-off" step tagging generated artifacts with manifest version and operator initials for auditability