mirror of
https://github.com/cline/cline.git
synced 2026-09-19 02:05:44 +08:00
* ci: migrate SDK publish workflows to repo root Move publish-cli.yaml, publish-sdk.yaml, and test.yml (renamed to sdk-test.yml) from sdk/.github/workflows/ to the repo root so GitHub Actions actually picks them up. Adapt them to run with cwd sdk/ via workflow-level defaults.run.working-directory, repoint repo guards from cline/sdk to cline/cline, switch publish-sdk's nested test call to sdk-test.yml, add path filters on sdk-test.yml so it doesn't fire on extension-only PRs, and re-enable NPM_CONFIG_PROVENANCE now that cline/cline is public. Update the publish-cli skill with a cwd note so the documented release commands keep working from sdk/. * ci: remove legacy CLI publish workflows The legacy publish chain (publish-cli-trusted.yaml dispatching into npm-main.yaml + npm-nightly.yaml) publishes the old cli/ folder to the same cline npm package the new SDK CLI is taking over. Leave both wired up and a maintainer could accidentally publish an old build over the handoff. Remove the dispatcher, the two callees, the PR-preview tarball workflow (pack-cli.yml + build-cli-artifact.sh), the TUI test workflow that only fed into them, and the npm packaging script those workflows shared. The cli/ source itself is left in place for a separate removal PR. * chore: remove legacy CLI dev and eval helpers With the legacy CLI publish workflows gone, the surrounding dev and eval glue that only existed to feed those workflows is also dead. Delete tests/e2e/cli/ (TUI tests), evals/smoke-tests/ (CLI smoke evals), and the cline-evals-regression.yml workflow that drove them. Trim the root package.json scripts that pointed at this infra: - cli:link, cli:build, cli:run, cli:build:production, cli:watch, cli:test, cli:dev, cli:unlink (all delegated into cli/) - compile-standalone-npm and postcompile-standalone-npm (only the removed npm-main/npm-nightly workflows called them) - test:e2e:cli:tui (only the removed cli-tui-tests.yml called it) - eval:smoke:*, which chained through cli:build + cli:link Drop the trailing `cd ../cli && npx tsc --noEmit` segment from check-types so the root typecheck stops walking into cli/. The cli/ source itself stays in place for a separate removal PR. * docs(evals): note removed smoke-tests layer The evals/README.md and evals/ARCHITECTURE.md were structured around smoke-tests as Layer 2 of the pyramid. With evals/smoke-tests/ and the eval:smoke scripts gone, those references are stale. Add a top- of-doc banner pointing at the removal rather than gutting both files in this PR; a follow-up can scrub the structure when the framework is updated for the new SDK CLI. * chore(evals): restore smoke-tests, disable workflow pending rewire The smoke-test scenarios in evals/smoke-tests/ are CLI-agnostic — each scenario is just a config.json prompt plus optional template files — so they're worth preserving across the legacy CLI sunset. Restore the directory and the cline-evals-regression.yml workflow, but reduce the workflow's triggers to workflow_dispatch only so it doesn't auto-run in its current legacy-CLI-coupled form. Add a header comment pointing at the rewire work. Update the evals/README.md and evals/ARCHITECTURE.md banners from "removed" to "temporarily disabled" to match reality. Wiring the workflow at the new SDK CLI (and restoring the eval:smoke root scripts) is left for whoever picks up the eval framework refresh. * chore(evals): restore eval:smoke:run for ad-hoc smoke checks The runner (`evals/smoke-tests/run-smoke-tests.ts`) shells out to whichever `cline` is on $PATH, so it already works against the new SDK CLI once `npm i -g cline` installs it. Add back just the single `eval:smoke:run` script so docs and manual validation have a working entrypoint. The build-and-link chain (`eval:smoke:build`, `eval:smoke`, `eval:smoke:ci`) stays out — those need rewiring before they function. Update the README/ARCHITECTURE banners accordingly. * fix(ci): update SDK npm repository metadata * fix(ci): tighten SDK publish workflows