Skip to content

Feat#8

Merged
Armadillidiid merged 19 commits into
mainfrom
feat
May 11, 2026
Merged

Feat#8
Armadillidiid merged 19 commits into
mainfrom
feat

Conversation

@Armadillidiid

Copy link
Copy Markdown
Owner

No description provided.

Armadillidiid and others added 15 commits May 10, 2026 14:02
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Added step to update npm to the latest version before building.
Agent-Logs-Url: https://github.com/Armadillidiid/cmdly/sessions/947cf820-7da9-42b1-9e91-a7059500f90a

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Armadillidiid <86387828+Armadillidiid@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 11, 2026 11:37

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR cuts over the CLI packaging and release pipeline from an @vercel/ncc-bundled JS entry to Node.js SEA (Single Executable Application) binaries, updates CI to build/upload those binaries, and adjusts a few runtime/service wiring details (Effect layer ordering + JSON parsing/encoding).

Changes:

  • Replace the build pipeline with Node SEA (new build/verify scripts, updated package.json, remove inject-constant.js).
  • Update GitHub Actions workflows to version/tag and build per-target SEA binaries with checksums for GitHub Releases.
  • Refactor JSON read/write to use Schema.parseJson and adjust Effect layer provisioning order in commands.

Reviewed changes

Copilot reviewed 17 out of 19 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/utils/files.ts Switch JSON parse/stringify to Schema.parseJson and wrap errors in FileSystemError.
src/services/credentials.ts Adjust credential error handling and add an Effect “expect leaking” annotation on the service.
src/services/ai.ts Adjust missing-API-key error handling.
src/constants.ts Default NAME fallback changed to "cmdly".
src/commands/suggest.ts Reorder/provide base layers (NodeFileSystem, NodePath) before dependent services.
src/commands/explain.ts Same layer ordering/provisioning adjustment as suggest.
src/commands/configure.ts Same layer ordering/provisioning adjustment; tweak credentials load fallback.
scripts/verify-sea.mjs New script to smoke-test SEA binaries (--help, --version).
scripts/build-sea.mjs New SEA build script using esbuild + node --build-sea.
scripts/inject-constant.js Removed (no longer mutating built output post-build).
pnpm-workspace.yaml Add allowBuilds configuration for native/build dependencies.
pnpm-lock.yaml Lockfile updates for dependency/tooling changes (e.g., add esbuild, remove @vercel/ncc).
package.json Update Node/pnpm requirements, replace build scripts with SEA build, remove npm bin/files, swap @vercel/ncc for esbuild.
.opencode/plans/1778415295647-swift-island.md Add SEA cutover plan doc.
.gitignore Ignore .sea/ working directory.
.github/workflows/release.yml Split versioning from binary builds; upload SEA artifacts to GitHub Releases.
.github/workflows/check.yml Update checkout action version used by CI jobs.
.github/actions/setup/action.yml Update Node version used in CI setup to 26.
.changeset/brave-lions-jump.md Changeset describing SEA cutover and layer ordering fix.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +67 to +70
return yield* new CredentialsError({
message:
"No credentials found. Please run 'configure' command to set up your credentials.",
});
Comment on lines 83 to +87
const credential = credentials[provider];
if (!credential) {
return yield* Effect.fail(
new CredentialsError({
message: `No credentials found for provider: ${provider}. Please run 'configure' command.`,
}),
);
return yield* new CredentialsError({
message: `No credentials found for provider: ${provider}. Please run 'configure' command.`,
});
Comment thread src/services/ai.ts
Comment on lines +27 to +29
return yield* new AiServiceError({
message: `No API key found for provider: ${providerName}`,
});
Comment thread src/utils/files.ts
Comment on lines 90 to +94
const fs = yield* FileSystem.FileSystem;
yield* fs.writeFileString(filePath, JSON.stringify(data, null, 2));
const json = yield* Schema.encode(Schema.parseJson())(data).pipe(
Effect.mapError(
(error) =>
new FileSystemError({
Comment thread scripts/build-sea.mjs Outdated
Comment thread package.json
Armadillidiid and others added 4 commits May 11, 2026 12:55
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Added bin and files fields to package.json
@Armadillidiid Armadillidiid merged commit 833fe46 into main May 11, 2026
3 checks passed
@Armadillidiid Armadillidiid deleted the feat branch May 12, 2026 08:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants