docs(cli): document the harper deploy command - #624
Conversation
Add a full reference entry for `harper deploy` on the CLI commands page, covering both directory (current-working-directory) and package-reference deploys, local vs. remote (`target=`) usage, live SSE progress introduced in v5.1.0, and every supported parameter (restart/replicated, install options, deployment/replication controls, urlPath/host, credentials, and the directory-packaging options skip_node_modules/skip_symlinks). Cross-link the `deploy_component` operation for full server-side behavior. Also add `harper deploy` to the command table in the CLI overview. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
🚀 Preview DeploymentYour preview deployment is ready! 🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-624 This preview will update automatically when you push new commits. |
There was a problem hiding this comment.
Code Review
This pull request documents the 'harper deploy' CLI command. It adds a detailed section to 'reference/cli/commands.md' explaining how to package and deploy Harper components, along with parameters and packaging options. It also updates the command table in 'reference/cli/overview.md' to include 'harper deploy'. There are no review comments, so I have no feedback to provide.
kriszyp
left a comment
There was a problem hiding this comment.
Looks good, but some timeline cleanup to address.
🤖 Reviewed with Codex
…rams - Date the `deploy` command to v4.3.0 (matching the CLI operations inventory) and note package-reference support arrived in v4.4.18, instead of badging the whole command v4.4.18. - Annotate the v5.2.0 parameters inline: `host`, `deployment_timeout`, and `ignore_replication_errors`. - Add `deployment_timeout` and `ignore_replication_errors` to the canonical `deploy_component` operation reference (both v5.2.0) so the CLI page cross-reference resolves to a documented contract. - Rework the `credentials` bullet: it is an array of objects, which the CLI's key=value args cannot represent, so direct private-source deploys to the HTTP Operations API instead of advertising credentials=<json>. - Mention the legacy `username`/`password` auth params alongside `auth_username`/`auth_password`. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
🚀 Preview DeploymentYour preview deployment is ready! 🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-624 This preview will update automatically when you push new commits. |
…ence - Fix `deployment_timeout` and `ignore_replication_errors` version to v5.1.4 (not v5.2.0) on both the CLI commands page and the canonical deploy_component operation reference. Both landed in #1338/#1334 and first shipped in v5.1.4; a human reviewer confirmed the version. - Document deploy-by-reference (v5.2.3): the `by_ref`, `ref`, `credential`, and `setup` args, with a "Deploy by reference" section. - Rework private-source deploy guidance: private git repositories use `harper deploy setup=true` to seal a durable credential, then `by_ref=true credential=true`; private npm registries still go through the HTTP Operations API (the CLI cannot express the nested credentials array). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
🚀 Preview DeploymentYour preview deployment is ready! 🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-624 This preview will update automatically when you push new commits. |
The prior text claimed the CLI cannot express array-of-object params and routed private npm registry auth to the HTTP Operations API. That is false: `buildRequest()` JSON-parses every arg value except `ref`, so `credentials='[...]'` works, and `harper deploy setup=true` supports both git and npm providers, printing exactly that line to use. - Rework "Private deploy sources" around `harper deploy setup=true` for both private git and private npm registries, sealing the token client-side rather than passing a raw token on the command line. - Show the CLI-native private npm deploy (shell-quoted `credentials` JSON array) instead of steering to HTTP. - Add `credentials='<json>'` (v5.2.0) back to the parameter list. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
🚀 Preview DeploymentYour preview deployment is ready! 🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-624 This preview will update automatically when you push new commits. |
🧹 Preview CleanupThe preview deployment for this PR has been removed. |
Summary
Documents the
harper deployCLI command in the CLI reference. This command was undocumented on the commands page despite being available since v4.4.18 (with live streaming progress added in v5.1.0).Sourced from the Harper core code (
bin/cliOperations.ts,bin/help.ts,components/operations.js,components/operationsValidation.js).Changes
reference/cli/commands.md— new### harper deployentry under Process Management, covering:package=<ref>)target=<url>) deploys and how remote auth is resolveddeployment_id/system.hdb_deploymentrecordproject,package,target,restart(true/rolling),replicated,install_command,install_timeout,install_allow_scripts,deployment_timeout,ignore_replication_errors,force,urlPath,host,credentials,json, plus the directory-packaging optionsskip_node_modulesandskip_symlinksdeploy_componentoperation for full server-side behaviorreference/cli/overview.md— addedharper deployto the command table (Prettier realigned the table, hence the extra line churn)Verification
npm run format:check— cleannpm run build— succeeds; the two broken-anchor warnings are pre-existing (onbackups/overviewandrelease-notes/5.1) and unrelated to this changesent with Claude Opus 4.8