npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@godpeople/gds

v3.1.0

Published

갓피플 콘텐츠 플랫폼 통합 디자인 시스템 — Tailwind 토큰 preset + 순수 CSS + Official GDS React 컴포넌트

Readme

@godpeople/gds

갓피플 콘텐츠 플랫폼 통합 디자인 시스템. user, tong 등 사내 프로젝트가 공통으로 쓰는 색상·타이포그래피 토큰, CSS, Official GDS React 컴포넌트 42개를 배포합니다.

Implementation Source of Truth는 이 저장소가 아닙니다. 실제 컴포넌트 개발은 user 레포의 src/components/v3/gds에서 이루어지고, 이 저장소는 그 원본을 빌드해서 배포용 사본으로 전달만 합니다. 컴포넌트를 여기(dist/)에서 직접 고치지 마세요 — 다음 빌드 때 덮어써집니다.

설치

npm 레지스트리 정식 게시 여부가 아직 확정되지 않아, git 저장소 + 버전 태그 기준으로 설치합니다:

npm install github:jiyoun0712/godpeople-design-system#v3.1.0

Consumer의 package.json에서도 정식 버전 태그를 고정합니다:

{
  "dependencies": {
    "@godpeople/gds": "github:jiyoun0712/godpeople-design-system#v3.1.0"
  }
}

GDS React 컴포넌트 사용

이 패키지는 src/components/v3/gds의 Official Component Inventory에 등록된 42개 컴포넌트를 표준 ESM JS로 빌드해서 dist/components/에 포함합니다. react/react-dom은 패키지에 번들되지 않으므로, Consumer 프로젝트에 이미 설치된 React(17 이상)를 그대로 씁니다.

개별 import (기본 권장)

import GDSButton from '@godpeople/gds/GDSButton';
import GDSCard from '@godpeople/gds/GDSCard';

컴포넌트 하나당 import 하나 — tree-shaking이 번들러 설정에 좌우되지 않고 항상 명확하게 보장됩니다. AI 코딩 에이전트가 "이 import = 이 컴포넌트"로 1:1 대응을 파악하기도 쉽습니다.

Barrel import (편의용, named export)

import { GDSButton, GDSCard } from '@godpeople/gds';

편의를 위해 함께 지원하지만, 번들러의 tree-shaking 설정이 느슨하면 안 쓰는 컴포넌트까지 번들에 딸려 들어갈 수 있습니다 — 가능하면 개별 import를 우선 쓰세요.

컴포넌트를 복사하거나 직접 수정하지 마세요

node_modules/@godpeople/gds/dist/components/의 파일을 프로젝트 안으로 복사해서 쓰거나 그 자리에서 직접 고치지 마세요. 필요한 변경은 GDS Owner(user 레포의 src/components/v3/gds)에 먼저 반영되고, 그 결과가 다음 버전으로 이 패키지에 배포됩니다. Consumer 프로젝트에서 GDS를 "포크"하면 원본과 조용히 갈라져서(props/동작이 달라지는 등) 나중에 되돌리기 어려워집니다.

Tailwind / 토큰 설정 (React 컴포넌트를 쓰려면 필수)

GDS 컴포넌트는 tw- 접두사 Tailwind 유틸리티 클래스를 하드코딩하고 있습니다. tailwind.config.js에 preset을 추가합니다:

module.exports = {
  prefix: 'tw-', // 반드시 유지 — GDS 컴포넌트가 tw- 접두사로 하드코딩되어 있음
  darkMode: 'class',
  presets: [require('@godpeople/gds/tailwind-preset')],
  content: ['./src/**/*.{js,jsx,ts,tsx}', './node_modules/@godpeople/gds/dist/**/*.js'],
};

앱 진입점에서 CSS 변수 정의를 불러옵니다(preset의 var(--color-*) 참조가 실제 값을 가지려면 필수):

import '@godpeople/gds/dist/color-vars.css';

다크모드는 document.documentElement.classList.toggle('dark', isDark) 방식으로 켭니다(html.dark).

Tailwind 없는 프로젝트 / 순수 HTML·CSS (React 컴포넌트 미사용)

<link rel="stylesheet" href="node_modules/@godpeople/gds/dist/tokens.css">
<link rel="stylesheet" href="node_modules/@godpeople/gds/dist/gds.css">

