원클릭으로
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)).