ワンクリックで
nachui-cli-development
Use when modifying or extending CLI commands, prompts, build configurations, or API integrations in packages/cli.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use when modifying or extending CLI commands, prompts, build configurations, or API integrations in packages/cli.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use when creating, modifying, or refactoring React components in the packages/ui directory of NachUI.
Use when building, extending, or consuming compound components — components made of multiple sub-parts assembled via dot notation (e.g. Dialog.Trigger, Card.Header, Accordion.Item).
Use when styling, designing, or adjusting UI layout, colors, variables, typography, and visual assets in NachUI.
Use when modifying documentation pages, routing, next-intl translations, MDX schemas, or AI functionality in apps/docs.
Use when writing or running automated tests inside packages/ui or verify regressions in NachUI.
Use when consuming, importing, or integrating NachUI components inside apps/web or any app that depends on @repo/ui.
| name | nachui-cli-development |
| description | Use when modifying or extending CLI commands, prompts, build configurations, or API integrations in packages/cli. |
You are modifying or expanding the official NachUI Command Line Interface (packages/cli). The CLI uses Commander for commands, Clack for prompts, and Kleur for console styling.
src/index.ts: The CLI entry point that configures Commander and routes arguments.src/commands/: Individual command implementations:
src/lib/: Common utilities:
npm, pnpm, yarn, bun).Always run CLI build and check scripts from the root directory using workspace filters:
# Run typescript type check
pnpm --filter @repo/cli type-check
# Compile CLI into dist using tsup (generates ESM/CJS bundles)
pnpm --filter @repo/cli build
# Start compiler in watch mode for development
pnpm --filter @repo/cli dev
New commands must be added to the Commander instance in src/index.ts and their logic defined under src/commands/.
import { Command } from 'commander'
const program = new Command()
program.name('nachui').description('Official CLI for NachUI').version('1.0.0')
program
.command('my-command')
.description('Explain command actions')
.argument('[arg]', 'Optional command argument')
.option('-f, --force', 'Force execution')
.action(async (arg, options) => {
// Import execution logic dynamically to keep startup fast
const { myCommandAction } = await import('./commands/my-command')
await myCommandAction(arg, options)
})
When designing user-facing console interfaces:
intro() and outro() statements.kleur.dim() for secondary advice or descriptions.kleur.green() or kleur.cyan().kleur.red() for failure states.import * as p from '@clack/prompts'
import kleur from 'kleur'
export async function myCommandAction() {
p.intro(kleur.cyan('NachUI Command'))
const result = await p.text({
message: 'Enter input details:',
placeholder: 'e.g., button',
validate: (value) => {
if (!value) return 'Value is required!'
},
})
if (p.isCancel(result)) {
p.cancel('Operation cancelled.')
process.exit(0)
}
const s = p.spinner()
s.start('Running task...')
// do work
s.stop(kleur.green('Task complete!'))
p.outro(kleur.cyan('Done!'))
}
p.isCancel(value) checks after every Clack prompt to exit cleanly when a user presses Ctrl+C.kleur.red() before terminating the process with a non-zero exit code (process.exit(1)).