You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+61-27Lines changed: 61 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,52 +2,69 @@
2
2
3
3
This file provides guidance to AI coding agents working in this repository.
4
4
5
-
## Project Overview
5
+
## Project Context
6
6
7
-
AI/ML 용어집 - An open-source glossary that standardizes Korean translations for AI/ML terminology. Operated by PyTorchKR (파이토치 한국 사용자 모임). Currently in PoC stage; all term data is AI-generated draft pending community review.
7
+
AI/ML 용어집 - 빠르게 변화하는 AI/ML 분야의 용어를 표준화하여 사람과 AI 번역 도구 모두가 일관된 한국어 번역을 사용할 수 있도록 하는 오픈소스 프로젝트. 파이토치 한국 사용자 모임(PyTorchKR) 운영. 현재 PoC 단계이며, 수록된 용어 데이터는 AI 생성 초안.
npm run dev # Dev server at http://localhost:5173 (auto-copies data/ to public/data/)
15
+
npm run dev # Dev server (http://localhost:5173), auto-copies data/ to public/data/
16
16
npm run build # TypeScript check + Vite production build
17
17
npm run lint # ESLint
18
18
npm run preview # Preview production build
19
19
```
20
20
21
+
No test framework is configured. Validation runs in CI via inline Node script in `.github/workflows/deploy.yml`.
22
+
21
23
## Architecture
22
24
23
-
Static SPA (React 19 + TypeScript + Vite + MUI v7). No backend. All term data is JSON fetched at runtime from `public/data/`.
25
+
Static SPA for AI/ML Korean terminology glossary. No backend; all data is JSON fetched at runtime.
26
+
27
+
**Stack**: React 19 + TypeScript + Vite + MUI v7, deployed to GitHub Pages (`poc.terms.kr`).
28
+
29
+
**Routing** (`App.tsx`): HashRouter with lazy-loaded pages.
30
+
-`/` -> `SearchPage` (search + alphabet filter)
31
+
-`/term/:termId` -> `TermDetailPage` (accordion per meaning, related terms)
32
+
-`/about` -> `AboutPage`
33
+
34
+
**Data flow**: `data/index.json` lists alphabet JSON files (`a.json`..`w.json`). At build time, `prebuild` copies `data/` -> `public/data/`. At runtime, `loadTerms.ts` fetches all files in parallel via `Promise.all`, flattens, and sorts. The `useTerms` hook caches this; `useSearch` debounces (200ms) and filters across `term`, `korean`, `synonyms`.
issueNumber?:number// GitHub Issue number for traceability
54
+
notes?:string// Editorial notes (why this translation was chosen)
55
+
}
42
56
```
43
57
44
-
## Adding/Editing Terms
58
+
**Examples format**: Prefer `TermExample` objects (`{en, ko, source?}`) over plain strings. Both are supported. `TermDetailPage` uses `isTermExample()` type guard to render accordingly.
59
+
60
+
**Optional fields**: `issueNumber` links to the GitHub Issue where the term was discussed. `notes` provides editorial context. Both are set automatically by the co-author workflow, or manually when adding terms via PR.
61
+
62
+
## Adding New Terms
45
63
46
-
1. Edit `data/{letter}.json` (alphabetical)
47
-
2. New letter file → add to `data/index.json`
48
-
3. Required fields: `korean`, `domain` (no spaces), `definition`
**Helper script**: `scripts/update-term-from-issue.mjs` handles collision detection (create/append/warn-on-duplicate) and sets `issueNumber` on the term.
`.github/workflows/deploy.yml`: On push to `poc`, validates term data -> builds -> deploys to GitHub Pages. The validation step checks all JSON files for required fields, TermExample structure, and optional field types (`issueNumber`, `notes`).
89
+
90
+
`.github/workflows/term-coauthor.yml`: Co-author workflow (see above).
91
+
92
+
## LLM Integration
93
+
94
+
-`public/llms.txt`: [llmstxt.org](https://llmstxt.org/) standard guidance file for LLMs. Includes project overview, links to all data files, and data structure documentation. Available at `poc.terms.kr/llms.txt` after deployment.
95
+
- JSON data is discoverable via `poc.terms.kr/data/index.json`, with each alphabet file accessible directly.
65
96
66
-
## Testing
97
+
## Branding
67
98
68
-
No test framework configured. Validation is done via inline Node script in CI. When editing data, verify with `npm run build` which runs TypeScript checking.
99
+
- Project name: "AI/ML 용어집"
100
+
- Organization: "파이토치 한국 사용자 모임" (full) / "PyTorchKR" (short)
0 commit comments