open-index/open-npm huggingface dataset:
npm package: @kyoofus/kyotool-userinfo
Description: `kyotool-userinfo`는 TypeScript로 작성된 간단한 CLI 도구입니다. 사용자 ID를 입력하면 랜덤한 사용자 프로필을 생성해 JSON 형식으로 출력합니다.
Latest version: 0.0.1

# kyotool-userinfo

`kyotool-userinfo`는 TypeScript로 작성된 간단한 CLI 도구입니다. 사용자 ID를 입력하면 랜덤한 사용자 프로필을 생성해 JSON 형식으로 출력합니다.

- 알아야 할 지식:
  - bin script
  - pnpm
  - CLI
  - 이 프로젝트에는 사용되지 않았지만 Daemon을 만들기 위해서는 spawn을 사용해야 합니다. 

> Post Build는 구현하지 않았습니다. 


## 프로젝트 개요

- CLI 진입점은 [src/cli/cli.ts](src/cli/cli.ts)입니다.
- 실제 사용자 프로필 생성 로직은 [src/connector/server.ts](src/connector/server.ts)에 있습니다.
- 빌드 후 산출물은 `dist` 디렉터리에 생성됩니다.
- 패키지 매니저는 `pnpm`을 사용합니다.

## 프로젝트 구조

```text
.
├── package.json
├── pnpm-lock.yaml
├── README.md
├── tsconfig.json
├── tsup.config.ts
└── src/
	├── postBuild.ts
	├── cli/
	│   └── cli.ts
	└── connector/
		└── server.ts
```

## 빌드 후 생성 파일

`pnpm build`를 실행하면 `tsconfig.json`의 `outDir` 설정에 따라 `dist` 아래에 다음 파일들이 생성됩니다.

- `dist/postBuild.js`, `dist/postBuild.d.ts`
- `dist/cli/cli.js`, `dist/cli/cli.d.ts`
- `dist/connector/server.js`, `dist/connector/server.d.ts`

패키지의 실행 파일은 [package.json](package.json)의 `bin` 설정에 따라 `dist/cli/cli.js`를 가리킵니다. 즉, 패키지를 전역 설치하거나 `pnpm exec`로 실행할 때 `kyotool-userinfo` 명령이 이 파일을 직접 호출합니다.

## 요구 사항

- Node.js 20 이상 권장
- pnpm

## 설치

의존성을 설치합니다.

```bash
pnpm install
```

## 실행 방법

개발 중에는 빌드 후 생성된 실행 파일을 사용할 수 있습니다.

```bash
pnpm build
node dist/cli/cli.js --user 12345
```

pnpm이 로컬 bin을 연결한 상태라면 아래처럼 실행할 수도 있습니다.

```bash
pnpm exec kyotool-userinfo --user 12345
```

입력값이 없으면 도움말이 표시됩니다.

## 전역 설치 및 테스트

로컬 저장소를 전역으로 설치한 뒤 명령어가 정상 동작하는지 확인할 수 있습니다.

```bash
pnpm build
pnpm add -g "$(pwd)//home/kyoofus/src/kyotool-userinfo"
kyotool-userinfo --user 12345
```
* 설치 시 절대경로를 사용합니다. 

설치된 전역 패키지를 제거하려면 다음 명령을 사용합니다.

```bash
pnpm remove -g @kyoofus/kyotool-userinfo
```

## 빌드

TypeScript 컴파일을 수행합니다.

```bash
pnpm build
```

빌드가 끝나면 `dist` 아래에 JavaScript 출력물이 생성됩니다.

## 정리

빌드 산출물을 삭제합니다.

```bash
pnpm clean
```

## 테스트

현재 저장소에는 별도의 자동 테스트 스크립트가 정의되어 있지 않습니다. 대신 다음 방법으로 동작을 확인할 수 있습니다.

```bash
pnpm build
node dist/cli/cli.js --user 12345
```

## 출력 예시

```json
{
	"userId": "12345",
	"name": "Min Kim",
	"email": "min.kim@example.com",
	"age": 27,
	"role": "member",
	"location": "Seoul",
	"createdAt": "2026-03-24T00:00:00.000Z"
}
```

실제 `name`, `email`, `age`, `role`, `location`, `createdAt` 값은 실행할 때마다 달라집니다.