Skip to content

Add create-oxygen-ui CLI for project scaffolding#441

Draft
hevayo wants to merge 2 commits intowso2:mainfrom
hevayo:feat/create-oxygen-ui
Draft

Add create-oxygen-ui CLI for project scaffolding#441
hevayo wants to merge 2 commits intowso2:mainfrom
hevayo:feat/create-oxygen-ui

Conversation

@hevayo
Copy link
Copy Markdown

@hevayo hevayo commented Jan 16, 2026

Summary

  • Adds @wso2/create-oxygen-ui CLI package for scaffolding new Oxygen UI projects
  • Adds @wso2/oxygen-ui-template package containing the project template
  • Enables developers to quickly start new projects with npm create @wso2/oxygen-ui

Features

CLI (@wso2/create-oxygen-ui)

  • Interactive prompts for project name and package name
  • Optional Claude skill files integration (CLAUDE.md + skill file for Claude Code)
  • Automatic git initialization and dependency installation
  • Detects and uses the user's package manager (npm/pnpm/yarn/bun)
  • Non-interactive mode with -y flag for CI/scripting

Template (@wso2/oxygen-ui-template)

  • Minimal 3-page starter app (Home, About, Error pages)
  • React 19 + TypeScript + Vite setup
  • Pre-configured OxygenUIThemeProvider with theme switching
  • ESLint with @wso2/eslint-plugin-oxygen-ui rules
  • Claude skill files for AI-assisted development

Usage

# Interactive mode
npm create @wso2/oxygen-ui

# With project name
npm create @wso2/oxygen-ui my-app

# Non-interactive with all defaults
npm create @wso2/oxygen-ui my-app -y

# Skip optional steps
npm create @wso2/oxygen-ui my-app --skip-install --skip-git --no-claude

Test plan

  • Build the CLI package: pnpm build in packages/create-oxygen-ui
  • Test locally with: LOCAL_TEMPLATE_PATH=../oxygen-ui-template node dist/index.js test-app
  • Verify created project structure has all expected files
  • Run npm install && npm run dev in created project
  • Verify Claude files are created when option is selected
  • Test non-interactive mode with -y flag

🤖 Generated with Claude Code

- Add @wso2/create-oxygen-ui: CLI tool to scaffold new Oxygen UI projects
  - Interactive prompts for project name and package name
  - Optional Claude skill files integration (CLAUDE.md + skill file)
  - Automatic git init and dependency installation
  - Supports npm/pnpm/yarn/bun package managers
  - Non-interactive mode with -y flag

- Add @wso2/oxygen-ui-template: Standalone template package
  - Minimal 3-page starter (Home, About, Error pages)
  - React 19 + TypeScript + Vite setup
  - OxygenUIThemeProvider with theme switching
  - ESLint with @wso2/eslint-plugin-oxygen-ui rules
  - Claude skill files for AI-assisted development

Usage: npm create @wso2/oxygen-ui my-app

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jan 16, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@hevayo hevayo changed the title feat: Add create-oxygen-ui CLI for project scaffolding Add create-oxygen-ui CLI for project scaffolding Jan 16, 2026
- Add copy-template.js script that copies samples/oxygen-ui-test-app
- Template is generated during `npm prepack` to stay in sync with sample app
- Remove static template files from git (now generated)
- Transform package.json to replace workspace:* with real versions
- Transform vite.config.ts to remove storybook-specific code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Joseph Fonseka hevayo@gmail.com seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

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.

2 participants