Skip to content

Declarative apply spec + direct dev commands#111

Closed
MrTango wants to merge 1 commit into
masterfrom
feature/declarative-spec-green-scaffolding
Closed

Declarative apply spec + direct dev commands#111
MrTango wants to merge 1 commit into
masterfrom
feature/declarative-spec-green-scaffolding

Conversation

@MrTango
Copy link
Copy Markdown
Contributor

@MrTango MrTango commented May 26, 2026

Summary

  • plonecli apply <spec.yaml>: scaffold an addon + all features from one declarative YAML, fully non-interactive, with --check dry-run and fail-fast validation (unknown templates/answers, missing required answers, invalid choices). New plonecli/spec.py.
  • test/serve/debug now run uv run/runwsgi/pytest directly (no invoke); added plonecli check (ruff + pytest).
  • Feed config plone_version (reduced to minor for backend_addon) and github_user into copier user_defaults.
  • Skill docs: new reference/spec.md, updated command map, language template and dynamic service_for in reference/templates.md.

Pairs with plone/copier-templates# (green, i18n-ready templates + language subtemplate).

Test plan

  • uv run --extra test pytest -m "not integration" — 119 passed
  • uv run ruff check plonecli/spec.py and new test files — clean
  • Integration: pytest -m integration tests/test_spec_e2e_integration.py — generates from a spec, ruff-clean, 23 generated tests pass in a real Plone

- apply <spec.yaml>: scaffold addon + features from one validated YAML, with
  --check dry-run and fail-fast validation (templates, answers, choices)
- test/serve/debug run uv run/runwsgi/pytest directly (no invoke); add check
- feed config plone_version (minor) and github_user into copier user_defaults
- document the spec format, language template and service_for in the skill
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant