Skip to content

v1.0.20

Choose a tag to compare

@zanjonke zanjonke released this 07 Aug 06:04
· 73 commits to main since this release

New features & improvements

  • New codeplain output layout throughout the rules and skills. Generated code and unit tests now live in plain_modules/<module>/code, and conformance tests in plain_modules/<module>/tests — one folder per functional spec — replacing the top-level conformance_tests/ directory. Section ownership follows suit: :UnitTests: sit in code/, :ConformanceTests: in tests/.
  • Test scripts document the new argument contract. Unit-test and prepare-environment runners receive plain_modules/<module>/code; the conformance runner receives that plus plain_modules/<module>/tests/<functionality>.
  • requires modules copy <required_module>/code as their starting point.
  • Automated npm publishing. Publishing a GitHub Release tagged vX.Y.Z ships that version to npm via OIDC trusted publishing, with provenance attestations and no stored token. Pre-releases go out under the next dist-tag.
  • CI on every pull request, running the suite across Node 18, 20 and 22, and required before a PR can merge to main.
  • Slack notifications for merges to main and for release start / success / failure.
  • scripts/deploy.sh publishes a release from a workstation when Actions is unavailable, including Slack notifications and the Deployments record.

Fixes

  • Fixed npm test failing on Node 18 and 20 — node --test only expands glob patterns from Node 22, so the quoted test/**/*.test.mjs reached Node as a literal path. The script now passes a shell-expanded file list, honouring the declared engines: >=18.
  • Removed conformance-tests-folder from init-config-file: the option no longer exists in the codeplain CLI, so the skill was documenting a key the renderer rejects.
  • Re-synced AGENTS.md with CLAUDE.md, which had drifted and still carried the broken test command.

Internal improvements

  • Three workflows under .github/workflows/: ci.yml (PR tests), pr-notify.yml (merge notifications), publish.yml (release-triggered npm publish). All default to permissions: {} with per-job opt-in, and every Slack step is guarded so the workflows run cleanly without the webhook secret.
  • main protected by required status checks; force pushes and branch deletion disabled.
  • Releases are recorded under Deployments → npm, from both the workflow and the local script.
  • Added a technical onboarding presentation under presentations/.

Full Changelog: v1.0.19...v1.0.20