Skip to content

comneed/abiy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Abiy - LLM-Friendly Documentation Toolkit

JSON 데이터λ₯Ό LLM-friendly λ§ˆν¬λ‹€μš΄μœΌλ‘œ λ³€ν™˜ν•˜λŠ” ν…œν”Œλ¦Ώ 기반 도ꡬ λͺ¨μŒ

πŸ“¦ νŒ¨ν‚€μ§€

이 λͺ¨λ…Έλ ˆν¬λŠ” λ‹€μŒ νŒ¨ν‚€μ§€λ“€μ„ ν¬ν•¨ν•©λ‹ˆλ‹€:

JSON 데이터λ₯Ό LLM-friendly λ§ˆν¬λ‹€μš΄μœΌλ‘œ λ³€ν™˜ν•˜λŠ” ν…œν”Œλ¦Ώ 기반 생성기

  • 🌐 λΈŒλΌμš°μ €μ™€ Node.js λͺ¨λ‘ 지원
  • πŸ“ Liquid ν…œν”Œλ¦Ώ 문법 지원
  • 🎨 ν…œν”Œλ¦Ώ μ‘°ν•© κΈ°λŠ₯ (partials, layouts)
  • πŸš€ TypeScript μ™„λ²½ 지원
  • ⚑ Next.js, React, Vue, NestJS λ“± λͺ¨λ“  ν”„λ ˆμž„μ›Œν¬ ν˜Έν™˜
npm install @comneed/textby

곡유 ESLint μ„€μ • λͺ¨μŒ

  • @comneed/eslint-config/library - 라이브러리용
  • @comneed/eslint-config/next - Next.js용
  • @comneed/eslint-config/react-internal - React λ‚΄λΆ€μš©

곡유 TypeScript μ„€μ • λͺ¨μŒ

  • base.json - κΈ°λ³Έ μ„€μ •
  • nextjs.json - Next.js ν”„λ‘œμ νŠΈμš©
  • react-library.json - React 라이브러리용

πŸš€ λΉ λ₯Έ μ‹œμž‘

사전 μš”κ΅¬μ‚¬ν•­

  • Node.js 18 이상
  • pnpm 8.15.6 이상

μ„€μΉ˜

# μ˜μ‘΄μ„± μ„€μΉ˜
pnpm install

# λͺ¨λ“  νŒ¨ν‚€μ§€ λΉŒλ“œ
pnpm build

# 개발 λͺ¨λ“œλ‘œ λͺ¨λ“  μ•± μ‹€ν–‰
pnpm dev

πŸ“ ν”„λ‘œμ νŠΈ ꡬ쑰

abiy/
β”œβ”€β”€ packages/              # 곡유 νŒ¨ν‚€μ§€
β”‚   β”œβ”€β”€ textby/           # 메인 라이브러리
β”‚   β”œβ”€β”€ eslint/           # ESLint μ„€μ •
β”‚   └── tsconfig/         # TypeScript μ„€μ •
β”‚
β”œβ”€β”€ examples/             # 예제 μ• ν”Œλ¦¬μΌ€μ΄μ…˜
β”‚   β”œβ”€β”€ nextjs-app/       # Next.js + TextBy 톡합
β”‚   β”œβ”€β”€ nestjs-app/       # NestJS + TextBy 톡합
β”‚   β”œβ”€β”€ react-app/        # React SPA 예제
β”‚   └── vue-app/          # Vue SPA 예제
β”‚
└── apps/                 # ν”„λ‘œλ•μ…˜ μ•± (선택사항)

πŸ’» 예제 μ• ν”Œλ¦¬μΌ€μ΄μ…˜

각 μ˜ˆμ œλŠ” TextByλ₯Ό λ‹€μ–‘ν•œ ν™˜κ²½μ—μ„œ μ‚¬μš©ν•˜λŠ” 방법을 λ³΄μ—¬μ€λ‹ˆλ‹€.

Next.js 예제

cd examples/nextjs-app
pnpm dev
# http://localhost:3002 접속
# http://localhost:3002/llms.txt μ—μ„œ μƒμ„±λœ λ§ˆν¬λ‹€μš΄ 확인

μ£Όμš” κΈ°λŠ₯:

  • App Router μ‚¬μš©
  • 파일 기반 ν…œν”Œλ¦Ώ
  • JSON 데이터 μžλ™ λ‘œλ”©
  • 정적 생성 (force-static)

