gemini-cli-jsx

Migrates Ink/React .tsx components from gemini-cli to Bun native JSX runtime.

Updated Apr 17, 2026
One-click install
npx skills add https://github.com/aphrody-code/n2b --skill gemini-cli-jsx
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gemini-cli-jsx
Source: https://github.com/aphrody-code/n2b/tree/main/skills/gemini-cli-jsx
Command: npx skills add https://github.com/aphrody-code/n2b --skill gemini-cli-jsx

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill migrates an Ink/React codebase from gemini-cli’s 414 .tsx components to Bun’s native JSX runtime, removing redundant transpilation tooling and fixing common runtime integration pitfalls.

Core Features & Use Cases

  • Bulk JSX migration runbook for an Ink/React-heavy monorepo, targeting all gemini-cli CLI .tsx sources.
  • tsconfig alignment for Bun native JSX by configuring compilerOptions.jsx, jsxImportSource, and Bun types so Bun uses its runtime JSX pipeline.
  • Bun setup guidance including optional bunfig.toml tuning and safe removal of esbuild/tsconfig build artifacts that become unnecessary.
  • Ink-specific trap handling for raw-mode stdin compatibility, alt-screen behavior, and React Fast Refresh under bun --hot.
  • ESM resolution correctness by addressing require.resolve to import.meta.resolve where applicable after aggressive codemods.

Quick Start

Run the Skill to apply Bun-native JSX migration steps to tests/targets/gemini-cli/packages/cli/src/**/*.tsx, then start development with hot reload using bun --hot.

Frequently Asked Questions about gemini-cli-jsx

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate Ink React components to Bun native JSX runtime?

Migrate Ink React components to Bun native JSX by configuring `compilerOptions.jsx` and `jsxImportSource` in tsconfig, then removing redundant transpilation tooling. This aligns React 19-style automatic JSX runtime usage with Bun's native pipeline.

Does bun --hot work with Ink terminal UI components?

Yes, `bun --hot` works with Ink terminal UI components but requires trap handling for raw-mode stdin compatibility and alt-screen behavior. React Fast Refresh under Bun's hot reload needs specific configuration to function correctly.

What is the best way to handle require.resolve in ESM after a Bun migration?

Handle `require.resolve` in ESM by migrating to `import.meta.resolve` where applicable after aggressive codemods. This ensures ESM-safe resolution correctness when moving Ink/React .tsx components to Bun native runtime.

Can I remove esbuild and tsconfig build artifacts when using Bun native JSX?

Yes, you can remove esbuild and tsconfig build artifacts when using Bun native JSX. The migration provides optional `bunfig.toml` tuning guidance and safely removes redundant transpilation tooling that becomes unnecessary.

Why does my Ink stdin raw mode break after migrating to Bun?

Ink stdin raw mode breaks after migrating to Bun due to TTY behavior differences. The migration addresses raw-mode stdin compatibility and alt-screen behavior constraints specific to Ink terminal UI under Bun's runtime.