Skip to content

chore: migrate org references from Pythoughts-labs to PyModel - #66

Merged
elkaix merged 1 commit into
mainfrom
chore/pymodel-org-migration
Aug 13, 2026
Merged

chore: migrate org references from Pythoughts-labs to PyModel#66
elkaix merged 1 commit into
mainfrom
chore/pymodel-org-migration

Conversation

@elkaix

@elkaix elkaix commented Aug 13, 2026

Copy link
Copy Markdown
Member

Related Issue

No issue — the problem is explained below.

Problem

The GitHub org was transferred from Pythoughts-labs to PyModel. References to the old org are now broken or stale: the old GitHub Pages URLs (pythoughts-labs.github.io/pythinker-code) return 404 with no redirect, the Homebrew tap moved to pymodel/tap, and install.sh/install.ps1 fetched releases from the old org path.

What changed

Two literal, case-preserving replacements across all 58 tracked files that referenced the old org (331 lines):

  • Pythoughts-labsPyModel
  • pythoughts-labspymodel

This covers the README, CONTRIBUTING, SECURITY, docs site + VitePress config, install.sh/install.ps1, workflow repository_owner guards, the site Caddyfile Link header, changelogs, flake.nix, and the brew-formula release script.

Deliberately untouched: the npm scope @pythoughts/* — the packages did not move on npm, only the GitHub org changed.

Verified: zero old-org references remain in tracked files (git grep -iE 'pythoughts[-_]labs' is empty), every changed line differs only by the org substitution, all package.json files still parse, install.sh kept its executable bit, and the new targets were confirmed live (PyModel/pythinker-code releases, Formula/pythinker-code.rb in PyModel/homebrew-tap, pymodel.github.io/pythinker-code returns 200).

Checklist

  • I have read the CONTRIBUTING document.
  • I have linked a related issue, or explained the problem above.
  • I have added tests that prove my feature works. — no behavior change (URL/metadata sweep); the full suite passed in pre-push (10058 tests).
  • Ran gen-changesets skill, or this PR needs no changeset. — no changeset: no runtime behavior change; package.json metadata rides the next release.
  • Ran gen-docs skill, or this PR needs no doc update. — doc URLs updated directly as part of the sweep.

The GitHub org was transferred to PyModel. Old Pages URLs return 404
(no redirect), the Homebrew tap moved to pymodel/tap, and install
scripts fetched releases from the old org path.

Two literal replacements across all tracked files:
Pythoughts-labs -> PyModel, pythoughts-labs -> pymodel. Covers README,
docs site, install.sh/install.ps1, workflow org guards, Caddyfile,
changelogs, flake.nix, and release scripts. The npm scope
@pythoughts/* is unchanged on npm and deliberately untouched.
@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@elkaix, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 14 seconds

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: d00e1ebc-9eba-4718-b211-b413d78fb475

📥 Commits

Reviewing files that changed from the base of the PR and between f4bd3d1 and cae2483.

📒 Files selected for processing (58)
  • .agents/skills/gen-docs/SKILL.md
  • .agents/skills/sync-changelog/SKILL.md
  • .changeset/README.md
  • .changeset/config.json
  • .github/pull_request_template.md
  • .github/workflows/nightly.yml
  • .github/workflows/pkg-pr-new.yml
  • .github/workflows/release.yml
  • CONTRIBUTING.md
  • README.md
  • SECURITY.md
  • apps/pythinker-code/CHANGELOG.md
  • apps/pythinker-code/README.md
  • apps/pythinker-code/package.json
  • apps/pythinker-code/src/cli/commands.ts
  • apps/pythinker-code/src/constant/app.ts
  • apps/pythinker-code/src/tui/theme/theme-schema.json
  • apps/pythinker-code/src/tui/utils/refresh-providers.ts
  • apps/pythinker-code/test/cli/update/cdn.test.ts
  • apps/pythinker-code/test/cli/update/preflight.test.ts
  • apps/pythinker-code/test/cli/update/prompt.test.ts
  • apps/pythinker-code/test/tui/pythinker-tui-message-flow.test.ts
  • apps/pythinker-web/public/install.ps1
  • apps/pythinker-web/public/install.sh
  • apps/site/Caddyfile
  • apps/site/public/index.md
  • apps/site/scripts/build-cdn.mjs
  • apps/site/src/App.vue
  • apps/site/src/components/InstallCommand.vue
  • apps/site/src/install-channels.js
  • apps/vscode/CHANGELOG.md
  • apps/vscode/README.md
  • apps/vscode/package.json
  • docs/.vitepress/config.ts
  • docs/.vitepress/theme/components/HomeHero.vue
  • docs/index.md
  • flake.nix
  • packages/acp-adapter/README.md
  • packages/agent-core/README.md
  • packages/agent-core/package.json
  • packages/agent-core/src/skill/builtin/custom-theme.md
  • packages/agent-core/src/skill/builtin/update-config.md
  • packages/kaos/README.md
  • packages/kaos/package.json
  • packages/kosong/README.md
  • packages/kosong/package.json
  • packages/node-sdk/CHANGELOG.md
  • packages/node-sdk/README.md
  • packages/node-sdk/package.json
  • packages/oauth/README.md
  • packages/oauth/package.json
  • packages/protocol/package.json
  • packages/protocol/src/__tests__/rest-fs.test.ts
  • packages/server-e2e/package.json
  • packages/server/package.json
  • packages/telemetry/README.md
  • packages/telemetry/package.json
  • scripts/release/update-brew-formula.mjs

Comment @coderabbitai help to get the list of available commands.

@elkaix
elkaix enabled auto-merge (squash) August 13, 2026 17:41
@elkaix
elkaix merged commit ee05ca4 into main Aug 13, 2026
11 of 12 checks passed
@elkaix
elkaix deleted the chore/pymodel-org-migration branch August 13, 2026 17:43
elkaix added a commit that referenced this pull request Aug 14, 2026
## Related Issue

No issue — follow-up to #66 (GitHub org migration). This PR moves the
npm side to the new org.

## Problem

The GitHub org moved to `PyModel` (#66), but every workspace package
still carries the `@pythoughts` npm scope, and releases still publish to
`@pythoughts/pythinker-code`. Newer versions must publish under the
`pymodel` npm org.

## What changed

- Renamed all 18 workspace packages from `@pythoughts/*` to
`@pymodel/*`: package names, workspace dependencies, imports, and every
tooling reference (changesets config, `flake.nix` workspace names, CI
workflows, release/native/brew/CDN scripts, docs, README badges).
- Fixed escaped-scope references a plain replace misses: the
api-extractor specifier-rewrite regex in the SDK dts build,
vitest/tsdown `alwaysBundle` regexes, and the Windows path marker in the
postinstall reach script.
- Regenerated `pnpm-lock.yaml`; the `flake.nix` `pnpmDeps` hash is
unchanged (verified by rebuilding — workspace names do not affect the
fetched dependency set).
- Added a `minor` changeset so the next release publishes
`@pymodel/pythinker-code`.

Out of scope: the VS Code Marketplace publisher
(`pythoughts.pythinker-code`), `api.pythoughts.com` platform URLs, and
the `ai.pythoughts.pythinker-server` LaunchAgent label — these are
separate identities, not npm scope.

## Merge order

Merge #67, #68, #69 first — their changesets name
`@pythoughts/pythinker-code` and would break `changeset version` if this
PR lands before them.

## Before the first publish (npm side, manual)

1. On npmjs.com, add a Trusted Publishing (OIDC) connection for
`@pymodel/pythinker-code`: repository `PyModel/pythinker-code`, workflow
`release.yml`.
2. After the first successful `@pymodel` release: `npm deprecate
@pythoughts/pythinker-code "Moved to @pymodel/pythinker-code"`.

## Checklist

- [x] I have read the
[CONTRIBUTING](https://github.com/PyModel/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. (Mechanical
rename; existing suites cover it.)
- [x] Ran `gen-changesets` skill, or this PR needs no changeset.
- [x] Ran `gen-docs` skill, or this PR needs no doc update. (Docs
updated in the sweep.)

## Additional commits

- The sweep also caught encoded-scope references a plain replace misses:
api-extractor/tsdown/vitest regexes (`@pythoughts\/`), release-tag
parsing in `produce-manifest.mjs` and `install.sh`, `%40…%2F`
release-download URLs in the CDN build, and split specifiers in tests.
- One drive-along test-infra fix: `skill-session.test.ts` temp-dir
cleanup now retries, because a late journal flush races the recursive
delete under full-suite load and threw ENOTEMPTY twice while gating this
push.
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.

1 participant