Skip to content

Comments

Migrate to tsgo native compiler and restructure reference repos#15

Merged
phroi merged 2 commits intomasterfrom
feat/tsgo-and-reference-repos
Feb 20, 2026
Merged

Migrate to tsgo native compiler and restructure reference repos#15
phroi merged 2 commits intomasterfrom
feat/tsgo-and-reference-repos

Conversation

@phroi
Copy link
Member

@phroi phroi commented Feb 20, 2026

Why

Migrate the TypeScript toolchain from tsc to tsgo (@typescript/native-preview) for faster builds, consolidate scattered reference repos under a unified reference/ directory with auto-updating, and add the focus timer VS Code extension to the devcontainer.

Changes

  • tsgo migration: Replace ccc-dev/tsc.mjs (Node.js) with ccc-dev/tsgo-filter.sh (bash), update all 10 package build scripts from tsc to tsgo, add @typescript/native-preview devDep
  • tsconfig: Bump target/lib from ES2020 to ES2022, remove deprecated importsNotUsedAsValues
  • reference repos: Move contracts/ + whitepaper/ under reference/ with clone.sh that auto-detects stale clones
  • docs: Update AGENTS.md and all .planning/codebase/ docs to reflect new paths
  • devcontainer: Add focus timer extension, streamline clipboard apt install

Replace tsc with tsgo (@typescript/native-preview) across all packages,
bump TS target to ES2022, and consolidate contracts/ + whitepaper/
reference repos under a unified reference/ directory with auto-update
clone script.

- Replace ccc-dev/tsc.mjs (Node.js) with ccc-dev/tsgo-filter.sh (bash)
- Update all package build scripts from tsc to tsgo
- Add @typescript/native-preview devDependency
- Bump tsconfig target/lib from ES2020 to ES2022
- Remove deprecated importsNotUsedAsValues option
- Move reference repos to reference/ with clone.sh auto-updater
- Update all planning docs to reflect new reference/ paths
@gemini-code-assist
Copy link

Summary of Changes

Hello @phroi, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly upgrades the project's development infrastructure by transitioning to a faster TypeScript compiler and centralizing external reference repositories. These changes aim to accelerate build times, simplify the management of external codebases, and provide a more efficient and feature-rich development environment, ultimately improving developer productivity and code consistency.

