docs: fix examples README, README TS imports, and init-template skills (schedule/npm/ruby/gha-404)#131
Merged
Conversation
…skills The DSL evolved (bun/npm folded into the unified `js` toolchain, Ruby toolchain removed, schedule trigger + croniter dropped, TS package renamed to @harmont/hm), but several docs and embedded skill templates still advertised the old API surface. Agents and users following them hit AttributeErrors, unknown-arg errors, dead URLs, and 404 fetches. - examples/README.md: `hm.npm`/`hm.bun`/`hm.ruby` -> `hm.js.project(...)` (bun: `runtime="bun"`); drop the deleted `[ruby](./ruby)` row; replace the invalid `hm run <slug> --local` / `hm run ci --local` with `hm run` (local Docker is the default backend) plus a `--backend cloud` note. (examples-readme-dead-toolchain-calls-1, examples-readme-local-flag-1) - README.md: TypeScript quickstart imports `harmont` / `harmont/toolchains` -> `@harmont/hm` / `@harmont/hm/toolchains` (the published name). Python example left as-is (PyPI package is still `harmont`). (ts-pkg-rename-readme-1) - skill_write_pipeline.md + committed .claude/skills/write-pipeline/SKILL.md: drop the removed `schedule` trigger from the triggers guidance; `npm` -> `js` in the toolchain list; remove stale Ruby references from the committed dogfood copy so it byte-matches the embedded template. (skills-schedule-removed-1, skills-npm-toolchain-1, claude-skill-ruby-stale-1) - skill_convert_gha.md: `on: schedule` now maps to "No local DSL trigger" (a Harmont Cloud concern) instead of a bogus "Direct mapping"; soften the inventory note and add schedule to the real-gaps list; `hm.npm` -> `hm.js` in the setup-* mapping; remove the dead WebFetch of the 404 docs.harmont.dev/examples/github-actions.md. (skills-schedule-removed-1, skills-npm-toolchain-1, skills-gha-example-404-1)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes stale API-surface references in user- and agent-facing docs that the DSL evolution left behind. The published surface changed (npm/bun folded into a unified
jstoolchain, the Ruby toolchain removed, thescheduletrigger + croniter dropped, the TS package renamed to@harmont/hm), but several docs and embeddedhm initskill templates still advertised the old API. Agents and users following them hitAttributeErrors, unknown-arg errors, dead doc rows, and 404 fetches.Changes (single commit, 5 files):
hm.npm/hm.bun/hm.ruby→hm.js.project(...)(bun →runtime="bun"); drop the deleted[ruby](./ruby)table row; replace the invalidhm run <slug> --local/hm run ci --localwithhm run(local Docker is the default backend) plus a--backend cloudnote.harmont/harmont/toolchains→@harmont/hm/@harmont/hm/toolchains(the published name). Python example left as-is (the PyPI package is stillharmont).scheduletrigger from the triggers guidance;npm→jsin the toolchain list; remove stale Ruby references so the committed dogfood copy byte-matches the embedded template.on: schedulenow maps to "No local DSL trigger" (a Harmont Cloud concern) instead of a bogus "Direct mapping"; add schedule to the real-gaps list;hm.npm→hm.jsin the setup-* mapping; remove the dead WebFetch of the 404docs.harmont.dev/examples/github-actions.md.Findings addressed
examples-readme-dead-toolchain-calls-1examples-readme-local-flag-1ts-pkg-rename-readme-1skills-schedule-removed-1skills-npm-toolchain-1claude-skill-ruby-stale-1skills-gha-example-404-1Verification evidence
Claims in the edited docs were checked against the current code in the branch:
hm.js.project(...)exists and acceptsruntime→grep -n "def project" crates/hm-dsl-engine/harmont-py/harmont/_js.py→233: def project(withruntime: Runtime | None = None.runtime="bun"is valid →_js.py:38 Runtime = Literal["node", "bun", "deno"].ls crates/hm-dsl-engine/harmont-py/harmont/_ruby.py→No such file or directory.scheduletrigger removed →grep -in "schedule" crates/hm-dsl-engine/harmont-py/harmont/triggers.py→ no matches.crates/hm-dsl-engine/harmont-ts/package.json:2 "name": "@harmont/hm".--backend cloudflag exists (and--localis gone, so the oldhm run ... --localis correctly replaced) →crates/hm/src/cli/run.rs:59 pub backend: Option<String>, docstringdocker (default) ... cloud submits it to Harmont Cloud.diff crates/hm/src/commands/init_templates/skill_write_pipeline.md .claude/skills/write-pipeline/SKILL.md→ IDENTICAL.Docs-only change to Markdown files; no Rust/Python/TS source touched, so no compile/test impact.
Judge verdict
Approved. No blocking issues. Implementer verification passed.
Generated by the Harmont release-readiness workflow (automated; needs human review before merge). 🤖