Repository navigation
ci: rename winget publisher to OndeInference and link MSVC CRT statically - #13
Conversation
Add factory, code-cloud-agent, and code-review config.toml under .sigit/ to align with the standard agentic-resources layout. Also ignore the local .playwright-mcp/ working directory. Co-Authored-By: siGit Code <297239231+sigitc@users.noreply.github.com>
…it-config chore: bootstrap .sigit agentic resources config
The winget submission validator runs the binary with no arguments and no attached terminal. The bare `onde` code path immediately calls `enable_raw_mode()` / `EnterAlternateScreen`, which fail without a TTY and exit non-zero — triggering Validation-Executable-Error. Add a no-TTY guard (via `IsTerminal`) before `redirect_output()` so onde prints a usage summary and exits 0 when stdout is not a terminal. Also add explicit `--version`/`-V` and `--help`/`-h` handlers that work the same way, since the validator also exercises those flags. Closes #11 Co-Authored-By: siGit Code v1.6.7-acp <noreply@sigit.si>
fix: exit 0 when stdout is not a TTY (winget Validation-Executable-Error)
Co-Authored-By: siGit Code <297239231+sigitc@users.noreply.github.com> Co-Authored-By: siGit Code v1.6.7-acp <noreply@sigit.si>
Co-Authored-By: siGit Code <297239231+sigitc@users.noreply.github.com> Co-Authored-By: siGit Code v1.6.7-acp <noreply@sigit.si>
Split the winget submission into an issue-then-PR two-token flow. The tracking issue is opened first, under the package's owning account, so the winget-pkgs PR that follows can reference it. WINGET_ISSUE_TOKEN files the issue and WINGET_PR_TOKEN opens the PR and comments the issue link back onto it. The tokens stay separate because the ordering depends on the issue number. Capture the winget-pkgs PR URL from wingetcreate's output on both the new-package and update paths, and downgrade a missed parse to a warning rather than failing a release whose manifest PR already shipped. Co-Authored-By: siGit Code v1.6.7-acp <noreply@sigit.si> Co-Authored-By: SplitFire v1.1.1-acp <noreply@splitfire.ai>
Add the end-to-end release runbook for onde-cli: version-bump surfaces, the release/vX.Y.Z -> development -> main flow with the tag on the final main merge commit, the signing requirement, and the post-push back-merge check. Includes evals covering the previously seen failure modes (fast-forwarded main, unsigned bump commits, a failed crates.io verify). Co-Authored-By: siGit Code v1.6.7-acp <noreply@sigit.si> Co-Authored-By: SplitFire v1.1.1-acp <noreply@splitfire.ai>
…ally - Rename packaging/winget manifests KelvinSoen.onde-cli.* -> OndeInference.onde-cli.* - Update release-github.yml and release-winget.yml for the new publisher id - Sync the new publisher id / homepage across README, npm/onde-cli/README.md, nuget/onde-cli/README.md, pub/onde_cli/README.md, pypi/README.md - Add packaging/windows/check-static-crt.ps1 to fail the release job if the Windows binary pulls in VCRUNTIME140.dll or the UCRT api-ms-win-crt-* set - Link MSVC C runtime statically via .cargo/config.toml so winget hosts without the Visual C++ Redistributable do not hit STATUS_DLL_NOT_FOUND (0xC0000135) - Fix winget non-TTY behaviour in src/main.rs
There was a problem hiding this comment.
This change renames the winget manifest files and publisher from KelvinSoen.onde-cli to OndeInference.onde-cli, updates all relevant workflow files, and synchronizes the publisher/homepage across all README surfaces. It introduces a new PowerShell script (check-static-crt.ps1) and a .cargo/config.toml to ensure the Windows binary links the MSVC CRT statically, preventing runtime failures on machines without the Visual C++ Redistributable. The release workflows are updated to use the new publisher and to run the static CRT check. The CLI's main.rs is refactored so that bare 'onde' prints usage and exits, and only 'onde --tui' launches the TUI, improving winget validation compatibility. All README usage examples are updated to reflect this. The winget manifest schema is bumped to 1.12.0. No previous findings are present, and the changes are cohesive and well-structured for the intended release and packaging improvements.
Automated review by siGit Code Review · commit 10749d8 · see the review dashboard
So Claude Code discovers the canonical skills tree without duplicating it.
There was a problem hiding this comment.
This change renames the winget manifest publisher from KelvinSoen to OndeInference, updates all related workflow, manifest, and documentation references, and ensures the Windows binary links the MSVC CRT statically. It adds a CI check to fail the build if the binary depends on the VC++ runtime DLLs, and updates the CLI to print usage and exit 0 for bare invocations or unknown arguments, which is required for winget validation. The README and wrapper package READMEs are updated to reflect the new invocation (onde --tui). The winget manifest schema is updated to 1.12.0. The release skill and evals are added for agent guidance. The only open thread is about exit code 2 for unknown arguments, which remains unchanged and is now documented in the summary.
Automated review by siGit Code Review · commit 5f81e2e · see the review dashboard
Cosmetic only: changes the GitHub Actions step display name in release-winget.yml so the run UI shows 'Sebat dulu ...' instead of the default 'Wait before opening the PR'. The sleep that follows is unchanged.
There was a problem hiding this comment.
This change renames the winget publisher from KelvinSoen to OndeInference, updates all winget manifest files and related workflow logic, and synchronizes publisher/homepage references across all README surfaces. It introduces a new PowerShell script and .cargo/config.toml to enforce static linking of the MSVC CRT, ensuring the Windows binary does not depend on VC++ runtime DLLs, which is now checked in CI. The main.rs logic is updated so that bare onde prints usage and exits (not launching the TUI), and only onde --tui starts the UI, with improved handling for non-TTY and unknown arguments. All README usage examples are updated to match. The winget workflow now files the package request issue before the manifest PR, links them, and uses the correct publisher and schema version. Previous findings about exit codes for unknown arguments remain relevant, but the rest of the changes address the stated goals and close the CRT gap for winget users.
Automated review by siGit Code Review · commit ac36b2d · see the review dashboard
Summary
KelvinSoen.onde-cli.*->OndeInference.onde-cli.*release-github.ymlandrelease-winget.ymlfor the new publisher idREADME.md,npm/onde-cli/README.md,nuget/onde-cli/README.md,pub/onde_cli/README.md,pypi/README.mdpackaging/windows/check-static-crt.ps1to fail the release job if the Windows binary pulls inVCRUNTIME140.dllor the UCRTapi-ms-win-crt-*set.cargo/config.tomlto link the MSVC C runtime statically, so winget hosts without the Visual C++ Redistributable installed do not hitSTATUS_DLL_NOT_FOUND(0xC0000135) at load timesrc/main.rsWhy
winget ships onde-cli as a portable exe with no installer, so the binary must run on a clean Windows install. Linking the CRT statically + adding the dumpbin check closes the gap where a release binary builds and tests green on a runner with the redistributable but fails to load on user machines.
Test plan
check-static-crt.ps1runs in the release job and fails if dumpbin reports a CRT dependencyOndeInferencepublisher.exeon a Windows VM without the VC++ Redistributable; it should launch🤖 Generated with OndeCode