You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: CLI fails to start on Windows with process.execve unavailable (#8)
## Related Issue
No linked issue — problem explained below.
## Problem
On Windows, `pythinker` installed via npm fails immediately:
```
Failed to start Pythinker Code: The feature process.execve is unavailable on the current platform, which is being used to run Node.js
```
Windows Node defines `process.execve` as a function that throws
`ERR_FEATURE_UNAVAILABLE_ON_PLATFORM` when called. The launcher's
existence check (`process.execve !== undefined`) therefore routed
Windows into the execve path and crashed before the existing spawn
fallback could run.
## What changed
The launcher checks the platform first: win32 always uses the spawn
fallback; the execve path (which preserves pid, process group, and
controlling terminal) remains for POSIX. Added a regression test that
fakes win32 with a throwing `execve` and asserts the fallback child
completes — verified it fails against the previous launcher.
## Checklist
- [x] I have read the
[CONTRIBUTING](https://github.com/Pythoughts-labs/pythinker-code/blob/main/CONTRIBUTING.md)
document.
- [x] I have linked a related issue, or explained the problem above.
- [x] I have added tests that prove my feature works.
- [x] Ran `gen-changesets` skill, or this PR needs no changeset.
- [x] Ran `gen-docs` skill, or this PR needs no doc update.
Copy file name to clipboardExpand all lines: .agents/skills/gen-docs/SKILL.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ description: Update Pythinker Code CLI user documentation after meaningful code
7
7
8
8
## Overview
9
9
10
-
This repository maintains English user documentation under `docs/`.
10
+
This repository (`github.com/Pythoughts-labs/pythinker-code`) maintains English user documentation under `docs/`, published at **https://code.pythinker.com**.
11
11
12
12
Use this skill to update the corresponding documentation whenever the codebase has changes that affect product behavior or user experience.
13
13
@@ -17,7 +17,7 @@ For a **full pre-release audit** of all pages (detecting hallucinations and cove
17
17
18
18
This skill depends on the following being in place. If any are missing, stop and report to the user before continuing:
19
19
20
-
-`docs/` directory with documentation pages and `docs/.vitepress/config.ts` set up (VitePress site).
20
+
-`docs/` directory with documentation pages and `docs/.vitepress/config.ts` set up (VitePress site, deployed to code.pythinker.com).
21
21
-`docs/AGENTS.md` style guide — defines terminology, typography, and writing style.
This file is the **only upstream source** for the documentation-site changelog. Internal package changelogs such as `packages/*/CHANGELOG.md` do not go into the documentation site.
17
17
18
-
After the release flow finishes (Release PR merged → `Version Packages` completed → npm publish succeeded), maintainers manually run this skill to copy the new CLI changelog entries into the docs site.
18
+
After the release flow finishes (Release PR merged → `Version Packages` completed → npm publish succeeded), maintainers manually run this skill to copy the new CLI changelog entries into the docs site (published at https://code.pythinker.com).
19
19
20
20
## When To Use
21
21
@@ -38,7 +38,7 @@ Core rule: the English docs changelog is the source of truth for user-facing rel
38
38
39
39
Before editing, confirm:
40
40
41
-
- The released version exists on npm (`npm view @pythoughts/pythinker-code versions --json`) or has a matching GitHub Release tag.
41
+
- The released version exists on npm (`npm view @pythoughts/pythinker-code versions --json`) or has a matching GitHub Release tag on `Pythoughts-labs/pythinker-code`.
42
42
- The top of `apps/pythinker-code/CHANGELOG.md` is that new version.
43
43
- The current branch is clean, or you are on a dedicated docs-sync branch.
44
44
@@ -66,7 +66,7 @@ Use upstream order: newest version first.
66
66
Upstream entries look like this:
67
67
68
68
```markdown
69
-
-[#317](https://github.com/...)[`2f51db4`](https://github.com/...) - Clean up lint warnings ...
69
+
-[#317](https://github.com/Pythoughts-labs/pythinker-code/pull/317)[`2f51db4`](https://github.com/Pythoughts-labs/pythinker-code/commit/2f51db4) - Clean up lint warnings ...
0 commit comments