tokens.css가 반드시 gds.css보다 먼저 로드되어야 합니다. .gds-button, .gds-badge 같은 클래스로 컴포넌트 스타일을 직접 조합해서 씁니다. 자세한 클래스 목록은 gds.css 주석과 DESIGN_SYSTEM.md를 참고하세요.

AI 바이브코딩 지원

이 패키지에는 AI 코딩 어시스턴트가 참고할 문서 2개가 포함되어 있습니다:

  • DESIGN_SYSTEM.md — 토큰/컴포넌트 사양 (사람이 읽는 레퍼런스)
  • gds-ai-component-mapping.md — Official Component Inventory + AI가 마크업을 GDS 컴포넌트로 치환할 때 따르는 탐지·변환 규칙(Contract 원본). 개별 컴포넌트를 새로 만들기 전에 이 파일의 Inventory부터 확인하세요.

설치하면 node_modules/@godpeople/gds/에 두 파일이 함께 설치됩니다. 프로젝트의 CLAUDE.md(또는 다른 AI 컨텍스트 파일)에 아래처럼 한 줄만 추가하면 됩니다:

GDS 컴포넌트/토큰 규칙은 node_modules/@godpeople/gds/gds-ai-component-mapping.md 를 따른다.

Consumer 프로젝트 AI 규칙 템플릿

신규 GDS Consumer 프로젝트를 시작할 때는 templates/consumer/AGENTS.md.template / templates/consumer/CLAUDE.md.template을 그 프로젝트의 AGENTS.md / CLAUDE.md로 복사해서 씁니다. 복사 후 {{PROJECT_NAME}}, {{GDS_PACKAGE_NAME}}, {{GDS_CONTRACT_PATH}}, {{GDS_VERSION_SOURCE}}, {{GDS_OWNER_PROJECT}}, {{DOMAIN_COMPONENT_PATH}} placeholder를 프로젝트 환경에 맞게 채웁니다. 컴포넌트별 상세 prop/variant/token 기준은 이 템플릿에 옮겨 적지 않고, 설치된 패키지의 gds-ai-component-mapping.md를 그대로 원본으로 참조합니다.

토큰 체계 안내 (중요 — 두 시스템이 공존합니다)

이 패키지 안에는 이름이 다른 두 개의 색상 변수 체계가 있습니다. 섞어 쓰지 마세요.

| | dist/color-vars.css | dist/tokens.css | | --- | --- | --- | | 변수 이름 | --color-primary, --color-text-primary 등 | --sys-action-primary, --sys-text-primary 등 | | 용도 | tailwind-preset.js/GDS 컴포넌트가 참조하는 실제 값 | Tailwind 없이 gds.css를 쓸 때의 Primitive→Semantic 토큰 | | 언제 쓰나 | Tailwind 프로젝트, GDS React 컴포넌트 사용 시 | 순수 CSS 프로젝트(컴포넌트 미사용) |

두 파일의 실제 색상 값은 거의 동일하지만, 변수 이름 체계가 다르므로 한 프로젝트 안에서 두 방식을 혼용하면 안 됩니다.

빌드 방식 (Owner 전용)

dist/components/*.js와 dist/index.js는 사람이 직접 작성/수정하지 않습니다. npm run build:components(scripts/build-components.mjs)가 user 레포의 src/components/v3/gds(Official Component Inventory 기준)를 읽어 JSX-in-.js 소스를 esbuild로 표준 ESM JS로 변환해서 생성합니다. dist/index.js도 같은 스크립트가 Inventory 목록을 기준으로 자동 생성합니다. 컴포넌트를 추가/수정하려면 이 저장소가 아니라 user 레포의 GDS 원본을 먼저 고치고, 여기서는 빌드만 다시 돌립니다.

버전 관리

  • Semantic Versioning을 따릅니다. 토큰 이름 변경/삭제, 컴포넌트 prop 변경은 major 버전으로 취급합니다.
  • 변경 이력은 DESIGN_SYSTEM.md 하단 "변경 이력" 표를 참고하세요.

유지보수

user, 디자이너가 공동으로 관리합니다. 변경 시 src/components/v3/gds(원본) → scripts/build-components.mjs 빌드 → dist/* / tailwind-preset.js / DESIGN_SYSTEM.md / gds-ai-component-mapping.md를 함께 갱신해야 합니다 — 코드와 문서가 따로 노는 것을 방지하기 위함입니다.