NestJS 예제

cd examples/nestjs-app
pnpm dev
# http://localhost:3005 접속
# http://localhost:3005/llms.txt μ—μ„œ API λ¬Έμ„œ 확인

μ£Όμš” κΈ°λŠ₯:

  • Controllerμ—μ„œ TextBy μ‚¬μš©
  • API λ¬Έμ„œ μžλ™ 생성
  • 파일 기반 ν…œν”Œλ¦Ώ

React SPA 예제

cd examples/react-app
pnpm dev
# http://localhost:3003 접속

μ£Όμš” κΈ°λŠ₯:

  • λΈŒλΌμš°μ € ν™˜κ²½μ—μ„œ λ™μž‘
  • 인메λͺ¨λ¦¬ ν…œν”Œλ¦Ώ
  • ν…œν”Œλ¦Ώ μ‘°ν•© (partials)
  • μ‹€μ‹œκ°„ λ§ˆν¬λ‹€μš΄ 생성

Vue SPA 예제

cd examples/vue-app
pnpm dev
# http://localhost:3004 접속

μ£Όμš” κΈ°λŠ₯:

  • Vue 3 Composition API
  • λ°˜μ‘ν˜• λ§ˆν¬λ‹€μš΄ 생성
  • 인메λͺ¨λ¦¬ ν…œν”Œλ¦Ώ

πŸ› οΈ 개발

νŒ¨ν‚€μ§€ λΉŒλ“œ

# λͺ¨λ“  νŒ¨ν‚€μ§€ λΉŒλ“œ
pnpm build

# νŠΉμ • νŒ¨ν‚€μ§€λ§Œ λΉŒλ“œ
pnpm build --filter=@comneed/textby

개발 λͺ¨λ“œ

# λͺ¨λ“  νŒ¨ν‚€μ§€λ₯Ό watch λͺ¨λ“œλ‘œ μ‹€ν–‰
pnpm dev

# νŠΉμ • νŒ¨ν‚€μ§€λ§Œ watch
pnpm dev --filter=@comneed/textby

ν…ŒμŠ€νŠΈ

# TextBy ν…ŒμŠ€νŠΈ μ‹€ν–‰
cd packages/textby
pnpm test

린트

# λͺ¨λ“  νŒ¨ν‚€μ§€ 린트
pnpm lint

# νŠΉμ • νŒ¨ν‚€μ§€λ§Œ 린트
pnpm lint --filter=@comneed/textby

ν¬λ§·νŒ…

pnpm format

πŸ“ νŒ¨ν‚€μ§€ 배포

이 ν”„λ‘œμ νŠΈλŠ” Changesetsλ₯Ό μ‚¬μš©ν•˜μ—¬ 버전 관리와 배포λ₯Ό μˆ˜ν–‰ν•©λ‹ˆλ‹€.

1. Changeset 생성

변경사항이 μžˆμ„ λ•Œ changeset을 μƒμ„±ν•©λ‹ˆλ‹€:

pnpm changeset

λŒ€ν™”ν˜• ν”„λ‘¬ν”„νŠΈκ°€ λ‚˜νƒ€λ‚˜λ©΄:

  1. λ³€κ²½ν•  νŒ¨ν‚€μ§€ 선택 (μŠ€νŽ˜μ΄μŠ€λ°”λ‘œ 선택)
  2. 버전 νƒ€μž… 선택 (patch/minor/major)
  3. 변경사항 μš”μ•½ μž‘μ„±

2. 버전 μ—…λ°μ΄νŠΈ

pnpm version-packages

이 λͺ…λ Ήμ–΄λŠ”:

  • 각 νŒ¨ν‚€μ§€μ˜ package.json 버전 μ—…λ°μ΄νŠΈ
  • CHANGELOG.md μžλ™ 생성/μ—…λ°μ΄νŠΈ
  • changeset 파일 제거

3. npm 배포

pnpm release

λ˜λŠ” μˆ˜λ™μœΌλ‘œ:

# λΉŒλ“œ
pnpm build --filter=@comneed/textby

# 배포
cd packages/textby
pnpm publish --access public

