The publish lane reads VSCE_PAT and OVSX_PAT from KMS at hanzo:/extension-publish and sends the .vsix make check packaged to each store whose public API lacks the version. A store without its token is a notice, so the lane stays green until the owner seeds them; the steps are in packages/vscode/LLM.md.
2.7 KiB
Hanzo for VS Code (hanzo-ide)
The build, the models, the MCP server and @hanzo are in the root LLM.md. This
file is how hanzo-ai.hanzo-ide reaches the stores.
Publishing
.github/workflows/publish.yml publishes dist/hanzo-ide.vsix, packaged once
by make check (vsce package --no-dependencies), to the VS Code Marketplace
with VSCE_PAT and to Open VSX with OVSX_PAT. Both are read from KMS, org
hanzo, env prod, path /extension-publish. A store gets a version only when
its public API does not list it yet; a store whose token KMS lacks is skipped
with a notice in Publish summary, and the run stays green. A release is a
bump of version in package.json.
When KMS enforces grants, the CI identity's read grant on /extension-publish
(universe charts/app/values/hanzo/kms-grants.yaml, holder hanzo-ci) must
name both keys.
Owner steps
Done once, by whoever owns the store accounts. No value goes in git.
-
Marketplace publisher. Sign in at https://marketplace.visualstudio.com/manage with the Microsoft account that will own it. Create publisher: ID
hanzo-ai(it must equalpublisherinpackage.json), nameHanzo AI. -
Azure DevOps PAT. At https://dev.azure.com (create an organization if the account has none): User settings → Personal access tokens → New Token. Organization: All accessible organizations. Scopes: Custom defined → Show all scopes → Marketplace: Manage. Longest expiry. Copy the token, then check it can publish as
hanzo-ai:read -rs VSCE_PAT && export VSCE_PAT pnpm --filter hanzo-ide exec vsce verify-pat hanzo-ai -
Open VSX. Sign in at https://open-vsx.org with GitHub. Settings → Profile → Log in with Eclipse (create the Eclipse Foundation account if there is none) and sign the Eclipse Foundation Open VSX Publisher Agreement. Settings → Access Tokens → Generate New Token, and copy it. Then create the namespace and check the token:
read -rs OVSX_PAT && export OVSX_PAT npx --yes [email protected] create-namespace hanzo-ai npx --yes [email protected] verify-pat hanzo-ai -
KMS. Signed in with
hanzo auth login:hanzo --as hanzo kms secrets create --env prod --path /extension-publish --name VSCE_PAT --value '<value>' hanzo --as hanzo kms secrets create --env prod --path /extension-publish --name OVSX_PAT --value '<value>' hanzo --as hanzo kms secrets get --env prod --path /extension-publishThe last lists the names, never the values.
-
Ship.
gh workflow run publish -R hanzoai/extensionpublishes the current version, since neither store has it yet.Publish summarynames each store it reached.
The Azure DevOps PAT expires; renew it with steps 2 and 4.