open-index/open-npm huggingface dataset:
npm package: @kstory/core
Description: Core parser and lexer for KStory interactive fiction language
Author: kostayne
Latest version: 1.0.0

# @kstory/core

Core parser and lexer for the KStory interactive fiction language.

## Features

- **Lexer**: Tokenizes KStory source code
- **Parser**: Builds Abstract Syntax Tree (AST) from tokens
- **AST Types**: TypeScript definitions for all AST nodes
- **Error Handling**: Comprehensive error reporting with position information

## Installation

```bash
npm install @kstory/core
# or
pnpm add @kstory/core
```

## Usage

```typescript
import { parseFromSource, Lexer } from '@kstory/core';

// Parse source code directly
const result = parseFromSource(`
== Chapter_One
" Hello, world!
+ Continue
  -> Chapter_Two
`);

console.log(result.program.sections);
console.log(result.issues);

// Use lexer directly
const lexer = new Lexer(sourceCode);
lexer.process();
const tokens = lexer.getTokens();
```

## API

### `parseFromSource(source: string): ParseResult`

Parses KStory source code and returns AST with any parsing issues.

### `Lexer`

Tokenizes source code into tokens.

### Types

- `AstProgram`: Root AST node
- `AstSection`: Story section/chapter
- `AstStatement`: Statement types (Replica, Choice, Goto, Call)
- `AstTag`: Metadata tags
- `ParseResult`: Result of parsing with program and issues

## Development

```bash
# Build
pnpm run build

# Test
pnpm run test

# Lint
pnpm run lint
```
npm package: @kstory/exporter
Description: CLI exporter for KStory interactive fiction language
Author: kostayne
Latest version: 1.0.0

# @kstory/exporter

CLI exporter for the KStory interactive fiction language.

## Installation

```bash
npm install -g @kstory/exporter
```

## Usage

```bash
kstory input.ks
kstory input.ks -o output.json
kstory input.ks --pretty --verbose
kstory input.ks --full
```

## Options

- `-o, --output <path>` - output JSON file path (default: input.json)
- `-p, --pretty` - pretty print JSON output
- `-v, --verbose` - verbose logging
- `-f, --full` - full JSON with position information (for LSP/editors)

## Development

### Local Development

```bash
# Install dependencies
pnpm install

# Build
pnpm run build

# Development mode
pnpm run build:watch

# Testing
pnpm run test

# Linting
pnpm run lint
```

### Publishing

The package is automatically prepared for publishing with interactive version input:

1. **Interactive preparation**: When running `npm publish`, you'll be prompted to enter the @kstory/core version
2. **Version validation**: The script validates semantic version format
3. **Current version display**: Shows current versions of both packages for reference
4. **Manual preparation**: You can manually switch modes

```bash
# Interactive preparation for production (prompts for version)
npm run prepare:prod

# Return to development mode (restores workspace dependencies)
npm run prepare:dev

# Interactive version sync (manual)
npm run sync-versions
```

### Publishing from root project

```bash
# Publish only core
pnpm run publish:core

# Publish only exporter
pnpm run publish:exporter

# Publish all packages
pnpm run publish:all
```

### Example Interactive Process

When you run `npm publish`, you'll see something like this:

```
📦 Preparing to publish @kstory/exporter
📖 Current @kstory/core version: 1.0.0
📋 Current @kstory/exporter version: 1.0.0

🔢 Enter the version for @kstory/core dependency (e.g., 1.0.0, 1.2.3): 1.0.0
✅ Valid version: 1.0.0
✅ Replaced workspace dependency @kstory/core with ^1.0.0
📦 package.json prepared for production
```

## Dependencies

- **Development**: `@kstory/core: workspace:*` (local development)
- **Production**: `@kstory/core: ^1.0.0` (automatically on publish)

## Architecture

- `src/index.ts` - CLI logic and entry point
- `src/exporter.ts` - main export logic
- `src/converter.ts` - converter to full JSON format
- `src/converter-simple.ts` - converter to simple JSON format
- `scripts/prepare-prod.js` - prepare for production
- `scripts/prepare-dev.js` - return to development mode
npm package: @kstory8715/next-common
Description: Nextt.js Common components
Author: ken
Latest version: 0.1.7

# Next Hmall Common
- 명칭은 임시로 작성 되었습니다.
- 추후 변경 될 수 있습니다.


### 정의

1. 주문/전시/기타 서비스에서 사용 될 매체별 공통 컴포넌트를 정의 합니다.

### 프로젝트 구성도
- 기본적으로 폴더 구성은 1차 선도 개발 프레임웍 구조와 동일하게 맞춰나갈 생각입니다.


```
src
 └ components
 └ common                 // 공통
   └ desktop              // PC 공통 컴포넌트
     └ etc                // 기타
     └ order              // 주문
     └ product            // 전시
   └ global               // PC / 모바일에서 공통으로 사용하는 컴포넌트 
   └ mobile               // Mobile 공통 컴포넌트
     └ etc                // 기타
     └ order              // 주문
     └ product            // 전시
 └ interfaces     
 └ modules
 └ index.tsx              // export Component Root
``` 

### Builid

```
npm run build 
or 
yarn build
```

### Publish
- 배포전 반드시 Package.json에서 버전을 변경할 것.
- 버전을 변경하지 않으면 동일한 것으로 간주하여 배포되지 않음.
- 배포전 npm 으로 로그인 할 것.

```
npm login
...

npm publish
```
npm package: @kstory8715/next-common-alpha
Description: Nextt.js Common components
Author: ken
Latest version: 0.1.3

# common-library
### 정의

1. 주문/전시/기타 서비스에서 사용 될 매체별 공통 컴포넌트를 정의 합니다.
2. 이 프로젝트는 Nextjs를 빌드하지 않습니다. 별도의 웹 서비스가 없습니다.
3. 각 공통 컴포넌트 개발 시 개별 브랜치에서 작업한 뒤 부모 저장소로 Merge 하세요.