πŸ—οΈ 기술 μŠ€νƒ

  • λΉŒλ“œ 도ꡬ: Turborepo
  • νŒ¨ν‚€μ§€ κ΄€λ¦¬μž: pnpm
  • 버전 관리: Changesets
  • μ–Έμ–΄: TypeScript
  • λ²ˆλ“€λŸ¬: tsup
  • ν…ŒμŠ€νŠΈ: Vitest

πŸ“š λ¬Έμ„œ

🀝 κΈ°μ—¬ν•˜κΈ°

  1. 이 μ €μž₯μ†Œλ₯Ό Fork
  2. Feature 브랜치 생성 (git checkout -b feature/amazing-feature)
  3. 변경사항 컀밋 (git commit -m 'Add amazing feature')
  4. λΈŒλžœμΉ˜μ— Push (git push origin feature/amazing-feature)
  5. Pull Request 생성

πŸ“„ λΌμ΄μ„ μŠ€

MIT

πŸ”— κ΄€λ ¨ 링크

  • llmstxt.org - LLM-friendly λ¬Έμ„œ ν‘œμ€€
  • LiquidJS - ν…œν”Œλ¦Ώ μ—”μ§„
  • Turborepo - λͺ¨λ…Έλ ˆν¬ 도ꡬ

πŸ’‘ μ‚¬μš© 사둀

LLM Context 제곡

AI μ–΄μ‹œμŠ€ν„΄νŠΈκ°€ λ‹Ήμ‹ μ˜ ν”„λ‘œμ νŠΈλ₯Ό 이해할 수 μžˆλ„λ‘ /llms.txt μ—”λ“œν¬μΈνŠΈλ₯Ό μ œκ³΅ν•˜μ„Έμš”.

API λ¬Έμ„œ μžλ™ 생성

OpenAPI μŠ€νŽ™μ΄λ‚˜ JSON λ°μ΄ν„°λ‘œλΆ€ν„° 읽기 μ‰¬μš΄ API λ¬Έμ„œλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

포트폴리였 μ‚¬μ΄νŠΈ

개인 정보λ₯Ό JSON으둜 κ΄€λ¦¬ν•˜κ³  λ§ˆν¬λ‹€μš΄μœΌλ‘œ λ³€ν™˜ν•˜μ—¬ λ‹€μ–‘ν•œ ν”Œλž«νΌμ— λ°°ν¬ν•˜μ„Έμš”.

릴리슀 λ…ΈνŠΈ

λ³€κ²½ 둜그λ₯Ό κ΅¬μ‘°ν™”λœ λ°μ΄ν„°λ‘œ κ΄€λ¦¬ν•˜κ³  보기 쒋은 λ§ˆν¬λ‹€μš΄μœΌλ‘œ μƒμ„±ν•©λ‹ˆλ‹€.

πŸ™‹ FAQ

Q: λΈŒλΌμš°μ €μ—μ„œ 파일 μ‹œμŠ€ν…œμ„ μ‚¬μš©ν•  수 μžˆλ‚˜μš”?

A: μ•„λ‹ˆμš”. λΈŒλΌμš°μ € ν™˜κ²½μ—μ„œλŠ” 인라인 ν…œν”Œλ¦Ώ λ¬Έμžμ—΄μ΄λ‚˜ 인메λͺ¨λ¦¬ ν…œν”Œλ¦Ώμ„ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

Q: μ–΄λ–€ ν…œν”Œλ¦Ώ 문법을 μ§€μ›ν•˜λ‚˜μš”?

A: LiquidJS 문법을 μ§€μ›ν•©λ‹ˆλ‹€. λ³€μˆ˜, 반볡문, 쑰건문, ν•„ν„° 등을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Q: Next.jsμ—μ„œ 정적 생성이 κ°€λŠ₯ν•œκ°€μš”?

A: λ„€! export const dynamic = 'force-static'을 μ‚¬μš©ν•˜λ©΄ λΉŒλ“œ μ‹œμ— 정적 파일둜 μƒμ„±λ©λ‹ˆλ‹€.

Q: μ»€μŠ€ν…€ ν•„ν„°λ₯Ό λ§Œλ“€ 수 μžˆλ‚˜μš”?

A: λ„€! textby.registerFilter()λ₯Ό μ‚¬μš©ν•˜μ—¬ μ»€μŠ€ν…€ ν•„ν„°λ₯Ό 등둝할 수 μžˆμŠ΅λ‹ˆλ‹€.


Made with ❀️ for better LLM integration

About

LLM-Friendly Documentation Toolkit

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors