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