<br>
### 프로젝트 구성도
- 기본적으로 폴더 구성은 1차 선도 개발 프레임웍 구조와 동일하게 맞춰나갈 생각입니다.

```
src
 └ components
   └ common                 // 공통
     └ desktop              // PC 공통 컴포넌트
       └ etc                // 기타
       └ order              // 주문
       └ product            // 전시
     └ global               // PC / 모바일에서 공통으로 사용하는 컴포넌트 
     └ mobile               // Mobile 공통 컴포넌트
       └ etc                // 기타
       └ order              // 주문
       └ product            // 전시
     layout                 // 레이아웃
     └ desktop              // PC 레이아웃 <변경 예정>
     └ mobile               // Mobile 레이아웃 <변경 예정>
 └ interfaces     
 └ modules
 └ index.tsx              // export Component Root
``` 
<br/>

### Storybook
- 이 프로젝트는 웹 서비스를 포함하지 않습니다.
- 컴포넌트 개발 후 테스트를 위해 Storybook을 사용 합니다.
(https://storybook.js.org/tutorials/intro-to-storybook/react/ko/get-started/)
```
yarn sb
```
<br/>

### Build 주의 사항
- 이 프로젝트는 Nextjs 프로젝트가 아닙니다. (Not CNA)
- JSX식이 포함되는 컴포넌트는 React를 import 하세요.
- Fragment 사용 하지 마세요. 대신 "div" 태그를 사용하세요.

```js
import React from 'react'   // <-- Require

// Build Success
const MyComponent = () => {
  return <h1>hi</h1>
}

export default MyComponent

---

// Build Fail
const MyComponent = () => {
  return <h1>hi</h1>
}

export default MyComponent
```

```js
import React from 'react'

// Build Success
const MyComponent = () => {
  return <h1>hi</h1> 
}

// Build Success
const MyComponent = () => {
  return (
    <div>
      <h1>hi</h1>
    </div>
  )
}

---

import React from 'react'

// Build Fail
const MyComponent = () => {
  return <><h1>hi</h1></>
}

// Build Fail
const MyComponent = () => {
  return (
    <>        // <-- Fragment
      <h1>hi</h1>
    <>
  )
}
```
<br/>
### Builid

```
npm run build 
or 
yarn build
```
<br/>
### Publish
- 배포전 반드시 Package.json에서 버전을 변경할 것.
- 버전을 변경하지 않으면 동일한 것으로 간주하여 배포되지 않음.
- 배포전 npm 으로 로그인 할 것.

```
npm login
...

npm publish
```
npm package: @kstory8715/next-common-alpha2
Description: Nextt.js Common components
Author: ken
Latest version: 0.0.5

# common-library
### 정의

1. 주문/전시/기타 서비스에서 사용 될 매체별 공통 컴포넌트를 정의 합니다.
2. 이 프로젝트는 Nextjs를 빌드하지 않습니다. 별도의 웹 서비스가 없습니다.
3. 각 공통 컴포넌트 개발 시 개별 브랜치에서 작업한 뒤 부모 저장소로 Merge 하세요.

<br>
### 프로젝트 구성도
- 기본적으로 폴더 구성은 1차 선도 개발 프레임웍 구조와 동일하게 맞춰나갈 생각입니다.

```
src
 └ components
   └ common                 // 공통
     └ desktop              // PC 공통 컴포넌트
       └ etc                // 기타
       └ order              // 주문
       └ product            // 전시
     └ global               // PC / 모바일에서 공통으로 사용하는 컴포넌트 
     └ mobile               // Mobile 공통 컴포넌트
       └ etc                // 기타
       └ order              // 주문
       └ product            // 전시
     layout                 // 레이아웃
     └ desktop              // PC 레이아웃 <변경 예정>
     └ mobile               // Mobile 레이아웃 <변경 예정>
 └ interfaces     
 └ modules
 └ index.tsx              // export Component Root
``` 
<br/>

### Storybook
- 이 프로젝트는 웹 서비스를 포함하지 않습니다.
- 컴포넌트 개발 후 테스트를 위해 Storybook을 사용 합니다.
(https://storybook.js.org/tutorials/intro-to-storybook/react/ko/get-started/)
```
yarn sb
```
<br/>

### Build 주의 사항
- 이 프로젝트는 Nextjs 프로젝트가 아닙니다. (Not CNA)
- JSX식이 포함되는 컴포넌트는 React를 import 하세요.
- Fragment 사용 하지 마세요. 대신 "div" 태그를 사용하세요.

```js
import React from 'react'   // <-- Require

// Build Success
const MyComponent = () => {
  return <h1>hi</h1>
}

export default MyComponent

---

// Build Fail
const MyComponent = () => {
  return <h1>hi</h1>
}

export default MyComponent
```

```js
import React from 'react'

// Build Success
const MyComponent = () => {
  return <h1>hi</h1> 
}

// Build Success
const MyComponent = () => {
  return (
    <div>
      <h1>hi</h1>
    </div>
  )
}

---

import React from 'react'

// Build Fail
const MyComponent = () => {
  return <><h1>hi</h1></>
}

// Build Fail
const MyComponent = () => {
  return (
    <>        // <-- Fragment
      <h1>hi</h1>
    <>
  )
}
```
<br/>
### Builid

```
npm run build 
or 
yarn build
```
<br/>
### Publish
- 배포전 반드시 Package.json에서 버전을 변경할 것.
- 버전을 변경하지 않으면 동일한 것으로 간주하여 배포되지 않음.
- 배포전 npm 으로 로그인 할 것.

```
npm login
...

npm publish
```