Highlights

  • TypeScript Toolchain Migration: Migrated the TypeScript compilation from tsc to @typescript/native-preview (tsgo) across all packages, replacing the custom tsc.mjs wrapper with a new tsgo-filter.sh bash script for faster builds.
  • Reference Repository Restructuring: Consolidated previously scattered reference repositories (contracts/ and whitepaper/) into a unified reference/ directory, managed by a new clone.sh script that automatically detects and updates stale clones.
  • TypeScript Configuration Updates: Updated tsconfig files to target ES2022 for both the main project and the apps/interface package, and removed the deprecated importsNotUsedAsValues compiler option.
  • Development Environment Enhancements: Enhanced the devcontainer setup by streamlining the clipboard installation process and integrating a VS Code focus timer extension.
  • Documentation Alignment: Updated various internal documentation files (.planning/codebase/*.md, AGENTS.md) to reflect the new reference/ directory structure and the change in the TypeScript compilation script.
  • Dependency Updates: Updated numerous project dependencies and their lockfile entries (pnpm-lock.yaml) to their latest versions, including @anthropic-ai/claude-code, lightningcss, esbuild, bn.js, minipass, tailwindcss, and vite.
Changelog
  • .devcontainer/devcontainer.json
    • Streamlined clipboard installation by adding --no-install-recommends.
    • Added a VS Code focus timer extension to the devcontainer setup.
  • .gitignore
    • Removed entries for contracts/ and whitepaper/ as they are now under reference/.
    • Added .focus-timer to the ignore list for time tracking.
  • .planning/codebase/ARCHITECTURE.md
    • Updated references to on-chain contracts to reflect their new reference/contracts/ path.
  • .planning/codebase/CONCERNS.md
    • Updated file paths for Rust contract logic and Molecule schemas to their new reference/ locations.
  • .planning/codebase/CONVENTIONS.md
    • Updated the Molecule schema path to reference/contracts/schemas/encoding.mol.
  • .planning/codebase/INTEGRATIONS.md
    • Updated paths for smart contract sources and Molecule schema to their new reference/ locations across multiple entries.
  • .planning/codebase/STACK.md
    • Updated the path for on-chain CKB smart contracts to reference/contracts/.
  • .planning/codebase/STRUCTURE.md
    • Restructured the directory layout to consolidate reference repositories under a new reference/ folder, including contracts/ and whitepaper/.
  • .planning/codebase/TESTING.md
    • Updated paths for contract-alignment tests to reflect the new reference/ directory structure.
  • AGENTS.md
    • Added a new learning instruction for the AI Coworker regarding non-obvious constraints.
    • Updated the description of the TypeScript compilation script from ccc-dev/tsc.mjs to ccc-dev/tsgo-filter.sh.
    • Adjusted the description of reference repo cloning to point to the new reference/ directory.
  • apps/bot/package.json
    • Updated the build script to use tsgo instead of tsc.
  • apps/faucet/package.json
    • Updated the build script to use ccc-dev/tsgo-filter.sh instead of ccc-dev/tsc.mjs.
  • apps/interface/package.json
    • Updated the build script to use ccc-dev/tsgo-filter.sh instead of ccc-dev/tsc.mjs.
  • apps/interface/tsconfig.json
    • Updated the TypeScript target and library options from ES2020 to ES2022.
  • apps/sampler/package.json
    • Updated the build script to use ccc-dev/tsgo-filter.sh instead of ccc-dev/tsc.mjs.
  • apps/tester/package.json
    • Updated the build script to use tsgo instead of tsc.
  • ccc-dev/tsc.mjs
    • Removed the custom TypeScript compilation wrapper script.
  • ccc-dev/tsgo-filter.sh
    • Added a new bash script to wrap tsgo and filter diagnostics from CCC source files.
  • package.json
    • Updated the reference script to execute the new bash reference/clone.sh.
    • Added @typescript/native-preview as a development dependency.
    • Updated the pnpm package manager version from 10.30.0 to 10.30.1.
  • packages/core/package.json
    • Updated the build script to use ccc-dev/tsgo-filter.sh instead of ccc-dev/tsc.mjs.
  • packages/dao/package.json
    • Updated the build script to use ccc-dev/tsgo-filter.sh instead of ccc-dev/tsc.mjs.
  • packages/order/package.json
    • Updated the build script to use ccc-dev/tsgo-filter.sh instead of ccc-dev/tsc.mjs.
  • packages/sdk/package.json
    • Updated the build script to use ccc-dev/tsgo-filter.sh instead of ccc-dev/tsc.mjs.
  • packages/utils/package.json
    • Updated the build script to use ccc-dev/tsgo-filter.sh instead of ccc-dev/tsc.mjs.
  • pnpm-lock.yaml
    • Updated @anthropic-ai/claude-code from 2.1.45 to 2.1.47.
    • Added @typescript/native-preview version 7.0.0-dev.20260219.1.
    • Updated @vitest/coverage-v8 to reflect lightningcss update.
    • Updated @tailwindcss/vite from 4.1.18 to 4.2.0.
    • Updated lightningcss from 1.30.2 to 1.31.1 across various platform-specific packages and the main package.
    • Removed jackspeak@4.2.3 entry.
    • Updated minipass from 7.1.2 to 7.1.3.
    • Updated tailwindcss from 4.1.18 to 4.2.0.
    • Added vite@7.3.1 entry and updated related vite entries.
    • Updated balanced-match from 4.0.2 to 4.0.3.
    • Updated bn.js from 4.12.2 to 4.12.3 and 5.2.2 to 5.2.3.
    • Added esbuild@0.27.3 entry and updated related esbuild entries.
    • Removed @isaacs/cliui@9.0.0 entry.
    • Updated @img/sharp and @img/sharp-libvips packages to newer versions (0.34.5 and 1.2.4 respectively) across various platforms.
    • Updated rolldown-plugin-dts to include @typescript/native-preview in its dependencies.
    • Updated tsdown to include @typescript/native-preview in its dependencies.
  • reference/.gitignore
    • Added a new gitignore file to manage ignored files within the reference directory, allowing only .gitignore, clone.sh, and README.md.
  • reference/README.md
    • Added a new README file providing documentation for the reference repositories, including usage and how to add new repos.
  • reference/clone.sh
    • Added a new bash script to clone and automatically update reference repositories, checking for staleness and re-cloning if necessary.
  • tsconfig.json
    • Updated the TypeScript target and library options from ES2020 to ES2022.
    • Removed the importsNotUsedAsValues compiler option.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces several significant improvements, including migrating the TypeScript toolchain to tsgo for faster builds, restructuring the reference repositories for better organization and maintenance, and enhancing the development environment. The changes are well-executed, and the new scripts for managing reference repositories are a great addition. I have one suggestion to improve the robustness of the devcontainer setup.

Install vscode-focus-timer extension from phroi/vscode-focus-timer,
add --no-install-recommends to clipboard apt install, and ignore
.focus-timer data directory.
@phroi phroi force-pushed the feat/tsgo-and-reference-repos branch from 1ee26d7 to 6ae07d4 Compare February 20, 2026 13:13
@phroi
Copy link
Member Author

phroi commented Feb 20, 2026

LGTM

Phroi %104

@phroi phroi merged commit 8f16e9e into master Feb 20, 2026
2 checks passed
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